Merge QP scoreboard into a single Drafted Participants list with a Points Bubble divider #135

Merged
chrisp merged 1 commit from claude/qp-points-bubble into main 2026-07-10 15:16:51 +00:00
Owner

Context

The qualifying-points Discord announcement (golf/tennis) rendered the drafted scoreboard as two sections — Drafted Participants in Top 8 and Non-scoring Participants (a comma-separated line for everyone else). This replaces them with a single Drafted Participants section for a cleaner read.

Changes

  • One Drafted Participants section lists every drafted participant who has scored (qpTotal > 0) as ranked lines, ordered by full-season standing.
  • A ═══ Points Bubble ═══ divider marks the points cutoff between rank 8 and rank 9 (>= 9, so ties at rank 8 stay above the bubble).
  • Participants with 0 QP are no longer shown at all; the Non-scoring section is removed.
  • Removed the now-unused inTopEight helper.

Edge case handled

globalRank is a season-wide rank, but the scoreboard is scoped to a single league's drafts — so a league can have drafted nobody in the global top 8. The divider is only emitted once at least one above-the-cutoff row exists, avoiding a leading divider with nothing above it. Covered by a regression test.

Testing

  • npm run test:run -- discord — 96 unit tests pass (added coverage for the divider placement and the all-below-cutoff case).
  • npm run typecheck — clean.

🤖 Generated with Claude Code

## Context The qualifying-points Discord announcement (golf/tennis) rendered the drafted scoreboard as two sections — **Drafted Participants in Top 8** and **Non-scoring Participants** (a comma-separated line for everyone else). This replaces them with a single **Drafted Participants** section for a cleaner read. ## Changes - One **Drafted Participants** section lists every drafted participant who has scored (`qpTotal > 0`) as ranked lines, ordered by full-season standing. - A `═══ Points Bubble ═══` divider marks the points cutoff between rank 8 and rank 9 (`>= 9`, so ties at rank 8 stay above the bubble). - Participants with 0 QP are no longer shown at all; the Non-scoring section is removed. - Removed the now-unused `inTopEight` helper. ## Edge case handled `globalRank` is a season-wide rank, but the scoreboard is scoped to a single league's drafts — so a league can have drafted nobody in the global top 8. The divider is only emitted once at least one above-the-cutoff row exists, avoiding a leading divider with nothing above it. Covered by a regression test. ## Testing - `npm run test:run -- discord` — 96 unit tests pass (added coverage for the divider placement and the all-below-cutoff case). - `npm run typecheck` — clean. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
chrisp added 1 commit 2026-07-10 06:22:41 +00:00
Merge QP scoreboard into a single Drafted Participants list with a Points Bubble divider
All checks were successful
🚀 Deploy / 🧪 Test (pull_request) Successful in 3m4s
🚀 Deploy / ʦ🔍 Typecheck & Lint (pull_request) Successful in 1m19s
🚀 Deploy / 🐳 Build (pull_request) Has been skipped
🚀 Deploy / 🚀 Deploy (pull_request) Has been skipped
687fb6f040
Collapse the "Drafted Participants in Top 8" and "Non-scoring Participants"
sections of the qualifying-points Discord announcement into one "Drafted
Participants" standings section. It lists every drafted participant who has
scored (qpTotal > 0) as ranked lines, with a "═══ Points Bubble ═══" divider
marking the points cutoff between rank 8 and rank 9. Participants with 0 QP are
no longer shown.

The divider is only emitted once at least one above-the-cutoff row exists:
globalRank is a season-wide rank while the scoreboard is scoped to one league's
drafts, so a league can have drafted nobody in the global top 8 — guarding on
that avoids a leading divider with nothing above it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
chrisp merged commit 7e578c714c into main 2026-07-10 15:16:51 +00:00
Sign in to join this conversation.
No description provided.