Description
Two visual states are either absent or underdeveloped in the overlay:
1. Idle state shows empty placeholders
When status === 'idle', the panel shows a grey badge and empty list entries with dashes. This looks like a rendering bug to viewers who don't know the game hasn't started yet.
Fix: When idle, hide the leaderboard and gauge, and show a dedicated screen:
<div id="idle-screen">
<p>No game running</p>
</div>
2. Winner announcement is minimal
When status === 'found', the word is revealed but there is no winner name displayed, no repeated animation, and no celebratory visual feedback.
Fix:
- Display the winner's name if
state.winner is provided by the backend
- Add a repeating
pulse animation on the revealed word:
@keyframes pulse {
0%,100% { text-shadow: 0 0 8px rgba(255,215,0,0.4); }
50% { text-shadow: 0 0 24px rgba(255,215,0,1); }
}
.found-animate { animation: pop 0.4s ease, pulse 1.5s ease 0.4s infinite; }
Note: if state.winner is not currently included in the WebSocket payload, a small addition to overlay/server.py will be needed.
Identified by
🎨 [Tech] UX Designer
Description
Two visual states are either absent or underdeveloped in the overlay:
1. Idle state shows empty placeholders
When
status === 'idle', the panel shows a grey badge and empty list entries with dashes. This looks like a rendering bug to viewers who don't know the game hasn't started yet.Fix: When idle, hide the leaderboard and gauge, and show a dedicated screen:
2. Winner announcement is minimal
When
status === 'found', the word is revealed but there is no winner name displayed, no repeated animation, and no celebratory visual feedback.Fix:
state.winneris provided by the backendpulseanimation on the revealed word:Note: if
state.winneris not currently included in the WebSocket payload, a small addition tooverlay/server.pywill be needed.Identified by
🎨
[Tech] UX Designer