Commit Graph

8 Commits

Author SHA1 Message Date
josh 58b27ddd20 style: strip trailing periods from all series blurbs
CI / Lint (push) Successful in 13s
CI / Test (push) Successful in 16s
CI / Build & Push (push) Successful in 15s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-23 12:21:23 -04:00
josh fac1a0ecbc style: drop "— Game X" from all series blurbs
CI / Lint (push) Failing after 5s
CI / Test (push) Has been skipped
CI / Build & Push (push) Has been skipped
The game number is redundant with the series summary already shown on
the card. Blurbs now read cleaner: "Win-or-go-home." instead of
"Win-or-go-home — Game 7."

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-23 12:07:16 -04:00
josh 4e5fab654d fix: don't label a FINAL playoff card as CLINCHER — those stakes belong to the next game
CI / Lint (push) Successful in 11s
CI / Test (push) Successful in 14s
CI / Build & Push (push) Successful in 52s
seriesStatus updates with the just-played game's win, so once a card goes
FINAL the is_clincher / is_game7 / is_pivotal predicates point at the
upcoming game. Gate the stake badge, stake blurb, and elimination_count
tally on a non-FINAL gameState so a completed Game 3 that left the series
3-0 reads "Flyers lead 3-0" instead of "Flyers can close it out — Game 3."

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-22 22:35:32 -04:00
josh b5ab318e05 fix: drop game_number by one for finished playoff cards
CI / Lint (push) Successful in 8s
CI / Test (push) Successful in 11s
CI / Build & Push (push) Successful in 19s
Scoreboard payloads don't include gameNumber, so the previous fix fell straight through to series_state['game_number'], which is hi+lo+1 — the *next* game. Once a game goes FINAL the win for this game is already banked in seriesStatus, so the card's own number is hi+lo. For the just-played Game 1 of Kings/Avalanche (series now 1-0), this brings the header back to "Game 1 of 7" instead of "Game 2 of 7".

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 18:47:50 -04:00
josh e908139323 fix: pin playoff card to its own gameNumber so the header doesn't tick forward after a final
CI / Lint (push) Successful in 10s
CI / Test (push) Successful in 10s
CI / Build & Push (push) Successful in 23s
series_state derives game_number from topSeedWins + bottomSeedWins + 1, which becomes the *next* game's number once the API advances seriesStatus post-final. The card for the just-finished game would then read "Game N+1 of 7". Prefer the raw gameNumber on the game payload, falling back to the derived value when it's missing.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 18:41:04 -04:00
josh 0f1c558493 style: tighten playoff card copy — uniform Game X of 7 header, leaner blurbs
CI / Lint (push) Successful in 10s
CI / Test (push) Successful in 11s
CI / Build & Push (push) Successful in 23s
Top row now always reads "Game N of 7" (round is already shown by the R1/R2/CONF FINAL/CUP FINAL badge). Bottom blurb drops the trailing period on "Series opener" and uses "{Team} lead X-Y" (plural verb, no "— Game N" suffix) when a leader is established.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 18:36:11 -04:00
josh 930247b32f style: apply ruff format and fix lint issues in playoff modules
CI / Lint (push) Successful in 8s
CI / Test (push) Successful in 10s
CI / Build & Push (push) Successful in 22s
- Rename single-letter `l` loop variables in bracket_view to satisfy E741
- Drop unused `json` import from test_playoff_cache (F401/F811)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 12:48:42 -04:00
josh ebe770fecd feat: make scoreboard playoff-aware with banner, bracket, and series drill-down
CI / Lint (push) Failing after 8s
CI / Test (push) Has been skipped
CI / Build & Push (push) Has been skipped
Turn a regular-season-looking Tuesday into a full playoff experience:

- Playoff banner with round + day + series + elimination counts, gold/silver
  Cup theme toggled by body.playoff-mode
- Series context on each playoff card: round chip, series score, stake badges
  (GAME 7, CLINCHER, PIVOTAL), and one-line blurb
- Game 7s pin to a new Spotlight section above Live
- Playoff OT renders with SUDDEN DEATH badge and pulsing gold border
- Client-side OT notifications via bell button in the banner
- New /series/<id> drill-down with headline, next-game, and game-by-game history
- New /bracket page: 7-column desktop grid, accordion on mobile
- Day N banner count auto-anchors on first playoff scoreboard hit
- SQLite cache for bracket + per-series schedules, stale-on-failure up to 24h

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-19 12:47:31 -04:00