handle game WS messages in client hook

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-12 11:13:43 +01:00
parent 8c2d2cefd9
commit 7a330c173c
+21 -1
View File
@@ -28,6 +28,11 @@ export function useWebSocket(roomCode: string) {
addPlayer, addPlayer,
setAct, setAct,
reset, reset,
setGameState,
addDish,
recordDishGuess,
lockPredictions,
setDishResults,
} = useRoomStore() } = useRoomStore()
const send = useCallback((message: ClientMessage) => { const send = useCallback((message: ClientMessage) => {
@@ -84,6 +89,21 @@ export function useWebSocket(roomCode: string) {
case "room_ended": case "room_ended":
setAct("ended") setAct("ended")
break break
case "game_state":
setGameState(msg.gameState)
break
case "predictions_locked":
lockPredictions()
break
case "dish_added":
addDish(msg.dish)
break
case "dish_guess_recorded":
recordDishGuess(msg.dishId, msg.guessedCountry)
break
case "dishes_revealed":
setDishResults(msg.results)
break
case "error": case "error":
console.error("Server error:", msg.message) console.error("Server error:", msg.message)
break break
@@ -98,7 +118,7 @@ export function useWebSocket(roomCode: string) {
ws.close() ws.close()
reset() reset()
} }
}, [roomCode, setRoom, setMySessionId, setConnectionStatus, updatePlayerConnected, addPlayer, setAct, reset]) }, [roomCode, setRoom, setMySessionId, setConnectionStatus, updatePlayerConnected, addPlayer, setAct, reset, setGameState, addDish, recordDishGuess, lockPredictions, setDishResults])
return { send } return { send }
} }