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