feat: add dark mode, telemetry, and curl to Docker image
All checks were successful
CVE Scan & Docker Build / security-scan (push) Successful in 44s
CVE Scan & Docker Build / build-and-push (push) Successful in 1m10s

- Install `curl` in Dockerfile for healthcheck/tooling support
- Add class-based dark mode via Tailwind `@custom-variant` and a
  pre-paint `<script>` in `app.html` to avoid theme flash on load
- Implement theme toggle in layout with system preference detection,
  `localStorage` persistence, and smooth transitions
- Update all UI components with `dark:` variants for full dark mode
  support across backgrounds, borders, and text colours
- Add `sendTelemetry` helper in `api.ts` for fire-and-forget
  client-side error reporting to `/api/v1/telemetry`
This commit is contained in:
2026-04-16 06:31:13 -04:00
parent 18710515d8
commit eb461f40ee
13 changed files with 304 additions and 109 deletions

30
.env.example Normal file
View File

@@ -0,0 +1,30 @@
# Nike — Football Data Platform
# Copy to .env and fill in your values. Never commit .env.
# ── TheSportsDB ──────────────────────────────────────────
# Free test key is '3' (limited). Get a premium key at https://www.patreon.com/thesportsdb
NIKE_SPORTSDB_KEY=3
# ── Database ──────────────────────────────────────────────
NIKE_DB_HOST=localhost
NIKE_DB_PORT=5432
NIKE_DB_USER=nike
NIKE_DB_PASSWORD=
NIKE_DB_NAME=nike
# ── Server ────────────────────────────────────────────────
NIKE_HOST=0.0.0.0
NIKE_PORT=8000
NIKE_LOG_LEVEL=WARNING
# IPs allowed to set X-Forwarded-* headers (your HAProxy host).
# '*' is safe when Nike's port is firewalled to HAProxy only.
NIKE_TRUSTED_PROXY=*
# ── Followed teams ────────────────────────────────────────
# Comma-separated list of "Team Name:League Name" pairs.
NIKE_TEAMS=Toronto FC:MLS, Arsenal:Premier League
# ── Legacy (not active) ───────────────────────────────────
# NIKE_RAPIDAPI_KEY=
# NIKE_API_FOOTBALL_KEY=