Route Prefix: /admin
Access: Cloudflare Access (prod), token (dev)
Core flows
Dashboard
- Quick links to Events, Results, Import, Settings
- At-a-glance: next events, top floors, last import
Events management
- Search + filter by day/sport
- Create/edit: title, sport, description, location, start/end, capacity, form_url, source_label
- Links: “View public page” + “Open Google Form”
Results entry
- Pick event → enter floor rows
- Medal buttons auto-apply placement + points
- Confirmation before save
- Undo last save
CSV import
- Upload Google Forms CSV export
- Preview first rows before commit
- Store raw submissions + import run stats
Submissions review
- Search by name/email/room
- Delete invalid rows
Admin protection
- Protect
/admin*with Cloudflare Access (email allowlist). - Protect
/api/admin*with Access and/orX-Admin-Token.