Overhaul TUI navigation, quit handling, and scoreboard tags
- Replace [esc][esc] quit with [q] quit globally (immediate on login, confirmation prompt elsewhere) - [esc] is now consistently "back": signup→login, lobby→log out (with confirm), in-room host→leave (with confirm), in-room guest→leave - Extract ConfirmScreen to shared screens/confirm.py - Move dealer Ⓓ indicator to bottom-left corner of player box border - Scoreboard now tags OUT (went out first) and ⭐ (lowest score) - Send finisher_id and player id in round_over server message - Room code moved inside in-room section with amber border - Lobby title uses branded ⛳🏌️ GolfCards.club ♠♥♣♦ - Amber borders and dark green backgrounds on login/lobby containers - Deck preview renders actual card-back shapes (▓▒▓/▒▓▒) - Help/standings panels close only with [esc], hint updated - Game footer: s[⇥]andings [h]elp on left, [q]uit on right Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -756,7 +756,7 @@ async def broadcast_game_state(room: Room):
|
||||
# Check for round over
|
||||
if room.game.phase == GamePhase.ROUND_OVER:
|
||||
scores = [
|
||||
{"name": p.name, "score": p.score, "total": p.total_score, "rounds_won": p.rounds_won}
|
||||
{"id": p.id, "name": p.name, "score": p.score, "total": p.total_score, "rounds_won": p.rounds_won}
|
||||
for p in room.game.players
|
||||
]
|
||||
# Build rankings
|
||||
@@ -765,6 +765,7 @@ async def broadcast_game_state(room: Room):
|
||||
await player.websocket.send_json({
|
||||
"type": "round_over",
|
||||
"scores": scores,
|
||||
"finisher_id": room.game.finisher_id,
|
||||
"round": room.game.current_round,
|
||||
"total_rounds": room.game.num_rounds,
|
||||
"rankings": {
|
||||
|
||||
Reference in New Issue
Block a user