From a71308f6f04aacf20522ac53c78783533341c46c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20F=C3=B6rtsch?= Date: Thu, 12 Mar 2026 21:02:00 +0100 Subject: [PATCH] integrate jury controls, bingo, leaderboard in host route Co-Authored-By: Claude Opus 4.6 --- packages/client/src/routes/host.$roomCode.tsx | 57 ++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/packages/client/src/routes/host.$roomCode.tsx b/packages/client/src/routes/host.$roomCode.tsx index a34559a..5d0ae4b 100644 --- a/packages/client/src/routes/host.$roomCode.tsx +++ b/packages/client/src/routes/host.$roomCode.tsx @@ -3,6 +3,10 @@ import { useWebSocket } from "@/hooks/use-websocket" import { useRoomStore } from "@/stores/room-store" import { PlayerList } from "@/components/player-list" import { PredictionsForm } from "@/components/predictions-form" +import { JuryHost } from "@/components/jury-host" +import { JuryVoting } from "@/components/jury-voting" +import { BingoCard } from "@/components/bingo-card" +import { Leaderboard } from "@/components/leaderboard" import { RoomHeader } from "@/components/room-header" import { Button } from "@/components/ui/button" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" @@ -48,7 +52,7 @@ function HostView() { - {gameState && room.currentAct !== "ended" && ( + {gameState && (room.currentAct === "lobby" || room.currentAct === "pre-show") && (
)} + + {gameState && room.currentAct === "live-event" && ( + + + Jury + Bingo + + + {gameState.currentJuryRound ? ( + send({ type: "submit_jury_vote", rating })} + /> + ) : ( +
+ Waiting for host to open voting... +
+ )} +
+ + {gameState.myBingoCard ? ( + send({ type: "tap_bingo_square", tropeId })} + /> + ) : ( +
+ No bingo card yet +
+ )} +
+
+ )} + + {gameState && (room.currentAct === "scoring" || room.currentAct === "ended") && ( + + )} + )} + {room.currentAct === "live-event" && gameState && ( + send({ type: "open_jury_vote", countryCode })} + onCloseVote={() => send({ type: "close_jury_vote" })} + /> + )} + {gameState && (room.currentAct === "scoring" || room.currentAct === "ended") && ( + + )}