/* =================================================================== KabelFlux — live collaboration presence badge (views-collab.jsx) Exposes window.PresenceBadge. Feature V (minimal): shows who else is in the project, live over the project websocket. ES2015-safe. =================================================================== */ const PresenceBadge = ({ pid }) => { const { useState, useEffect } = React; const [users, setUsers] = useState([]); useEffect(function () { if (!pid || !window.kfxProjectSocket) return undefined; let ws = null; try { ws = window.kfxProjectSocket(pid, function (msg) { if (msg && msg.type === 'presence' && Array.isArray(msg.users)) setUsers(msg.users); }); } catch (e) { return undefined; } return function () { try { ws && ws.close(); } catch (e) {} }; }, [pid]); if (users.length < 2) return null; return ( {'👥 ' + users.length + ' editing'} ); }; window.PresenceBadge = PresenceBadge;