UNPKG

@huddle01/react

Version:

The Huddle01 React SDK offers a comprehensive suite of hooks, methods and event listeners that allow for seamless real-time audio and video communication with minimal coding required.

41 lines (39 loc) 1.25 kB
import { useHuddle01_default } from "./chunk-EWIULLG2.js"; // src/hooks/useLobby.ts import { useEffect, useState } from "react"; var useLobby = (props) => { const { huddleClient } = useHuddle01_default(); const [lobbyPeersIds, setLobbyPeersIds] = useState( huddleClient.room.lobbyPeerIds ); useEffect(() => { const room = huddleClient.room; const handleNewLobbyPeers = (lobbyPeerIds) => { setLobbyPeersIds(lobbyPeerIds); if (props?.onLobbyPeersUpdated) { props.onLobbyPeersUpdated(lobbyPeerIds); } }; const handleNewLobbyPeer = (peer) => { if (props?.onNewLobbyPeer) { props.onNewLobbyPeer(peer); } }; room.on("lobby-peers-updated", handleNewLobbyPeers); room.on("new-lobby-peer", handleNewLobbyPeer); return () => { room.off("lobby-peers-updated", handleNewLobbyPeers); room.off("new-lobby-peer", handleNewLobbyPeer); }; }, []); const admitPeer = huddleClient.room.admitPeer; const denyPeer = huddleClient.room.denyPeer; const getLobbyPeerMetadata = huddleClient.room.getLobbyPeerMetadata; return { lobbyPeersIds, getLobbyPeerMetadata, admitPeer, denyPeer }; }; export { useLobby }; //# sourceMappingURL=chunk-6QIFH3MV.js.map