strat-gameplay-webapp/frontend-sba/composables
Cal Corum 453280487c CLAUDE: Integrate XCheckWizard into GameplayPanel and wire up WebSocket/store
Step 7 of x-check interactive workflow implementation:

Frontend Integration:
- GameplayPanel.vue: Add x_check_result_pending workflow state, show XCheckWizard when decision_phase is awaiting_x_check_result, handle interactive vs read-only mode based on active_team_id
- store/game.ts: Add xCheckData and decideData state, add needsXCheckResult/needsDecide* getters, add set/clear actions for x-check and decide data
- useWebSocket.ts: Handle decision_required events with x_check_result/decide_advance/decide_throw/decide_speed_check types, route to appropriate store actions, clear x-check/decide data on play_resolved
- useGameActions.ts: Add submitXCheckResult(), submitDecideAdvance(), submitDecideThrow(), submitDecideResult() action wrappers
- types: Export XCheckData, DecideAdvanceData, DecideThrowData, DecideSpeedCheckData, PendingXCheck, and new WebSocket request types

Type fixes:
- XCheckData: Allow readonly arrays for d6_individual and chart_row (store returns readonly refs)
- GameplayPanel: Add userTeamId prop for determining interactive mode

Tests: 460 passing, 28 failing (GameplayPanel.spec.ts needs Pinia setup - pre-existing issue)

Next: Step 8 - End-to-end testing of basic x-check flow (no DECIDE)
2026-02-07 17:43:17 -06:00
..
CLAUDE.md CLAUDE: Fix cookie security and SSR data fetching for iPad/Safari 2025-11-27 21:06:42 -06:00
useApiUrl.ts CLAUDE: Improve UX with single-click OAuth, enhanced games list, and layout fix 2025-12-05 16:14:00 -06:00
useGameActions.ts CLAUDE: Integrate XCheckWizard into GameplayPanel and wire up WebSocket/store 2026-02-07 17:43:17 -06:00
useSchedule.ts CLAUDE: Add SBA schedule integration with weekly matchup display 2026-01-14 23:39:31 -06:00
useWebSocket.ts CLAUDE: Integrate XCheckWizard into GameplayPanel and wire up WebSocket/store 2026-02-07 17:43:17 -06:00