Commit Graph

5 Commits

Author SHA1 Message Date
randrews 813d18e133 Implement scoresheet page with scoring logic and confirmation dialog
- Add src/game/scoring.ts with computeRunningTotals and isGameOver
- Build ScoreSheet grid: player columns, per-round scores, running totals after round 2+
- Small red "New Game" button in header top-right with full-screen confirmation overlay
- Extend PageFrame with headerAction and overlay props
- Move press animation/shadow from .pressable class to global button selector

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 00:34:23 -05:00
randrews e0a6aed4cf Centralize duplicated card shell, press animation, and color tokens
Extract the rounded-card shell and button press animation into a shared
CSS module composed by PageFrame, TitleScreen, and all buttons, add color
tokens for repeated values, and load the saved game once on mount.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-27 00:23:36 -05:00
randrews 3b6bd6815d Document pages, data model, and design system in CLAUDE.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-27 00:06:46 -05:00
randrews 6f9a9bc5dc Add placeholder page flow with localStorage-backed navigation
Four screens (Title, Player Setup, Score Sheet, Enter Scores) wired together
via a simple useState state machine. Auto-resumes to Score Sheet if a game
exists in localStorage under the key 'currentGame'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 20:02:59 -05:00
randrews a09e8dac7f Initialize Black 7 PWA with React, Vite, and app icons
Sets up Vite + React + TypeScript with vite-plugin-pwa for offline support.
Adds app icon (line-drawn 7 on black) in all required sizes with a generation script.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 19:30:46 -05:00