Rework westside dashboard for tryout day triage #3

Open
opened 2026-03-13 19:11:46 +00:00 by forgejo_admin · 0 comments
Contributor

Lineage

plan-2026-03-08-tryout-prep → Phase 4 (Tryout day — roster, check-in, walk-ups)

Repo

forgejo_admin/playground

User Story

As an admin at the tryout table
I want to see players grouped by readiness (paid+waiver, needs waiver, needs everything)
So that I can quickly triage each player as they arrive

As a coach on the court
I want to see checked-in players with large jersey numbers, photos, position, and height
So that I can identify and evaluate players during tryouts

Context

Tryout day is March 13 at Kongo Gym. Three check-in scenarios:

  1. Player paid + signed waiver — assign number, check in, done
  2. Player paid but no waiver — need to get waiver signed on the spot
  3. Walk-up (no pay, no waiver) — need payment and waiver before they play

Current dashboard shows a flat list with small badges. No visual triage, no waiver-specific actions, no "mark paid" for walk-ups. Coach view has small jersey numbers and no checked-in/not separation.

Parent view is not a user story for tryout day — remove it.

File Targets

Files to modify:

  • 3-westside-dashboard/src/routes/+page.svelte — rewrite admin and coach views

Files NOT to touch:

  • 3-westside-dashboard/src/app.html — no changes needed
  • 3-westside-dashboard/svelte.config.js — no changes needed

Acceptance Criteria

  • Admin view groups players into 3 color-coded triage sections (green=ready, yellow=needs-waiver, red=needs-everything)
  • Admin stats bar shows counts: checked-in, ready, needs-waiver, needs-pay+waiver
  • Admin can mark walk-up as paid
  • Admin can mark waiver as signed
  • Admin can assign tryout number and check in (existing functionality)
  • Coach view shows checked-in players first, sorted by tryout number
  • Coach view has large jersey number badges
  • Coach view dims not-yet-checked-in players in a separate section
  • Parent view removed
  • Mobile-friendly (480px max-width, touch-friendly buttons)

Test Expectations

  • Manual: load dashboard, verify 3 triage sections render
  • Manual: tap "Mark Paid" on walk-up, player moves to needs-waiver section
  • Manual: tap "Waiver Done", player moves to ready section
  • Manual: switch to coach view, verify checked-in players sorted by number
  • Run command: cd 3-westside-dashboard && npm run build (build must succeed)

Constraints

  • Svelte 5 with runes ($state, $derived)
  • Static adapter, builds to build/ directory
  • API endpoint: /basketball-api/api/roster/westside-kings-queens
  • Keep existing data mapping from API response

Checklist

  • PR opened
  • Build succeeds
  • No unrelated changes
  • plan-2026-03-08-tryout-prep — Westside Basketball tryout prep plan
### Lineage `plan-2026-03-08-tryout-prep` → Phase 4 (Tryout day — roster, check-in, walk-ups) ### Repo `forgejo_admin/playground` ### User Story As an admin at the tryout table I want to see players grouped by readiness (paid+waiver, needs waiver, needs everything) So that I can quickly triage each player as they arrive As a coach on the court I want to see checked-in players with large jersey numbers, photos, position, and height So that I can identify and evaluate players during tryouts ### Context Tryout day is March 13 at Kongo Gym. Three check-in scenarios: 1. Player paid + signed waiver — assign number, check in, done 2. Player paid but no waiver — need to get waiver signed on the spot 3. Walk-up (no pay, no waiver) — need payment and waiver before they play Current dashboard shows a flat list with small badges. No visual triage, no waiver-specific actions, no "mark paid" for walk-ups. Coach view has small jersey numbers and no checked-in/not separation. Parent view is not a user story for tryout day — remove it. ### File Targets Files to modify: - `3-westside-dashboard/src/routes/+page.svelte` — rewrite admin and coach views Files NOT to touch: - `3-westside-dashboard/src/app.html` — no changes needed - `3-westside-dashboard/svelte.config.js` — no changes needed ### Acceptance Criteria - [ ] Admin view groups players into 3 color-coded triage sections (green=ready, yellow=needs-waiver, red=needs-everything) - [ ] Admin stats bar shows counts: checked-in, ready, needs-waiver, needs-pay+waiver - [ ] Admin can mark walk-up as paid - [ ] Admin can mark waiver as signed - [ ] Admin can assign tryout number and check in (existing functionality) - [ ] Coach view shows checked-in players first, sorted by tryout number - [ ] Coach view has large jersey number badges - [ ] Coach view dims not-yet-checked-in players in a separate section - [ ] Parent view removed - [ ] Mobile-friendly (480px max-width, touch-friendly buttons) ### Test Expectations - [ ] Manual: load dashboard, verify 3 triage sections render - [ ] Manual: tap "Mark Paid" on walk-up, player moves to needs-waiver section - [ ] Manual: tap "Waiver Done", player moves to ready section - [ ] Manual: switch to coach view, verify checked-in players sorted by number - Run command: `cd 3-westside-dashboard && npm run build` (build must succeed) ### Constraints - Svelte 5 with runes ($state, $derived) - Static adapter, builds to `build/` directory - API endpoint: `/basketball-api/api/roster/westside-kings-queens` - Keep existing data mapping from API response ### Checklist - [ ] PR opened - [ ] Build succeeds - [ ] No unrelated changes ### Related - `plan-2026-03-08-tryout-prep` — Westside Basketball tryout prep plan
Commenting is not possible because the repository is archived.
No milestone
No project
No assignees
1 participant
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/playground#3
No description provided.