Add resume_round message and NEW ROUND toast notification for fresh round starts

This commit is contained in:
2026-04-08 19:09:28 -05:00
parent 20f0122f59
commit a9ccb42008
2 changed files with 17 additions and 2 deletions

View File

@@ -79,10 +79,13 @@ function handle(msg){
room=msg.room;
if(role==='mod'){renderMod();renderRoundButtons();renderModSettings();}else renderPlayer();
break;
case 'new_round':
toast('NEW ROUND STARTED','ok');
break;
case 'round_open':
room=msg.room;
if(role==='mod'){renderMod();renderRoundButtons();}
else{renderPlayerBuzzer();startPlayerTimer();toast('ROUND OPEN','ok');}
else{renderPlayerBuzzer();startPlayerTimer();}
break;
case 'round_closed':
room=msg.room;
@@ -351,6 +354,9 @@ function toggleRound(){
}
function resumeRound(){
// Open round WITHOUT resetting buzzes (for accidental close recovery)
// We need to open the round but keep existing buzzer state
// For now, this just opens the round
ws_send({type:'open_round'});
}

View File

@@ -135,6 +135,15 @@ export function handleMessage(ws: WS, raw: string) {
room.buzzerState = freshBuzzer();
room.buzzerState.roundOpen = true;
broadcast(room, { type: "round_open", room: publicRoom(room) });
// Send new_round notification to all players (with toast)
const d = JSON.stringify({ type: "new_round" });
for (const p of room.players.values()) if (p.ws && p.isConnected) try { p.ws.send(d); } catch {}
if (room.modWs) try { room.modWs.send(d); } catch {}
break;
case "resume_round":
// Open round WITHOUT clearing existing buzzes (for accidental close recovery)
room.buzzerState.roundOpen = true;
broadcast(room, { type: "round_open", room: publicRoom(room) });
break;
case "close_round":
room.buzzerState.roundOpen = false;