Skip to main content

Bet Panel Fixes — Comprehensive Implementation Plan

Context

22+ issues identified across 6 PRs (#76, #79, #80, #81, #82, #83) in the bet-panel branch, plus 7 additional items from review. Critical: mobile bet panel never renders, ONE CLICK is decorative, batch endpoint unused, partial failures clear entire slip. User provided 7 reference images from 1exch.com as target UX. All work is in /Users/bhargavveepuri/forsyt/Hannibal/bet-panel/.


Workstream 1: Layout & Responsive (Critical)

1A. Fix mobile BetPanel rendering

1B. Fix CSS grid specificity

Workstream 2: ONE CLICK + Settings + Confirmation

2A. Overhaul betPanelSettingsStore.ts

2B. Redesign OneClickToggle.tsx per Image 8

2C. Wire ONE CLICK in ExchangeGrid.tsx

2D. Create BetConfirmDialog.tsx (Image 7)

2E. Create OneClickConfirmDialog.tsx (Image 4)

2F. Add Settings inside OneClickToggle bar + BetSlipSettings.tsx (Image 5)

Workstream 3: Bet Card + Limits + Validation

3A. Flatten BetSlipItem

3B. Fix odds-click → betslip panel visibility

3C. Block empty depth from bet slip

3D. Store minStake from backend limits

3E. Editable odds field in BetSlipCard.tsx

3F. Display Min/Max/Max.Mkt per Image 6

3G. Stake validation inline

3H. Unify tick logic

Workstream 4: Bet Placement + Backend

4A. Wire batch placement in BetSlipFooter.tsx

4B. Implement POST /agent/bets/batch backend endpoint

4C. Keep failed bets in slip

4D. Integrate confirmation dialog

4E. Fix countdown timer

4F. Fix sportId type conversion

4G. Add totalMatched to odds response

Workstream 5: Cricket & UI Polish

5A. TossAnalysis + SessionPanel collapsible chevrons

5B. SportSelector consistency between /live and fixture detail

Workstream 6: TODO Markers (deferred items)


See full plan in conversation transcript.