MEETING = { html: `
`, init: (el) => new Proxy({ scene: null, visible: false, //$overlay: $overlay = el.querySelector('#overlay'), // install(opts){ this.scene = opts.scene document.body.appendChild( el ) document.dispatchEvent( new CustomEvent("MEETING:ready", {detail: opts}) ) }, start(){ this.scene.addEventListener('meeting.peer.add', () => console.log("$meeting.peer.add") ) this.scene.addEventListener('meeting.peer.remove', () => console.log("$meeting.peer.remove") ) }, toggle: () => MEETING.visible = !MEETING.visible, },{ get(data,k,v){ return data[k] }, set(data,k,v){ data[k] = v switch( k ){ case "visible": el.style.display = data.visible ? 'block' : 'none' } }, }) } // reactify component! document.addEventListener('XRFMENU:ready', (opts) => { opts = opts.detail XRFMENU.buttons = ([`🧑🤝🧑 meeting