Paginate and sport-tailor the simulator setup participant table #132
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "simulator-participant-pagination"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
The participant preview on the simulator setup page (
admin/sports-seasons/:id/simulator) was capped at the first 20 rows by a hard-coded.slice(0, 20), so most of the field was invisible for seasons with up to ~300 participants (golf, tennis). All rows were already loaded — this was purely a UI limit.Changes
normalizeName) plus Prev/Next paging at 50/page, over the already-loaded rows. Page resets on filter change.requiredInputs+optionalInputs(from the manifest), labeled, with required columns marked. So F1 shows odds, NBA shows Elo, NCAA shows rating, etc.Notes
Column resolution is the only manifest runtime call, and it runs in the loader — this keeps the simulator manifest/registry out of the client bundle. Importing it into the client component pulled in every simulator and their transitive server-only modules (
scoring-calculator.ts → qualifying-points-discord.server,cs2-major-stage.ts), which broke the Champions League setup page with a "server-only module referenced by client" error.Verification
npm run typecheck,oxlint, andnpm run build(client + server) all pass with no server-only-leak error.🤖 Generated with Claude Code