brackt/drizzle/meta
Chris Parsons 1ba50828f7
Claude/redesign autodraft queue c4 kp r (#40)
* Redesign autodraft queue system with three-state control and queue-only constraint

Core Logic & Database:
- Add `queue_only` boolean column to `autodraft_settings` (migration 0031)
- Rename autodraft UI states: Off / Next Pick / All Picks (while_on mode maps to All Picks)
- `autoPickForTeam`: respects new `queueOnly` param — skips EV fallback when enabled
- `executeAutoPick`: auto-disables autodraft + emits socket event when queue empties with queueOnly ON (AC3)
- `autodraft-updated` socket event now includes `queueOnly` field

Mobile UI Overhaul:
- Rename "Lobby" tab → "Available" (AC6)
- Add new "Queue" tab to mobile bottom nav with drag-reorder, per-item Draft buttons, and autodraft controls (AC5)
- Controls tab retains commissioner tools, notifications, exit; queue controls moved to Queue tab
- Turn indicator appears on both Available and Queue tabs

Components:
- `AutodraftSettings`: replaces toggle+radio with three-state button group (Off | Next Pick | All Picks) + "Only autodraft from queue" switch (AC1, AC2)
- `QueueSection`: adds `canPick` prop + per-item Draft buttons for instant drafting when on the clock

Desktop (AC4):
- Sidebar QueueSection unchanged in position; gains same three-state controls and Draft buttons

Tests (AC7):
- `autodraft.test.ts`: updated for queueOnly field and socket event shape
- `timer-autodraft.test.ts`: new tests for queue-only constraint, auto-shutoff transitions, and all three autodraft states

https://claude.ai/code/session_01PYhJicAStoJ2u6q6dV1naB

* fix: remove erroneous ?? fallbacks in autodraft socket emissions and add autoPickForTeam tests

- Remove `?? true` default on queueOnly in queue-empty auto-disable socket emit
  (line 488) — was dead code since the column is NOT NULL, but semantically wrong
  and would have caused client-side UI desync if the type ever relaxed
- Remove `?? false` default on the next_pick auto-disable path for consistency
- Add app/models/__tests__/auto-pick.test.ts with 6 tests covering the queueOnly
  constraint: empty queue, all items drafted, partial queue skip, and EV fallback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: add missing queueOnly prop to AutodraftSettings test fixtures

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* test: rewrite AutodraftSettings tests for three-state button group UI

The component was redesigned from a switch + radio buttons to Off/Next Pick/All Picks
buttons with a separate queue-only Switch toggle. Updated 17 stale tests and added 5
new tests covering the queue-only toggle and the All Picks/Off button interactions.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-27 22:16:26 -08:00
..
0000_snapshot.json Initial commit from create-react-router 2025-10-10 23:04:50 -07:00
0001_snapshot.json feat: add fantasy league schema and new league routes 2025-10-11 00:07:39 -07:00
0002_snapshot.json feat: add commissioner model and league management features 2025-10-11 00:29:04 -07:00
0003_snapshot.json feat: add user model, routes, and Clerk webhook integration 2025-10-11 00:53:39 -07:00
0004_snapshot.json feat: add user model, routes, and Clerk webhook integration 2025-10-11 00:53:39 -07:00
0005_snapshot.json refactor: remove guest book feature and update league settings success flow 2025-10-11 01:03:31 -07:00
0006_snapshot.json feat: add current season tracking and active league listing by user 2025-10-11 21:10:01 -07:00
0007_snapshot.json feat: add sports and participant models with admin user functionality 2025-10-12 21:16:00 -07:00
0008_snapshot.json feat: add icon support for sports with file upload and active seasons display 2025-10-13 10:30:47 -07:00
0009_snapshot.json refactor: remove isRequired field from season sports and templates 2025-10-13 15:00:59 -07:00
0010_snapshot.json feat: add invite code system for league seasons with member access control 2025-10-14 12:20:36 -07:00
0011_snapshot.json feat: add username field to users and display in league views 2025-10-14 21:20:58 -07:00
0012_snapshot.json feat: add team settings route and logo URL field to teams table 2025-10-14 22:04:37 -07:00
0013_snapshot.json feat: add draft order management with UI for manual and random ordering 2025-10-15 08:58:35 -07:00
0014_snapshot.json feat: add bulk participant creation and expected value field 2025-10-15 21:21:33 -07:00
0015_snapshot.json feat: add draft rounds configuration to league settings 2025-10-15 21:50:02 -07:00
0016_snapshot.json feat: add draft date/time selection to league creation and settings 2025-10-15 22:02:21 -07:00
0017_snapshot.json feat: add draft pick, queue, and timer models with database schema updates 2025-10-16 00:32:48 -07:00
0018_snapshot.json feat: add public draft board and simplify draft speed settings 2025-10-20 15:03:11 -07:00
0019_snapshot.json feat: add autodraft status and team connection indicators to draft grid 2025-10-21 23:22:17 -07:00
0020_snapshot.json feat: Add comprehensive scoring system database schema 2025-10-28 23:40:11 -07:00
0021_snapshot.json feat: Implement bracket expansion plan to support various tournament structures 2025-11-03 09:36:16 -08:00
0022_snapshot.json feat: Implement bracket expansion plan to support various tournament structures 2025-11-03 09:36:16 -08:00
0023_snapshot.json Refactor code structure for improved readability and maintainability 2025-11-03 13:16:37 -08:00
0024_snapshot.json feat: implement Expected Value System with ICM probability calculator 2025-11-17 22:19:46 -08:00
_journal.json Claude/redesign autodraft queue c4 kp r (#40) 2026-02-27 22:16:26 -08:00