Chop a side pot on the screen that worked it out, and fix Quick Split's contrast #96
Closed
jheaps
wants to merge 1 commits from
fix/casino-holdem-quicksplit-chop into fix/casino-holdem-buildable-bet-sizes
pull from: fix/casino-holdem-quicksplit-chop
merge into: :fix/casino-holdem-buildable-bet-sizes
:master
:feature/socialism
:polish/holdem-seats-one-size
:fix/holdem-dealer-chip-eats-its-seat
:polish/holdem-game-night-ready
:polish/holdem-round-next
:polish/holdem-seat-collisions
:polish/holdem-offline-and-render
:fix/naming-a-blind-deals-the-hand
:release/casino-holdem-polish
:fix/casino-holdem-phone-look
:fix/casino-holdem-sidebar-crowding
:fix/casino-holdem-contribution-rule
:fix/casino-holdem-one-stack-rule
:fix/casino-holdem-default-stack-buyin
:feat/casino-holdem-waiting-list
:feat/casino-holdem-misdeal
:feat/casino-holdem-cash-out
:feat/casino-holdem-clock
:feat/casino-holdem-rake
:fix/casino-holdem-stadium-ring
:fix/casino-holdem-phone-felt-shape
:fix/casino-holdem-audit-runs-everything
:feat/casino-holdem-straddle
:fix/casino-holdem-landscape-ring
:feat/casino-holdem-table-file
:fix/casino-holdem-touch-targets
:fix/casino-holdem-audit-modal-blindspot
:fix/casino-holdem-quicksplit-chop
:fix/casino-holdem-buildable-bet-sizes
:fix/casino-holdem-pot-sized-raise
:fix/casino-holdem-chips-to-count-out
:fix/casino-holdem-first-buy-in
:fix/casino-holdem-seating-a-table
:fix/casino-holdem-showdown-order
:fix/casino-holdem-hand-log-filter
:fix/casino-holdem-posting-in
:fix/casino-holdem-dead-button
:fix/casino-holdem-discarded-pot
:fix/casino-holdem-honest-tank-clock
:fix/casino-holdem-export-the-notes
:fix/casino-holdem-stacks-in-chips
:fix/casino-holdem-close-audit-blind-spots
:fix/casino-holdem-readable-dim-states
:fix/casino-holdem-drop-broken-watermark
:fix/casino-holdem-two-tabs
:fix/casino-holdem-unreadable-save
:fix/casino-holdem-say-when-not-saving
:fix/casino-holdem-shortcut-discovery
:fix/casino-holdem-rulings-index-compact
:fix/casino-holdem-rulings-index
:fix/casino-holdem-payout-in-chips
:fix/casino-holdem-move-seat-on-touch
:fix/casino-holdem-amount-fields-select
:fix/casino-holdem-touch-targets-by-pointer
:fix/casino-holdem-button-box-model
:fix/casino-holdem-blind-badge-placement
:fix/casino-holdem-buyin-deals-in
:fix/casino-holdem-bet-vs-raise
:fix/casino-holdem-deal-around-broke
:fix/casino-holdem-settle-up
:fix/casino-holdem-allin-and-bar
:fix/casino-holdem-one-dealer-button
:fix/casino-holdem-manual-deal
:fix/casino-holdem-less-guessing
:feature/casino-holdem-seat-editor
:fix/casino-holdem-landscape-table
:feature/casino-holdem-acting-seat
:feature/casino-holdem-raise-guard
:feature/casino-holdem-first-run
:feature/casino-holdem-contrast-audit
:feature/casino-holdem-layout-audit
:feature/casino-holdem-blind-fairness
:feature/casino-holdem-rulings-depth
:feature/casino-holdem-bank-audit
:feature/casino-holdem-fewer-taps
:feature/casino-holdem-render-perf
:feature/casino-holdem-keyboard-focus
:feature/casino-holdem-resilience
:feature/casino-holdem-messy-tables
:feature/casino-holdem-touch-mobile
:chore/casino-holdem-tech-debt
:feature/casino-holdem-dealer-batch
:feature/casino-holdem-seat-count-safety
:feature/casino-holdem-odd-chip
:feature/casino-holdem-button-moves
:feature/casino-holdem-allin-runout
:feature/casino-holdem-heads-up
:feature/casino-holdem-contrast
:feature/casino-holdem-touch-audit
:feature/casino-holdem-wizard-polish
:feature/casino-quicksplit-side-pots
:feature/casino-holdem-rebuys
:feature/casino-holdem-rulings
:feature/casino-holdem-sidebar-polish
:feature/casino-holdem-keyboard
:feature/casino-holdem-action-undo
:feature/casino-holdem-pace
:feature/casino-holdem-side-pot-breakdown
:feature/casino-holdem-gestures
:feature/casino-holdem-card-picker
:feature/casino-holdem-live-betting
:feature/casino-holdem-bet-chips
:feature/casino-holdem-seat-legibility
:feature/casino-holdem-undo-toasts
:feature/casino-holdem-quick-split
:feature/casino-holdem-mobile-table
:feature/casino-holdem-hand-history
:feature/casino-texas-holdem
:feature/casino-holdem-dealer-mode-polish
:feature/fractional-learned-weights
:fix/stockfish-dispose-hang
:fix/blog-cache-staleness
:fix/workflows
:gitea/workflows
:echo-acoustic-ranging
:chess-ui-overhaul
:feature/customChessEngine
:feature/blog
:AddProject
:feature/generalUpdate
:tech-debt/chess-cleanup
:tests/CreatePlaywrightTests
:UpdateParticleSimulatorButton
Reference in New Issue
Block a user
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.
Quick Split — the standalone page for chopping a pot without setting up a table — had never been looked at in these rounds. Its arithmetic turns out to be solid: I checked the even split across odd-chip counts ($7/2, $101/3, $103/4, $104/5, $100/4) and the all-in mode against the classic 40/120/300/300 shape (main $160, sides $240 and $360, uncalled returned), and every one was right, with correct plurals and the odd chips going "one each to the first N players left of the button".
The gap was workflow. The page lists the pots when somebody is all-in and then leaves the dealer there. Two players tying for a side pot is ordinary, and working out each share meant switching to the other mode and retyping an amount the screen had just calculated — a transcription error waiting to happen with money on it, when the number was already on screen.
Each pot with two or more people who can win it now carries a Chop, opening underneath its own row: as many ways as there are contenders by default, a stepper for a chop between fewer of them, and the same odd-chip and dust wording the main split uses — it's the same rule, and a dealer shouldn't have to notice they're reading a different screen. Per-row state, so opening the main pot's chop doesn't disturb what the side pot below it says. Not offered on the uncalled row, which goes back to one player, nor on the total.
And a second finding while I was there. This page has never been through the layout audit the dealer table gets every round, and it was carrying nine contrast failures:
.unevenCurrency$beside every amount typed.unevenRemoveBtn✕that deletes a player's entry.splitFootnoteAll under the 4.5:1 small-text minimum, the worst of them on a destructive control. Lifted to pass. The large
$on the even-mode pot input is deliberately left alone: at 1.6rem it is large text, where 3:1 is the bar and 4.11:1 clears it.Verification
Playwright MCP at 390/768/1280. Chop verified on the 40/120/300/300 table: side pot 2 ($360, two contenders) opens at "2 ways · $180 each"; the main pot ($160, four contenders) stepped down to three reads "$53 each plus one odd $1 chip to the first player left of the button" — and side pot 2 stays at 2 ways while that happens. No chop control on the uncalled or total rows. Contrast now 0 offenders in both modes at all three sizes, down from 9; 44px chop target on touch, no sideways scroll.
One layout bug of my own, caught by measuring rather than looking: the chop panel came out 328px inside a 309px row, because padding is added on top of a
flex-basis: 100%. Fixed withbox-sizing: border-boxand re-measured at 309/309.Existing suite unchanged at 387 tests, 0 failures — this page's logic is already covered by
splitCalculatorandpotCalculatortests.Stacked on
fix/casino-holdem-buildable-bet-sizes.🤖 Generated with Claude Code
https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgb
Quick Split lists the pots when somebody is all-in — main, sides, uncalled — and then leaves the dealer there. Two players tying for a side pot is ordinary, and working out each one's share meant switching to the other mode and retyping an amount the screen had just calculated. Retyping a number with money on it is a transcription error waiting to happen, and the number was already on screen. Each pot with two or more people who can win it now carries a Chop, opening underneath its own row: as many ways as there are contenders by default, a stepper for a chop between fewer of them, and the same odd-chip and dust wording the main split uses, because it is the same rule and the dealer shouldn't have to notice they are reading a different screen. Per-row state, so opening the main pot's chop doesn't disturb what the side pot below it says. Not offered on the uncalled row, which goes back to one player, nor on the total. Separately, this page had never been through the layout audit the dealer table gets every round, and it was carrying nine contrast failures: .unevenCurrency 4.11:1 the $ beside every amount typed .unevenRemoveBtn 3.66:1 the ✕ that deletes a player's entry .splitFootnote 3.94:1 the instruction for what to do with the pot list All under the 4.5:1 small-text minimum, the worst of them on a destructive control. Lifted to pass. The large $ on the even-mode pot input is left alone: at 1.6rem it is large text, where 3:1 is the bar and 4.11:1 clears it. Co-Authored-By: Claude Opus 5 <[email protected]> Claude-Session: https://claude.ai/code/session_015bnp7xKUPFFSpwkYNFaPgbPull request closed