@whop/react
Version:
React SDK for building embedded apps on Whop
25 lines (24 loc) • 692 B
JavaScript
"use client";
import { useEffect, useRef } from "react";
import { useWebsocket } from "./use-websocket.mjs";
export function useBroadcastWebsocketMessage() {
const websocket = useWebsocket();
const queue = useRef([]);
useEffect(()=>{
if (websocket.status === "connected") {
for (const message of queue.current){
websocket.websocket.broadcast(message);
}
queue.current = [];
}
}, [
websocket
]);
return (message)=>{
if (websocket.status !== "connected") {
queue.current.push(message);
} else {
websocket.websocket.broadcast(message);
}
};
}