Commit Graph

7 Commits

Author SHA1 Message Date
36474d3525 Load all competition emblems upfront so picker shows logos immediately
Previously emblems were only cached after visiting each competition.
Now a single /api/competitions fetch on mount populates all emblems
at once, including the initially selected button.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 06:45:27 +01:00
0209aa806e Show clear error message on API rate limit (429)
Free plan allows 10 requests/min; show a Dutch user-friendly message
instead of a generic API error.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 06:41:15 +01:00
c0ca5b9072 Disable Championship and Brasileirão from competition picker
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 06:33:05 +01:00
90149d62e9 Disable EC and WC from competition picker
Tournament competitions don't have regular standings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-15 06:29:34 +01:00
26b1779354 Add package-lock.json for reproducible Docker builds
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 20:04:35 +01:00
5db020132e Add Docker + nginx deployment for homelab
- Multi-stage Dockerfile: Node builds static assets, nginx serves them
- nginx proxies /api/* to football-data.org and injects X-Auth-Token
  server-side via FOOTBALL_API_KEY env var (key never in browser bundle)
- docker-compose.yml exposes the app on port 3000
- Extract apiFetch() helper: sends key in dev (Vite proxy), skips in prod
- .env.example updated with both dev and production key vars

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 07:40:20 +01:00
d8fba41ea5 Initial commit: football competition standings viewer
Vite + React app using football-data.org API to display standings
and match details for 12 competitions. Supports competition switching,
team match history modal, and Vite proxy to handle CORS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-14 07:33:50 +01:00