feat: admin controls

This commit is contained in:
2026-04-15 12:21:36 -04:00
Unverified
parent bc6cb9f162
commit 6696d4c235
8 changed files with 888 additions and 36 deletions

View File

@@ -60,7 +60,6 @@ export default function SpectatePage() {
status,
send,
subscribe,
disconnect,
shouldRedirectToConnect,
clearRedirectFlag,
} = useConnection();
@@ -72,7 +71,6 @@ export default function SpectatePage() {
const [gameList, setGameList] = useState<GameEntry[]>([]);
const [liveGames, setLiveGames] = useState<Map<number, LiveGame>>(new Map());
const [selectedGame, setSelectedGame] = useState<number | null>(null);
const [log, setLog] = useState<string[]>([]);
const [knockoutRawData, setKnockoutRawData] = useState("");
const [tournamentWinner, setTournamentWinner] = useState<string | null>(null);
@@ -80,11 +78,11 @@ export default function SpectatePage() {
const initialBoardSyncPendingRef = useRef(true);
const addLog = useCallback(
(msg: string) =>
setLog((prev) => [
`[${new Date().toLocaleTimeString()}] ${msg}`,
...prev.slice(0, 79),
]),
(msg: string) => {
if (process.env.NODE_ENV === "development") {
console.log(`[spectate] ${msg}`);
}
},
[],
);