Frontend
Das Frontend ist eine React/Vite-Anwendung.
Lokal
Im lokalen Docker-Setup startet das Frontend mit Vite-Hot-Reload. Der Vite-Dev-Server aktiviert den lokalen /api-Proxy auf das Backend.
Frontend-Änderungen brauchen im Normalfall keinen Image-Rebuild.
Server
Im Servermodus ist der fertige Frontend-Container ein Nginx-Container und enthält kein npm. Er liefert nur die SPA aus; API-Routing übernimmt der zentrale Reverse Proxy.
Neue public-Assets, zum Beispiel E-Mail-Bilder, werden erst nach einem Frontend-Image-Rebuild im Nginx-Container ausgeliefert.
Auth und Session-Verhalten
- Die Web-Session läuft über
HttpOnly-Cookies. - Das Frontend speichert kein JWT im
localStorage. - Nach Steam-Login wird das Inventar automatisch synchronisiert.
- Beim Betreten des Inventar-Tabs läuft automatisch ein Steam-Inventar-Sync, wenn der letzte Auto-Sync in der aktuellen Browser-Session älter als 10 Minuten ist.
- Der frühere manuelle
Sync Steam-Button im Inventar ist bewusst entfernt.
Admin-Bereich
Im Frontend erscheint für Admins ein eigener Menüpunkt Admin. Dort sind aktuell verlinkt:
Stripe Wallet DebugWallet Ledger VerifyBot Inspect Debug
Der Menüpunkt wird nur angezeigt, wenn der angemeldete Nutzer role = admin hat. Die zugehörigen Backend-Endpoints prüfen zusätzlich serverseitig requireAuth plus Admin-Rolle.