feat: Registration flow — player-first with age gate for parent/guardian #29

Closed
opened 2026-03-16 23:03:48 +00:00 by forgejo_admin · 0 comments

Lineage

plan-wkq → Phase 10 (Playground)

Repo

forgejo_admin/westside-playground

User Story

As a person registering for tryouts, I enter my player info first. If I'm under 18, a parent section appears for my guardian to sign. If I'm 18+, I sign for myself.

Context

The current register.html (just redesigned in PR #18) has the right visual style but wrong flow. It puts parent info as a fixed section. The new flow makes the player the primary entity:

  1. Player name (top — who's trying out)
  2. Player details (division, photo, height, position, grad class, school, hometown)
  3. "Are you 18 or older?" toggle (radio buttons: Yes / No)
    • No (default, most players): Parent/Guardian section appears — first name, last name, email, phone. Parent signs waiver by checking box and typing their full name (digital signature).
    • Yes: Player provides their own email. Player signs their own waiver.
  4. Waiver (same content, but signer changes based on age gate)
  5. Pay $30 button
  6. Confirmation with credentials (email goes to whoever signed)

The progress steps from PR #18 should update: Step 1: Player Info → Step 2: Age & Contact → Step 3: Waiver → Step 4: Pay

File Targets

  • register.html — restructure form flow

Acceptance Criteria

  • Player name and details are FIRST on the form (before any parent info)
  • "Are you 18 or older?" radio buttons (Yes/No) appear after player details
  • Selecting "No" (default) shows Parent/Guardian section: first name, last name, email, phone
  • Selecting "Yes" shows Player email field instead (no parent section)
  • Waiver section says "Parent/Guardian Signature" when under 18, "Player Signature" when 18+
  • Waiver signature = checkbox + full name text input (digital signature)
  • Confirmation section shows the signer's email as the login email
  • Progress indicator updated: Player Info → Age & Contact → Waiver → Pay
  • Existing visual style preserved (dark theme, red brand, form styles)

Test Expectations

  • No automated tests (static HTML). Visual verification only.

Constraints

  • HTML + CSS + minimal JS for the age gate toggle (show/hide parent vs player email section)
  • Use existing CSS from shared/app.css and existing form styles in the file
  • Keep waiver content the same — just change the label/signer context
  • Do NOT change other files

Checklist

  • PR opened
  • No unrelated changes
  • project-westside-basketball
### Lineage `plan-wkq` → Phase 10 (Playground) ### Repo `forgejo_admin/westside-playground` ### User Story As a person registering for tryouts, I enter my player info first. If I'm under 18, a parent section appears for my guardian to sign. If I'm 18+, I sign for myself. ### Context The current `register.html` (just redesigned in PR #18) has the right visual style but wrong flow. It puts parent info as a fixed section. The new flow makes the player the primary entity: 1. **Player name** (top — who's trying out) 2. **Player details** (division, photo, height, position, grad class, school, hometown) 3. **"Are you 18 or older?"** toggle (radio buttons: Yes / No) - **No (default, most players):** Parent/Guardian section appears — first name, last name, email, phone. Parent signs waiver by checking box and typing their full name (digital signature). - **Yes:** Player provides their own email. Player signs their own waiver. 4. **Waiver** (same content, but signer changes based on age gate) 5. **Pay $30** button 6. **Confirmation** with credentials (email goes to whoever signed) The progress steps from PR #18 should update: Step 1: Player Info → Step 2: Age & Contact → Step 3: Waiver → Step 4: Pay ### File Targets - `register.html` — restructure form flow ### Acceptance Criteria - [ ] Player name and details are FIRST on the form (before any parent info) - [ ] "Are you 18 or older?" radio buttons (Yes/No) appear after player details - [ ] Selecting "No" (default) shows Parent/Guardian section: first name, last name, email, phone - [ ] Selecting "Yes" shows Player email field instead (no parent section) - [ ] Waiver section says "Parent/Guardian Signature" when under 18, "Player Signature" when 18+ - [ ] Waiver signature = checkbox + full name text input (digital signature) - [ ] Confirmation section shows the signer's email as the login email - [ ] Progress indicator updated: Player Info → Age & Contact → Waiver → Pay - [ ] Existing visual style preserved (dark theme, red brand, form styles) ### Test Expectations - No automated tests (static HTML). Visual verification only. ### Constraints - HTML + CSS + minimal JS for the age gate toggle (show/hide parent vs player email section) - Use existing CSS from `shared/app.css` and existing form styles in the file - Keep waiver content the same — just change the label/signer context - Do NOT change other files ### Checklist - [ ] PR opened - [ ] No unrelated changes ### Related - `project-westside-basketball`
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
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
forgejo_admin/westside-playground#29
No description provided.