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.

39 lines (37 loc) 1.15 kB
import { useHuddle01_default } from "./chunk-6UAH4WUQ.js"; // src/hooks/useRoomControls.ts import { useCallback, useEffect, useState } from "react"; var useRoomControls = (props) => { const { huddleClient } = useHuddle01_default(); const room = huddleClient.room; const [roomControls, setRoomControls] = useState(room.config); const handleRoomClose = useCallback( (data) => { if (props?.onRoomLeave) props.onRoomLeave(data); }, [props?.onRoomLeave] ); const handleRoomControlsUpdate = useCallback(() => { if (props?.onRoomControlsUpdated) props.onRoomControlsUpdated(room.config); setRoomControls(room.config); }, [props?.onRoomControlsUpdated]); useEffect(() => { room.once("room-closed", handleRoomClose); room.on("room-controls-updated", handleRoomControlsUpdate); return () => { room.off("room-closed", handleRoomClose); room.off("room-controls-updated", handleRoomControlsUpdate); }; }, []); const updateControls = room.updateRoomControls; return { roomControls, updateControls }; }; export { useRoomControls }; //# sourceMappingURL=chunk-D346AQIN.js.map