brackt/app/routes
Chris Parsons 2d6dd6ec9f
Refactor expected values form to batch save all participants (#4)
* fix: remove probability sum validation and add batch save with total EV

- Remove the requirement that manual probabilities sum to 1.0, allowing
  partial distributions (e.g. when a participant has <100% chance of top 8)
- Replace per-row save buttons with a single "Save All" button that submits
  all participants at once
- Add a Total EV row at the bottom of the table summing all participant EVs
- Update action to batch process all participants from a single form submission

https://claude.ai/code/session_01WHRynBCcugSK7HHEmN6Yuy

* fix: validate participantIds server-side instead of trusting form input

Fetch participants from the DB in the action using the season ID from
the URL params, eliminating the untrusted participantIds hidden field.
Remove the now-unused hidden input from the frontend form.

https://claude.ai/code/session_01WHRynBCcugSK7HHEmN6Yuy

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-19 15:57:05 -08:00
..
api feat: Implement autodraft chain logic and timer initialization for next team picks 2025-10-25 22:11:10 -07:00
leagues Change participant expectedValue from integer to decimal (#1) 2026-02-19 11:26:40 -08:00
teams feat: add random team name generation and improve league exit flow 2025-10-14 22:45:24 -07:00
admin._index.tsx feat: implement daily standings snapshot system with admin management interface 2025-11-14 09:15:58 -08:00
admin.data-sync.tsx feat: add admin routes and checkbox component for sports management 2025-10-12 21:54:49 -07:00
admin.participants.tsx feat: add admin routes and checkbox component for sports management 2025-10-12 21:54:49 -07:00
admin.sports-seasons.$id.events.$eventId.bracket.server.ts feat: add FIFA World Cup 48-team bracket template with group stage and projected scoring 2026-02-14 22:30:12 -08:00
admin.sports-seasons.$id.events.$eventId.bracket.tsx feat: add FIFA World Cup 48-team bracket template with group stage and projected scoring 2026-02-14 22:30:12 -08:00
admin.sports-seasons.$id.events.$eventId.server.ts feat: Implement Qualifying Points Standings component and related logic 2025-11-11 10:08:25 -08:00
admin.sports-seasons.$id.events.$eventId.tsx feat: Implement team breakdown pages with detailed score breakdown 2025-11-14 20:01:21 -08:00
admin.sports-seasons.$id.events.server.ts feat: Implement Qualifying Points Standings component and related logic 2025-11-11 10:08:25 -08:00
admin.sports-seasons.$id.events.tsx feat: Implement Qualifying Points Standings component and related logic 2025-11-11 10:08:25 -08:00
admin.sports-seasons.$id.expected-values.server.ts Refactor expected values form to batch save all participants (#4) 2026-02-19 15:57:05 -08:00
admin.sports-seasons.$id.expected-values.tsx Refactor expected values form to batch save all participants (#4) 2026-02-19 15:57:05 -08:00
admin.sports-seasons.$id.futures-odds.tsx Add bulk import feature for futures odds with fuzzy matching (#3) 2026-02-19 14:34:45 -08:00
admin.sports-seasons.$id.participants.tsx Change participant expectedValue from integer to decimal (#1) 2026-02-19 11:26:40 -08:00
admin.sports-seasons.$id.recalculate-probabilities.tsx feat: implement sports season expected value calculations and probability updates 2025-11-21 22:05:50 -08:00
admin.sports-seasons.$id.tsx feat: implement sports season expected value calculations and probability updates 2025-11-21 22:05:50 -08:00
admin.sports-seasons.new.tsx feat: Implement Qualifying Points Standings component and related logic 2025-11-11 10:08:25 -08:00
admin.sports-seasons.tsx feat: add bulk participant creation and expected value field 2025-10-15 21:21:33 -07:00
admin.sports.$id.tsx feat: add icon support for sports with file upload and active seasons display 2025-10-13 10:30:47 -07:00
admin.sports.new.tsx feat: add icon support for sports with file upload and active seasons display 2025-10-13 10:30:47 -07:00
admin.sports.tsx feat: add icon support for sports with file upload and active seasons display 2025-10-13 10:30:47 -07:00
admin.standings-snapshots.tsx feat: implement daily standings snapshot system with admin management interface 2025-11-14 09:15:58 -08:00
admin.templates.$id.tsx refactor: remove isRequired field from season sports and templates 2025-10-13 15:00:59 -07:00
admin.templates.new.tsx feat: add admin routes and checkbox component for sports management 2025-10-12 21:54:49 -07:00
admin.templates.tsx feat: add admin routes and checkbox component for sports management 2025-10-12 21:54:49 -07:00
admin.tsx feat: add admin routes and checkbox component for sports management 2025-10-12 21:54:49 -07:00
api.admin.export-sports-data.ts feat: add admin routes and checkbox component for sports management 2025-10-12 21:54:49 -07:00
home.tsx feat: add random team name generation and improve league exit flow 2025-10-14 22:45:24 -07:00
how-to-play.tsx refactor: replace About and Contact nav links with How To Play page 2025-10-12 16:42:15 -07:00
i.$inviteCode.tsx feat: add invite code system for league seasons with member access control 2025-10-14 12:20:36 -07:00
test-socket.tsx feat: add socket test route and echo event handler for debugging 2025-10-17 12:15:07 -07:00
user-profile.tsx feat: add user model, routes, and Clerk webhook integration 2025-10-11 00:53:39 -07:00