import { useSocket } from '@/context/SocketProvider'; import { useRouter } from 'next/router'; import React, { useCallback, useEffect, useState } from 'react'; import VideoCallIcon from '@mui/icons-material/VideoCall'; const LobbyScreen = () => { const [email, setEmail] = useState(""); const [room, setRoom] = useState(""); const socket = useSocket(); const router = useRouter(); // console.log(socket); const handleSubmitForm = useCallback((e) => { e.preventDefault(); socket.emit('room:join', { email, room }); }, [email, room, socket]); const handleJoinRoom = useCallback((data) => { const { email, room } = data; router.push(`/room/${room}`); }, [router]); useEffect(() => { socket.on("room:join", handleJoinRoom); return () => { socket.off("room:join", handleJoinRoom); } }, [socket, handleJoinRoom]); return (
VideoPeers

VideoPeers

Peer-to-Peer video calls, powered by WebRTC!
Bring People Closer Together.

setEmail(e.target.value)} />
setRoom(e.target.value)} />
) } export default LobbyScreen