The dealer table is a two-handed, big-screen tool. This adds the fast path for the other situation: a dealer standing over a chopped pot with a phone in one hand and players waiting.
/casino/texasholdem/quicksplit is the whole job on one phone screen — type the pot, tap how many ways, tap the smallest chip in play, read the payout. No seats, no names, no chip legend, nothing saved. Reachable from a Quick Split button in the dealer-table header and its own card on the casino index.
It splits in whole chips, not raw arithmetic, because a dealer cannot push half a chip across the felt: everyone gets the same stack and the remainder is called out as odd chips going one at a time to the first players left of the button. A pot that does not divide into the chosen denomination says so rather than quietly hiding the difference.
Money formatting moves out of render.js into its own file so this screen can use it without pulling in the whole seat/chip UI. Split math lives in a DOM-free splitCalculator.js.
Validated with Playwright at a 390x844 phone viewport: the entire tool fits one screen with no scrolling. Checked the payout math through the real UI ($47/2/$1 -> $23 each + one odd $1 chip; $100/3/$5 -> $30 each + 2 odd $5 chips; $10.50/2/$1 -> flags the $0.50 that will not divide; $0.05/3/1c), the way-count stepper syncing with the quick-pick buttons, input sanitising (1a2.3.456xyz -> 12.34), and the clear button. A 4,000-case randomised sweep confirmed every split accounts for the pot exactly, with odd chips always fewer than the number of players. Also re-ran a full hand on the dealer table (pot wizard, standings, history, CSV) to confirm the Money extraction caused no regression. No console errors.
Based on feature/casino-holdem-hand-history (PR #14) so the diff shows only this work.
The dealer table is a two-handed, big-screen tool. This adds the fast path for the other situation: a dealer standing over a chopped pot with a phone in one hand and players waiting.
`/casino/texasholdem/quicksplit` is the whole job on one phone screen — type the pot, tap how many ways, tap the smallest chip in play, read the payout. No seats, no names, no chip legend, nothing saved. Reachable from a Quick Split button in the dealer-table header and its own card on the casino index.
It splits in **whole chips**, not raw arithmetic, because a dealer cannot push half a chip across the felt: everyone gets the same stack and the remainder is called out as odd chips going one at a time to the first players left of the button. A pot that does not divide into the chosen denomination says so rather than quietly hiding the difference.
Money formatting moves out of `render.js` into its own file so this screen can use it without pulling in the whole seat/chip UI. Split math lives in a DOM-free `splitCalculator.js`.
**Validated with Playwright** at a 390x844 phone viewport: the entire tool fits one screen with no scrolling. Checked the payout math through the real UI ($47/2/$1 -> $23 each + one odd $1 chip; $100/3/$5 -> $30 each + 2 odd $5 chips; $10.50/2/$1 -> flags the $0.50 that will not divide; $0.05/3/1c), the way-count stepper syncing with the quick-pick buttons, input sanitising (`1a2.3.456xyz` -> `12.34`), and the clear button. A 4,000-case randomised sweep confirmed every split accounts for the pot exactly, with odd chips always fewer than the number of players. Also re-ran a full hand on the dealer table (pot wizard, standings, history, CSV) to confirm the Money extraction caused no regression. No console errors.
Based on `feature/casino-holdem-hand-history` (PR #14) so the diff shows only this work.
The dealer table is a two-handed, big-screen tool. A dealer standing over a
chopped pot with a phone in one hand and players waiting needs an answer in
seconds, not a table to set up first — so /casino/texasholdem/quicksplit is
the whole job on one screen: type the pot, tap how many ways, tap the
smallest chip in play, read the payout. Nothing to configure, nothing saved.
It splits in whole chips rather than raw arithmetic, because a dealer can't
push half a chip across the felt: everyone gets the same stack and the
remainder is called out as odd chips going one at a time to the first
players left of the button. A pot that doesn't divide into the chosen
denomination says so instead of quietly hiding the difference.
Money formatting moves out of render.js into its own file so this screen can
use it without pulling in the whole seat/chip UI.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
Two things were broken on a narrow screen. The seat ring is drawn on a radius
measured from the table wrap, so at phone width the left- and right-most seats
hung off the edge of the viewport — at a ten-handed table two players were
simply not on screen. And tapping a seat opened an editor far enough down the
page that it looked like nothing had happened.
The ring is now inset by half a puck on phones, which keeps every seat on
screen, and the pucks are narrower there so neighbours stop overlapping where
the ring flattens out at the top and bottom. The seat editor becomes a bottom
sheet that slides up over the table: grip, Done button, tap the same seat again
to dismiss, table still visible above it. Its controls grow to thumb size, and
every field goes to 16px — below that iOS zooms the page on focus and the
dealer has to pinch back out mid-hand.
Header actions become full-width tap targets, and the page padding tightens to
give the table the width it needs. Nothing above 700px changes.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
Three system confirm() dialogs sat in the middle of dealing. The worst was on
Next Hand — the most-pressed button in a session, asking "are you sure?" every
single time, stealing focus and, on a phone, taking over the screen.
Next Hand now just happens, and a toast says where the button landed with an
Undo beside it for the few seconds anyone would notice a misclick. The same
undo covers the pot wizard, which is the more valuable case: paying the wrong
player is a real mistake, and rolling it back restores the hand history entry
and the session standings along with the seats. The snapshot is in-memory only
— an undo is for the mistake you just made, not one from last night.
The two genuinely destructive actions keep a confirmation, but as an in-page
dialog that matches the table instead of the browser's own: Escape or the
backdrop cancels, Enter confirms, and on a phone the buttons go full width with
Cancel nearest the thumb.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The dealer table is a two-handed, big-screen tool. This adds the fast path for the other situation: a dealer standing over a chopped pot with a phone in one hand and players waiting.
/casino/texasholdem/quicksplitis the whole job on one phone screen — type the pot, tap how many ways, tap the smallest chip in play, read the payout. No seats, no names, no chip legend, nothing saved. Reachable from a Quick Split button in the dealer-table header and its own card on the casino index.It splits in whole chips, not raw arithmetic, because a dealer cannot push half a chip across the felt: everyone gets the same stack and the remainder is called out as odd chips going one at a time to the first players left of the button. A pot that does not divide into the chosen denomination says so rather than quietly hiding the difference.
Money formatting moves out of
render.jsinto its own file so this screen can use it without pulling in the whole seat/chip UI. Split math lives in a DOM-freesplitCalculator.js.Validated with Playwright at a 390x844 phone viewport: the entire tool fits one screen with no scrolling. Checked the payout math through the real UI ($47/2/$1 -> $23 each + one odd $1 chip; $100/3/$5 -> $30 each + 2 odd $5 chips; $10.50/2/$1 -> flags the $0.50 that will not divide; $0.05/3/1c), the way-count stepper syncing with the quick-pick buttons, input sanitising (
1a2.3.456xyz->12.34), and the clear button. A 4,000-case randomised sweep confirmed every split accounts for the pot exactly, with odd chips always fewer than the number of players. Also re-ran a full hand on the dealer table (pot wizard, standings, history, CSV) to confirm the Money extraction caused no regression. No console errors.Based on
feature/casino-holdem-hand-history(PR #14) so the diff shows only this work.