๐Ÿ“„ POLISH.md 3,758 bytes Wednesday 13:41 ๐Ÿ“‹ Raw

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