mirror of
https://github.com/tiennm99/loto.git
synced 2026-08-31 22:23:49 +00:00
- Validate localStorage shape on load (typed parse, guarded set) - Fix isRowComplete to require at least one number per row - Split row-scan effect into bingo + waiting passes so updates to later rows are not skipped by an early return - Memoize per-row completeness; was recomputing 81 times per render - Replace clickable divs with real <button>s; aria-label, aria-pressed, focus ring, dialog role + escape on the bingo modal - Freeze the master tracking board to make module-scope state safer - Allow NEXT_BASE_PATH to override the prod default for forks / custom-domain deploys