Review: New page: Tryouts (history + Kings/Queens toggle)
Verdict: READY
Re-review Context
Second review after refinement comment on issue #92. Previous review (
review-407-2026-03-25) found three issues: (1) repo mismatch, (2) nav targets not listed, (3) toggle dependency undocumented. All three have been addressed in the refinement.Template Completeness
- [x] Lineage -- present (parent note: westside-playground-overhaul)
- [x] Repo -- present (forgejo_admin/westside-playground). Convention documented in refinement: westside-app tracks issues, westside-playground is the code target.
- [x] User Story -- present (prospective parent viewing tryout history)
- [x] Context -- present (Kings/Queens toggle, FOMO when no upcoming tryouts)
- [x] File Targets -- present (tryouts.html to create, shared/app.js and shared/style.css to modify). Refinement adds explicit nav file list.
- [x] Acceptance Criteria -- present (6 criteria)
- [x] Test Expectations -- present (toggle behavior, link resolution, 390px visual)
- [x] Constraints -- present (light JS in shared/app.js, shared/style.css, component doc, mobile-first)
- [x] Checklist -- present (4 items)
- [x] Related -- present (westside-playground-overhaul)
File Targets
- [x]
tryouts.html-- confirmed DOES NOT EXIST yet (to be created). Correct. - [x]
shared/app.js-- confirmed EXISTS (463 lines). No existing Kings/Queens toggle orinitKQTogglefunction. Clean slate for the new function. Has DOMContentLoaded auto-init block at line 404 where new init call would go. - [x]
shared/style.css-- confirmed EXISTS. No existing.queens-activeclass or--color-accentvariable. Uses--color-red: #d42026throughout. Refinement spec says.queens-activeswaps accent from Kings red to Queens pink -- CSS variable override approach is sound. - [x] Nav target:
index.html-- EXISTS, has nav with 5 items (Home, About, Staff, Sponsors, Schedule) - [x] Nav target:
staff.html-- EXISTS - [x] Nav target:
sponsors.html-- EXISTS - [x] Nav target:
schedule.html-- EXISTS - [x] Nav target:
register.html-- EXISTS - [x] Nav target:
success.html-- EXISTS - [x] Nav target:
about.html-- correctly noted as conditional "(if exists from #91)". Does NOT exist yet. #91 is in todo column, not yet landed. - [x]
teams.htmllink target -- correctly noted as placeholder (#) if #93 hasn't landed. teams.html DOES NOT EXIST yet (created by #408).
Repo Placement
RESOLVED. Issue filed on
forgejo_admin/westside-app, code targets forgejo_admin/westside-playground. Refinement documents the convention: westside-app repo is the Forgejo issue tracker for all westside frontend work, westside-playground is the code target. This is consistent with the playground model (feedback_playground_first, feedback_linked_repo_model).Dependencies
- Downstream dependents (documented via
depends:ws-92labels): - Upstream blockers: None identified. The playground overhaul CSS/JS unification (#381, board #381) is already
done. This ticket can proceed independently. - Sibling items in same story (WS-S26): #405 (landing page restore,
next_up) and #406 (About page,todo) are siblings but not dependencies. - Toggle foundation role: Refinement explicitly designates this as the TOGGLE FOUNDATION ticket. The
initKQToggle()function, localStorage persistence, and.queens-activeCSS class are created here and reused by #408, #410, and #409. This is well-documented.
Acceptance Criteria
All 6 criteria are agent-verifiable:
- [x] "tryouts.html exists with Kings/Queens toggle" -- file existence + DOM check
- [x] "Past tryouts show real data" -- content verification against the data in the ticket (Kings: March 13, Queens: March 24)
- [x] "No upcoming tryouts shown when none active" -- DOM state check
- [x] "Links to Teams page from tryout results" -- href check (teams.html or # placeholder)
- [x] "Nav updated on ALL pages to include Tryouts" -- Grep across all 6 (or 7) nav files
- [x] "Toggle is a prominent two-button switch at top of content" -- DOM structure check
The localStorage persistence spec in the refinement provides exact JS implementation code, making it fully testable. The agent can verify toggle state survives page reload.
Blast Radius
- Nav changes across 6+ pages: Moderate blast radius but well-scoped. The refinement enumerates exact files. Risk: nav order inconsistency if different pages have different nav items. Mitigated by the explicit file list.
- shared/app.js modification: Adding
initKQToggle()and a DOMContentLoaded hook. Low risk -- existing auto-init pattern at line 404 is well-structured for extension. No naming collisions with existing functions. - shared/style.css modification: Adding
.queens-activeclass and color overrides. Low risk -- no existing queens/accent classes to conflict with. Thebody.queens-activeselector is highly specific. - localStorage key: Refinement uses key
'program'. No existing localStorage keys use this name (existing keys:westside-teams-draft,westside-teams-view). No collision.
Recommendation
No action needed. All three issues from the first review have been resolved:
- Repo mismatch: Convention documented -- westside-app tracks, westside-playground is target.
- Nav targets: Explicit file list provided (6 files + conditional about.html).
- Toggle dependency: This ticket is explicitly designated as the TOGGLE FOUNDATION with full localStorage persistence spec, CSS class spec, and JS function spec. Three downstream tickets (#408, #410, #409) all carry
depends:ws-92labels.
Ticket is ready for execution.