handle game WS messages in client hook
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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 }
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user