import { useParams } from "react-router-dom"; import Layout from "../components/Layout"; import Connect from "../components/ConnectWithName"; import { useWebSocket } from "../hooks/useWebSocket"; import ChatMessages from "../components/MessageDisplay"; import ChatInput from "../components/ChatInput"; import { useChatState } from "../contexts/ChatContext"; import ParticipantList from "../components/ParticipantsList"; import ChatMenu from "../components/ChatMenu"; import RoomHeader from "../components/RoomHeader"; function Room() { const { roomId } = useParams(); // can never be null as this Room component is only ever rendered if react-router matches the route WITH a roomId const { isConnected, connect, sendMessage } = useWebSocket(roomId ?? ""); const { state } = useChatState(); if (!isConnected) { return (
); } // is connected return (
{state.selectedMenu === "chat" && ( <> )} {state.selectedMenu === "participants" && }
); } export default Room;