import type { FormEvent, ReactNode } from "react"; import { useState } from "react"; import { ThemeToggle } from "./ThemeToggle"; export interface ConnectScreenProps { defaultName: string; error: string | null; onConnect(link: string, name: string): void; } export function ConnectScreen({ defaultName, error, onConnect }: ConnectScreenProps): ReactNode { const [link, setLink] = useState(""); const [name, setName] = useState(defaultName); const [localError, setLocalError] = useState(null); const submit = (e: FormEvent): void => { e.preventDefault(); const trimmed = link.trim(); if (!trimmed) { setLocalError("paste a join link first"); return; } setLocalError(null); onConnect(trimmed, name.trim() || "guest"); }; const shown = localError ?? error; return (
live agent session, in your browser
{shown &&
{shown}
}
); }