Returns next tippable match (hero), user rank/points from leaderboard,
consecutive-tip streak, and up to 3 contextual nudges in one request.
Mounts at /api/dashboard; adds getDashboard() + DashboardData type to
the frontend API client.
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>
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>