Fix local teams schedule display — group by team name not practice label #209

Closed
opened 2026-04-04 19:42:50 +00:00 by forgejo_admin · 2 comments
Contributor

Type

Bug

Lineage

Discovered during 2026-04-04 schedule page overhaul. Travel teams were fixed to group by day, but local teams still show one card per practice slot.

Repo

forgejo_admin/westside-landing

What Broke

Local teams section shows 4 cards named by DB label ("16U LOCAL KINGS MON PRACTICE") instead of 2 cards grouped by team name with all practice days listed.

Repro Steps

  1. Visit /schedule, Kings tab
  2. Scroll to Local Teams section
  3. See 4 cards with practice labels as headers

Expected Behavior

2 cards:

  • 16U Local Kings — Monday BWill 7-9 PM, Friday BWill 7-9 PM
  • 17U Local Kings — Monday BWill 7-9 PM, Tuesday West High 6-8 PM

Environment

  • Production: westsidekingsandqueens.tail5b443a.ts.net/schedule
  • Dev overlay: westside-dev.tail5b443a.ts.net/schedule

File Targets

Files to modify:

  • src/routes/(public)/schedule/+page.svelte — change local teams template to use groupByTeam with team name extracted from label (strip " Mon Practice" / " Tue Practice" etc), then list all practice days under each team card

Files NOT to touch:

  • Backend / API — data is correct, this is frontend display only

Acceptance Criteria

  • Local teams show 2 cards (16U Local Kings, 17U Local Kings)
  • Each card lists all practice days with day name, location, time
  • Team name is clean ("16U Local Kings" not "16U Local Kings Mon Practice")

Test Expectations

  • Visual: /schedule Kings tab shows 2 local team cards
  • npm run build passes

Constraints

  • Pure CSS vars, no Tailwind
  • Match the groupByDay pattern used for travel teams
  • Dev overlay hot-reloads for preview

Checklist

  • PR opened
  • Visual validation
  • No unrelated changes
  • westside-basketball — project this affects
  • westside-landing#206 — original schedule page fix
### Type Bug ### Lineage Discovered during 2026-04-04 schedule page overhaul. Travel teams were fixed to group by day, but local teams still show one card per practice slot. ### Repo `forgejo_admin/westside-landing` ### What Broke Local teams section shows 4 cards named by DB label ("16U LOCAL KINGS MON PRACTICE") instead of 2 cards grouped by team name with all practice days listed. ### Repro Steps 1. Visit /schedule, Kings tab 2. Scroll to Local Teams section 3. See 4 cards with practice labels as headers ### Expected Behavior 2 cards: - **16U Local Kings** — Monday BWill 7-9 PM, Friday BWill 7-9 PM - **17U Local Kings** — Monday BWill 7-9 PM, Tuesday West High 6-8 PM ### Environment - Production: westsidekingsandqueens.tail5b443a.ts.net/schedule - Dev overlay: westside-dev.tail5b443a.ts.net/schedule ### File Targets Files to modify: - `src/routes/(public)/schedule/+page.svelte` — change local teams template to use `groupByTeam` with team name extracted from label (strip " Mon Practice" / " Tue Practice" etc), then list all practice days under each team card Files NOT to touch: - Backend / API — data is correct, this is frontend display only ### Acceptance Criteria - [ ] Local teams show 2 cards (16U Local Kings, 17U Local Kings) - [ ] Each card lists all practice days with day name, location, time - [ ] Team name is clean ("16U Local Kings" not "16U Local Kings Mon Practice") ### Test Expectations - [ ] Visual: /schedule Kings tab shows 2 local team cards - [ ] `npm run build` passes ### Constraints - Pure CSS vars, no Tailwind - Match the groupByDay pattern used for travel teams - Dev overlay hot-reloads for preview ### Checklist - [ ] PR opened - [ ] Visual validation - [ ] No unrelated changes ### Related - `westside-basketball` — project this affects - westside-landing#206 — original schedule page fix
Author
Contributor

Scope Review: READY

Review note: review-804-2026-04-03
Scope is solid — 1 file, 3 testable AC, root cause confirmed in groupByTeam grouping key (line 118-126). All dependencies satisfied, no decomposition needed.

  • [SCOPE] Missing arch note arch-landing-site in pal-e-docs (not a blocker for this ticket)
## Scope Review: READY Review note: `review-804-2026-04-03` Scope is solid — 1 file, 3 testable AC, root cause confirmed in `groupByTeam` grouping key (line 118-126). All dependencies satisfied, no decomposition needed. - [SCOPE] Missing arch note `arch-landing-site` in pal-e-docs (not a blocker for this ticket)
Author
Contributor

Validation: PASS

Tiers executed: Tier 3 (Production)
Validation note: validation-209-2026-04-05

6 checks: 6 PASS, 0 FAIL

# Criterion Result
1 Local teams show 2 cards (16U Local Kings, 17U Local Kings) PASS
2 Each card lists all practice days with day, location, time PASS
3 Team name is clean (no practice label suffix) PASS
4 Woodpecker pipeline #217 green (all 4 steps) PASS
5 Pod running, 0 restarts, correct image tag PASS
6 Route-level smoke tests (6 routes, all 200) PASS

Regression check: Queens tab renders correctly, travel teams unaffected, 0 console errors.

Discovered issues: None.

Validated by: Dottie (doc librarian agent)

## Validation: PASS Tiers executed: Tier 3 (Production) Validation note: `validation-209-2026-04-05` **6 checks: 6 PASS, 0 FAIL** | # | Criterion | Result | |---|-----------|--------| | 1 | Local teams show 2 cards (16U Local Kings, 17U Local Kings) | PASS | | 2 | Each card lists all practice days with day, location, time | PASS | | 3 | Team name is clean (no practice label suffix) | PASS | | 4 | Woodpecker pipeline #217 green (all 4 steps) | PASS | | 5 | Pod running, 0 restarts, correct image tag | PASS | | 6 | Route-level smoke tests (6 routes, all 200) | PASS | **Regression check:** Queens tab renders correctly, travel teams unaffected, 0 console errors. **Discovered issues:** None. Validated by: Dottie (doc librarian agent)
Sign in to join this conversation.
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
ldraney/westside-app#209
No description provided.