# RTSport Polish Sprint โ€” May 6-12 ## Sprint Goal Ship RTSport v1.0 โ€” polished, production-ready dashboards for all roles. ## Schedule | Day | Focus | Owner | |-----|-------|-------| | **Wed (Today)** | ๐ŸŽจ **Polish Sweep** โ€” Nav consistency, Coach Status, Parent+AD nav | Daedalus | | **Thu** | ๐Ÿ›  **Systemd service** โ€” auto-restart on boot | Matt + Wadsworth | | **Fri** | ๐ŸŽจ **UX pass** โ€” Loading states, error retry, pull-to-refresh | Daedalus | | **Mon** | ๐Ÿงช **Integration test** โ€” End-to-end play session | Wadsworth | | **Tue** | ๐Ÿ› **Bug bash** โ€” Fix integration test findings | Wadsworth + Daedalus | | **Wed** | ๐Ÿšข **Ship v1.0** โ€” Clean up, tag release | Wadsworth | --- # Polish Sweep โ€” Daedalus Task **Source:** POLISH.md (this file) + existing templates at `shared/build-20260501/frontend/templates/` **Backend:** RTSport API running at localhost:8001, proxied through https://hoffdesk.com/api/v1/ **Design tokens:** Below **Build directory:** `shared/build-20260501/` **Role templates to edit in-place.** ## 1. Bottom Nav Visual Consistency All four dashboards (AT, Coach, Parent, AD) need a unified bottom nav. Current state: ### AT Dashboard โœ… Wired โ€” needs visual polish - Current: `dashboard-tabs.css` + `dashboard-tabs.js` - Icons are inline SVGs of varying styles - Active state: just a color change โ€” add subtle indicator (underline, dot, or animated bar) - "New Entry" tab needs distinctive treatment (green or accent highlight over red/sport colors) ### Coach Dashboard โœ… Nav exists โ€” needs visual pass - Current tabs: Roster (wired), Status (placeholder toast), Messages (placeholder toast) - Proposed: Roster ยท Status ยท Messages (3 tabs, no Timeline) - **Status tab** should show summary: "๐Ÿšซ X out ยท โš ๏ธ Y restricted" per sport - Wire the Status tab to roster API, group by sport + status - Wire Messages tab to a placeholder (or stub notification view) ### Parent Dashboard โณ Partial nav โ€” needs completion - Nav JS exists (`parent-tabs.js`) but not fully wired - Proposed: Home (status card + next milestone) ยท Timeline (recovery phases) ยท Message (chat with AT) - Single-child view โ€” no child switcher needed - Wire Home tab to athlete case API - Wire Timeline tab to case timeline data - Wire Message tab to placeholder ### AD Dashboard โŒ Needs nav from scratch - Proposed: Overview (current dashboard stats) ยท Cases (all active across sports) ยท Reports (compliance/incident placeholder) - Wire Overview to dashboard API - Wire Cases to cases API (filtered all-sport) - Wire Reports to placeholder ## 2. Cross-Dashboard UX Fixes - **Filter button highlight persistence** โ€” quick action buttons should clear highlight when sport changes (reported bug from May 3) - **"New Reports" count mismatch** โ€” `showNewCases()` should respect current sport filter - **Skeleton loading** โ€” show placeholder shimmer during API fetches - **Error retry** โ€” retry failed API calls 2x with 1s delay ## Design Tokens ``` --bg-deep: #08080f --bg-surface: #0f0f1a --text-primary: #e8e8f0 --text-secondary: #9090a8 --text-muted: #606078 --at-accent: #00d4aa --coach-accent: #4a9eff --parent-accent: #ff6b9d --status-full: #00d4aa --status-modified: #fbbf24 --status-out: #ef4444 ``` ## Success Criteria 1. All 4 dashboards have bottom nav with working tabs 2. Nav icons are consistent style 3. Active tab has clear visual indicator 4. Coach Status tab shows real data (grouped by sport + status) 5. Parent nav fully wired to real data 6. AD nav shows overview stats + all-sport cases 7. Filter highlight bug is fixed 8. "New Reports" shows correct count for current sport 9. Skeleton loading visible during API fetches 10. Error retry works on simulated API failure