Commit Graph

11 Commits

Author SHA1 Message Date
tim 2c2f07c2ec Apply velvet-table redesign, fix game lifecycle and history bugs
Frontend:
- Dark green/gold "velvet table" visual redesign across the whole app
  (Auth, Lobby, GameList, GameTable, History, GameOver, modals), with
  Playfair Display/DM Sans typography and a centralized Tailwind palette.
- Desktop game table fit-scales to fill the window; mobile gets
  overlapping hand/trick layouts and larger touch-friendly cards.
- Standings sidebar now groups completed rounds by series with a
  per-series subtotal row, struck-through tips on missed bids.
- History page rewritten into a scoreboard-style detail view (player
  totals beside names, series grouped 2-up on desktop / stacked on
  mobile) and gained game names, completed/abandoned status, and a
  button to reopen a prematurely-ended game back into the lobby.

Backend:
- Fix started games being deleted from memory (and vanishing from
  everyone's lobby) when all players disconnect; only `end_game` tears
  down a started game now.
- Fix a crash writing a timezone-aware datetime into the naive
  `ended_at` Postgres column.
- Add `reopen_game`/`restore_game` to un-end a prematurely-ended game
  from history and resume it from the lobby.
- Let any seated player end an abandoned game once the host is
  offline, not just the host, so the game isn't stuck forever.
- Expose SERIES_PER_GAME/ROUNDS_PER_SERIES as named constants on the
  engine so the persistence layer derives game-completion rules from
  bridzik.py instead of re-encoding them.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-01 00:11:42 +02:00
tim 00937aa89f Add Bridzik.get_player_cards and make get_status player-agnostic
Engine support for the per-connection Socket.IO API: hands are fetched
explicitly via get_player_cards(player) and the shared status no longer
embeds a single player's cards.
2026-06-13 23:40:04 +02:00
Jakub Senderák 889f787f29 shuffler added as explicit dependency 2021-04-18 17:40:38 +02:00
Jakub Senderák 618e632ce4 sort_card_list moved to utils and refactored 2021-04-18 17:40:38 +02:00
Jakub Senderák 71c9e33b85 Bridzik.get_previous_stash added 2021-04-18 17:40:38 +02:00
Jakub Senderák d12f5c093c ui tweaks, admin form 2021-04-18 17:40:37 +02:00
Jakub Senderák f7dd5d44ed added guess interval validation 2021-04-18 17:22:26 +02:00
Jakub Senderák 2fb53d1c3d removed Card class dependency 2020-04-22 14:12:50 +02:00
Jakub Senderák 357d36b89a Bridzik.get_standings fix 2020-04-21 13:41:45 +02:00
Jakub Senderák 3187c42678 Bridzik.get_status fix 2020-04-20 15:23:04 +02:00
Jakub Senderák 122c4ba675 reorganized module 2020-03-30 22:27:43 +02:00