Stage Advancement UI now shows the full 16-team field for each stage
(direct entries plus teams that advanced from the previous stage),
so admins can see and mark eliminations for Stage 1 advancers competing
in Stage 2/3 without confusion about where those teams went.
Key changes:
- markCs2StageEliminations now accepts an explicit stageEliminated value
per team, fixing a bug where Stage 1 teams eliminated in Stage 2 would
have stageEliminated set to 1 (their entry stage) instead of 2.
- New assignCs2EliminationQP writes QP to event_results progressively
as eliminations are saved: Stage 1/2 exits get 0 QP immediately,
Stage 3 exits get sub-ranked QP (placements 9-16 by W-L record).
- Form keys changed to elim_{stageNum}_{participantId} so the backend
knows which stage each elimination occurred at.
- Stage completion is inferred from saved data (≥8 eliminations at
that stage) to automatically move advancers into the next section.
- STAGE_LABELS updated to reflect the real 16-team field for stages 2/3.
https://claude.ai/code/session_013u6vbGHdppe88wQ95BLANw
|
||
|---|---|---|
| .. | ||
| components | ||
| contexts | ||
| hooks | ||
| lib | ||
| models | ||
| routes | ||
| services | ||
| test | ||
| types | ||
| utils | ||
| welcome | ||
| app.css | ||
| entry.client.tsx | ||
| entry.server.tsx | ||
| root.tsx | ||
| routes.ts | ||