import { useState } from 'react' import { useParams } from 'react-router-dom' import Button from '@mui/material/Button' import Typography from '@mui/material/Typography' import { usePeerRoom } from 'hooks/usePeerRoom' import { PeerRoom } from 'services/PeerRoom' enum PeerActions { MESSAGE = 'MESSAGE', } interface RoomProps { peerRoom: PeerRoom roomId: string } function Room({ peerRoom, roomId }: RoomProps) { const { makeAction } = peerRoom const [[sendMessage, receiveMessage]] = useState(() => makeAction(PeerActions.MESSAGE) ) receiveMessage(message => { console.log(message) }) return (
Room ID: {roomId} Open this page in another tab and open the console.
) } function RoomLoader() { const { roomId = '' } = useParams() const peerRoom = usePeerRoom({ appId: `${encodeURI(window.location.origin)}_${process.env.REACT_APP_NAME}`, roomId, }) if (peerRoom) { return } else { return <>Loading... } } export { RoomLoader as Room }