Review: Promote jersey page design from playground to production (re-review)
Verdict: READY
Re-review of board item #907 after refinement. Previous review:
review-907-2026-04-08 (NEEDS_REFINEMENT). Both issues resolved.Previous Issues Resolved
- [x] [LABEL] arch:frontend changed to arch:landing-site — verified on board item
- [x] [LABEL] Board item title set to "Promote jersey page design from playground to production" — verified on board item
Template Completeness
- [x] Type — Feature
- [x] Lineage — Standalone, discovered during jersey email send
- [x] Repo — forgejo_admin/westside-landing
- [x] User Story — As a parent clicking a jersey link from email...
- [x] Context — Thorough explanation of unstyled CSS classes and playground redesign
- [x] File Targets — 4 modify/create targets, 2 do-not-touch, 2 read-only references
- [x] Acceptance Criteria — 8 criteria covering division logic, mobile/desktop, layout, Stripe flow
- [x] Test Expectations — Manual test with real token, visual check, no unit tests (appropriate for visual promotion)
- [x] Constraints — 5 constraints covering script preservation, URL stability, CSS conventions
- [x] Checklist — PR, no unrelated changes, mobile/desktop screenshots, real token test
- [x] Related — project-westside-basketball, playground URL
Traceability
- [x] story:WS-S18 label — "As a parent, I want to receive a branded email with jersey ordering link so that I can order without bringing cash"
- [x] story note verified — found in project-westside-basketball user-stories section (Parent stories list)
- [x] arch:landing-site label — references the westside-landing frontend component
- [ ] arch note MISSING —
arch-landing-sitenot found in pal-e-docs. However, this is a systemic gap: 30+ board items usearch:landing-siteincluding many in done. Not a blocker for this ticket. - [x] Forgejo issue — forgejo_admin/westside-landing#236, state: open
File Targets
- [x]
src/app.css— verified: 3878 lines, zero jersey-page/jersey-card/jersey-grid CSS classes (issue claim accurate) - [x]
src/routes/(app)/jersey/+page.svelte— verified: exists (source for move to (public)) - [x]
src/routes/(app)/jersey/success/+page.svelte— verified: exists - [x]
src/routes/(app)/jersey/cancel/+page.svelte— verified: exists - [x]
src/routes/(public)/+layout.svelte— verified: public layout exists (target route group ready) - [x]
~/westside-playground/jersey.html— verified: exists (read-only source) - [x]
~/westside-playground/shared/style.css— verified: 29 jersey-related CSS references (read-only source)
Repo Placement
OK. Local ~/westside-app is forgejo_admin/westside-landing (confirmed via git remote). Issue filed on correct repo. Single-repo change.
Dependencies
- [x] #733 "Fix 9 failing jersey/checkout tests" — in_progress, same story:WS-S18. Not a blocker (test fixes are independent of CSS/layout changes).
- [x] #696 "Update jersey/checkout pages to support session auth" — QA column. Agent must preserve dual-auth script logic during move. Satisfied.
- [x] #718 "Remove opt-out from jersey ordering options" — QA column. Aligned with AC. Satisfied.
- [x] #695 "Add jersey order card to player profile page" — QA column. Not blocking.
- [x] #694 "Add player_id param for multi-player parents" — QA column. Not blocking.
No unresolved dependencies that would block execution.
Acceptance Criteria
8 criteria — all specific and agent-testable:
- Division-conditional images (Queens/Kings) — testable via token with known player division
- Size + number validation enabling Order button — testable via DOM interaction
- Stripe redirect — testable with real tokenized link
- Mobile vertical stack / desktop 2-column grid — testable via viewport resize screenshots
- Opt-out not rendered — testable via DOM check
- Public layout (site-nav + footer) — testable via layout element presence
Blast Radius
16 files reference "jersey" in src/. All are URL references (
/jersey), not component imports. SvelteKit route groups don't affect URL paths, so moving from (app) to (public) preserves all existing /jersey?token=... links. Low risk. Rollback is straightforward.Decomposition Assessment
3 discrete changes (move route group, paste CSS into app.css, update markup) in 1 repo. 8 AC but all visual checks on the same page — one atomic change. Estimated agent time: 3-4 minutes. No decomposition needed.
Recommendation
- [SCOPE] Create architecture note
arch-landing-sitein pal-e-docs — systemic gap affecting 30+ board items. Not a blocker for this ticket; should be tracked as a separate backlog item.
No other action needed. Ticket is ready for execution.