@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
JavaScript
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