Fixed bottom nav with Home/Spiele/Rangliste/Profil tabs.
Desktop keeps header nav. Admin hidden behind gear icon.
Main content padded to avoid overlap with bottom nav.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Strips all insight/agent state, fetchInsight() SSE function, audio playback
logic, and the insightWrapper JSX block that called /api/agent/* routes.
Also removes the matchHeader/groupBadge and kickoffBlock from the modal
(info already visible on the match card). Cleans all corresponding CSS.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Im Dev-Modus wurde der devUser Query-Parameter aus der Browser-URL
nicht an die Backend-API-Calls weitergegeben. Dadurch liefen alle
Requests immer als devUser=1 (Ronny), unabhängig vom gewählten User.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Glanz-Overlay auf 55% angehoben, inset-Highlight und Border ergänzt
für MatchCard flagBox, TipModal flagLarge und pickerBtn.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Statt Credentials im Workflow hardcoden:
- Compose-File und Env-Vars werden zur Laufzeit aus Portainer gelesen
- Einziges Secret im Workflow: PORTAINER_TOKEN
- Keine sensiblen Daten mehr in git-versionierten Dateien
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Helmet CSP: upgrade-insecure-requests und HSTS für HTTP-Deployments deaktiviert
(war die Ursache der leeren Seite - Browser versuchte JS über HTTPS zu laden)
- Backend: statische Dateien werden jetzt in allen NODE_ENV-Modi serviert
- Frontend: IS_DEV erkennt auch VITE_TEST_MODE=true (Build-Zeit Variable)
- Dockerfile: VITE_TEST_MODE=true beim Vite-Build, NODE_ENV=development
- docker-compose.yml: NODE_ENV=development, CORS_ORIGIN=*
- Gitea Workflow: Auth-Token für git clone, Build via Portainer API statt lokaler Docker CLI
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CSS modules and Vite types not available during tsc check.
Vite build works without prior tsc step.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
actions/checkout@v4 needs Node.js which isn't available in host mode.
Use git clone directly instead.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Multi-stage build: frontend (Vite) + backend (TypeScript) in one container.
Production image based on node:20-alpine with health check.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Remove node_modules/, .DS_Store, .vscode/ and build output from
git tracking. Adds .gitignore to prevent future accidental commits
of dependencies and generated files.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>