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.

53 lines (51 loc) 1.41 kB
import { useHuddle01_default } from "./chunk-6UAH4WUQ.js"; // src/hooks/useDataMessage.ts import { useCallback, useEffect } from "react"; var useDataMessage = (props) => { const { huddleClient } = useHuddle01_default(); const localPeer = huddleClient.localPeer; const sendData = useCallback( (data) => { return localPeer.sendData(data); }, [] ); const sendVolatileData = useCallback( (data) => { console.info("Sending Volatile Data", data); return huddleClient.localPeer.sendVolatileData(data); }, [] ); const handleNewMessage = useCallback( (data) => { if (props?.onMessage) props.onMessage(data.payload, data.from, data.label); }, [props?.onMessage] ); const handleNewVolatileMessage = useCallback( (data) => { if (props?.onVolatileMesssage) props.onVolatileMesssage(data); }, [props?.onVolatileMesssage] ); useEffect(() => { localPeer.on("receive-data", handleNewMessage); huddleClient.room.on("received-volatile-data", handleNewVolatileMessage); return () => { localPeer.off("receive-data", handleNewMessage); huddleClient.room.off("received-volatile-data", handleNewVolatileMessage); }; }, [props?.onMessage, props?.onVolatileMesssage]); return { sendData, sendVolatileData }; }; export { useDataMessage }; //# sourceMappingURL=chunk-YJ3BT3KI.js.map