"use client"; import { FormEvent, useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import { DEFAULT_WS_URL } from "@/lib/protocol"; import { useConnection } from "@/lib/connection"; export default function Home() { const router = useRouter(); const { connect, role, status, wsUrl: connectedWsUrl, shouldRedirectToConnect, clearRedirectFlag, } = useConnection(); const [wsUrl, setWsUrl] = useState(DEFAULT_WS_URL); useEffect(() => { if (shouldRedirectToConnect) { clearRedirectFlag(); } }, [shouldRedirectToConnect, clearRedirectFlag]); const onSubmit = (event: FormEvent) => { event.preventDefault(); connect({ role: "observer", wsUrl }); router.push("/spectate"); }; return (

Connect to Moderator Server

Connect as an observer to watch live matches and tournaments.

{shouldRedirectToConnect && (
Connection lost. Please reconnect to continue.
)} {status === "connected" && role && (
Connected to {connectedWsUrl} as observer.
)}
setWsUrl(e.target.value)} placeholder="wss://..." />
); }