UNPKG

@multisynq/react-together

Version:

A library to seamlessly add real-time multi-user interaction to your React app!

26 lines (25 loc) 804 B
import { useRef as l, useEffect as c } from "react"; import "@croquet/react"; import "unique-names-generator"; import "../models/ReactTogetherModel.js"; import m from "./useStateTogetherWithPerUserValues.js"; function P(r, d = {}) { const o = l(null), [v, s, a] = m(r, !1); c(() => { const e = o.current; if (!e) return; const t = (i) => { const u = i.rtProcessedBy; u === void 0 ? (s(!0), i.rtProcessedBy = r) : u !== r && s(!1); }, n = () => s(!1); return e.addEventListener("mouseover", t), e.addEventListener("mouseleave", n), () => { e.removeEventListener("mouseover", t), e.removeEventListener("mouseleave", n); }; }, [s, r]); const f = Object.entries(a).filter(([, e]) => e).map(([e]) => e); return [o, f, v]; } export { P as default };