Commit graph

29 commits

Author SHA1 Message Date
Chris Parsons
da1a17f2d3 Refactor code structure for improved readability and maintainability 2025-11-03 13:16:37 -08:00
Chris Parsons
a3b8fa6309 feat: Implement bracket expansion plan to support various tournament structures
- Added a comprehensive plan for bracket expansion, including support for 4, 8, 16, 32, and 68 team formats.
- Introduced a template-based bracket system with predefined templates for NCAA March Madness, NFL Playoffs, NBA Playoffs, and simple brackets.
- Updated UI flow for bracket creation, allowing admins to select templates and assign participants flexibly.
- Enhanced database schema to accommodate new scoring rules and bracket templates.
- Proposed updates to scoring logic to handle non-scoring rounds and participant placements correctly.
- Documented implementation phases for gradual rollout of new features.
- Addressed critical bugs in the playoff event processing and scoring logic, ensuring proper advancement and scoring rules across multiple leagues.
2025-11-03 09:36:16 -08:00
Chris Parsons
7dddf2c9a7 feat: Add scoring rules editor to league settings and creation pages
- Created ScoringRulesEditor component with 8 placement point inputs
- Added scoring-types.ts for shared client/server types
- Integrated scoring rules into league settings page
- Integrated scoring rules into league creation form
- Added validation for point values (0-1000 range)
- Disabled editing in settings after draft starts
- Included helpful tips and preview display

Phase 1.3 complete

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-29 00:04:27 -07:00
Chris Parsons
e49bb3df8b feat: Add scoring event and results management with comprehensive scoring rules and standings tracking 2025-10-28 23:50:50 -07:00
Chris Parsons
8e422c6503 fix: Pass database instance to isParticipantDrafted in timer context
The timer system runs outside the request context and uses its own database
  connection. This fix allows isParticipantDrafted to accept an optional db
  parameter so it works in both request handlers and timer contexts.

  Fixes: DatabaseContext not set error during autopick
2025-10-28 23:40:29 -07:00
Chris Parsons
f0c289353e feat: Refactor database connection handling in draft-related functions for improved flexibility 2025-10-26 20:35:55 -07:00
Chris Parsons
918e9ff04a feat: Implement autodraft chain logic and timer initialization for next team picks 2025-10-25 22:11:10 -07:00
Chris Parsons
98b84095fd feat: Implement drag-and-drop functionality for queue items; add duplicate prevention for participants in queue 2025-10-25 21:02:16 -07:00
Chris Parsons
714ab0f484 feat: Refactor autopick logic to use unified executeAutoPick function and enhance eligibility checks 2025-10-25 10:14:36 -07:00
Chris Parsons
decb28dc19 Implement Omni League Draft Eligibility Rules
- Created draft eligibility calculation logic in `app/lib/draft-eligibility.ts`
- Added interfaces for sport availability and draft eligibility
- Implemented `calculateDraftEligibility` function to determine eligible sports based on team picks and global availability
- Developed `getEligibilitySummary` function for human-readable eligibility status
- Updated API endpoints to validate eligibility before making picks
- Enhanced frontend draft room UI to reflect eligibility status and provide visual indicators for ineligible participants
- Comprehensive implementation summary and testing documentation added
- All changes type-checked and unit tests passed successfully
2025-10-24 21:12:07 -07:00
Chris Parsons
86ae5014ec feat: add admin draft reset functionality with queue and pick deletion 2025-10-21 22:34:26 -07:00
Chris Parsons
ee125565dd feat: add team ownership management UI with admin controls 2025-10-21 22:15:15 -07:00
Chris Parsons
fdc94b16ac ci: reorganize workflow dependencies and remove standalone test workflow 2025-10-21 12:57:03 -07:00
Chris Parsons
b9743aacc1 Revert Phase 8 and 9 implementations back to 0bef91e 2025-10-16 10:17:31 -07:00
Chris Parsons
013edbc661 feat: add participant list to draft room with sport name and filtering 2025-10-16 01:27:57 -07:00
Chris Parsons
469a85a0f8 feat: add draft pick, queue, and timer models with database schema updates 2025-10-16 00:32:48 -07:00
Chris Parsons
0e68bd2037 feat: add bulk participant creation and expected value field 2025-10-15 21:21:33 -07:00
Chris Parsons
fdfce98d87 feat: add draft order management with UI for manual and random ordering 2025-10-15 08:58:35 -07:00
Chris Parsons
61929536a1 feat: add username field to users and display in league views 2025-10-14 21:20:58 -07:00
Chris Parsons
78dc3f7d96 feat: make inviteCode optional in NewSeason type for season creation 2025-10-14 12:50:54 -07:00
Chris Parsons
8c65ac9590 feat: add invite code system for league seasons with member access control 2025-10-14 12:20:36 -07:00
Chris Parsons
0999e1c980 feat: add sports selection and team management to league settings 2025-10-13 19:59:34 -07:00
Chris Parsons
94586564e2 refactor: remove isRequired field from season sports and templates 2025-10-13 15:00:59 -07:00
Chris Parsons
c343521706 feat: add icon support for sports with file upload and active seasons display 2025-10-13 10:30:47 -07:00
Chris Parsons
dc727b6f3f feat: add sports and participant models with admin user functionality 2025-10-12 21:16:00 -07:00
Chris Parsons
5f32ec05af feat: add current season tracking and active league listing by user 2025-10-11 21:10:01 -07:00
Chris Parsons
9749fc8b77 feat: add user model, routes, and Clerk webhook integration 2025-10-11 00:53:39 -07:00
Chris Parsons
9dc033b2a0 feat: add commissioner model and league management features 2025-10-11 00:29:04 -07:00
Chris Parsons
5c957249ad feat: add fantasy league schema and new league routes 2025-10-11 00:07:39 -07:00