Westside playground complete overhaul — unified HTML/CSS mock of entire site #84
Labels
No labels
domain:backend
domain:devops
domain:frontend
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/westside-app#84
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Type
Feature
Lineage
Standalone — complete playground overhaul as source of truth for all westside pages before Svelte promotion.
Repo
forgejo_admin/westside-playgroundUser Story
As a superuser, I want every page/route of the westside site mocked as plain HTML/CSS in the playground with a single unified design system so that I can review and iterate on the full site experience before any Svelte or SvelteKit work begins.
story:WS-S26, story:prototype-iterate
Context
The westside-playground was built incrementally during Phase 10 and is now a mess: two different CSS files (app.css for authenticated pages, style.css for public pages), 6 missing routes, stale tryout content, no auth flow mock, no component documentation. The playground is supposed to be the source of truth — the first stage in the pipeline (playground → svelte → app) — but it can't serve that role in its current state.
This is a complete overhaul. One CSS file. One JS file. One HTML file per route. Every user flow represented. Component docs before Svelte wiring.
File Targets
Single CSS file:
shared/style.css— unified design system (red/black westside brand for public + authenticated views). Merge the best of currentapp.css(2621 lines, authenticated layouts) andstyle.css(804 lines, public brand) into one coherent system.Single JS file:
shared/app.js— mobile nav toggle + any light interactivity. No frameworks.HTML pages (one per production route):
Public (no auth):
index.html— landing page (no tryout CTA when tryouts inactive)staff.html— coaching staff with cardssponsors.html— sponsors + partnersschedule.html— travel/local team schedules (NEW)login.html— mock of Keycloak-themed login page (redirect representation)forgot-password.html— mock of Keycloak forgot password flowreset-password.html— mock of Keycloak reset password flowregister.html— registration flow (updated, no stale tryout refs)Authenticated (admin):
admin.html— admin dashboardadmin-players.html— player managementadmin-teams.html— team managementAuthenticated (coach):
coach.html— coach dashboardcoach-profile.html— individual coach viewAuthenticated (parent):
parent.html— parent dashboard / my-playersplayer-profile.html— player detail viewbilling.html— billing / payment statusAuthenticated (checkout):
checkout.html— Stripe checkout flowcheckout-success.html— payment confirmationcheckout-cancel.html— payment cancelledjersey.html— jersey selectionjersey-success.html— jersey payment confirmationComponent docs: Each HTML page should have an HTML comment block at the top documenting:
/admin/players)Cleanup:
tryouts.html(cancelled, no current tryout)westside-index.htmlandoriginal-index.html(stale copies)shared/westside-style.css(dead file)css/directory (merged into shared/style.css)Acceptance Criteria
shared/style.css— one unified design systemshared/app.js— one JS fileTest Expectations
Constraints
Checklist
Related
project-westside-basketball— project pagearch-auth-westside-basketball— auth architecture (Keycloak OIDC flow)project-svelte-playground— next stage after playground approvalScope Review: NEEDS_REFINEMENT
Review note:
review-380-2026-03-25Ticket has thorough scope but 7 issues must be resolved before agent execution:
westside-appbut all work targetswestside-playground(which exists on Forgejo, repo id 40). Agent will clone wrong repo.signin.html,success.html,team.htmlexist but are not in the 21-page list. No instructions on keep/remove/rename.shared/app.jsis 409 lines; ticket says "single light interactivity JS" without specifying what happens to it. Also missing cleanup targets forshared/westside-main.jsandjs/main.js(duplicates).