@@ -14,36 +14,31 @@ MEETING = {
1414
1515 init : ( el ) => new Proxy ( {
1616
17- scene : null ,
18- enabled : false ,
19- active : false ,
17+ scene : null ,
18+ visible : false ,
2019 //$overlay: $overlay = el.querySelector('#overlay'),
2120 //
2221 install ( opts ) {
2322 this . scene = opts . scene
24- window . meeting . buttons . push ( `<a class="btn" aria-label="button" aria-description="start text/audio/video chat" id="meeting" onclick="MEETING.toggle()" target="_blank">🧑🤝🧑 meeting</a><br>` )
25- document . body . appendChild ( el )
2623
24+ document . body . appendChild ( el )
25+ document . dispatchEvent ( new CustomEvent ( "MEETING:ready" , { detail : opts } ) )
2726 } ,
2827
2928 start ( ) {
3029 this . scene . addEventListener ( 'meeting.peer.add' , ( ) => console . log ( "$meeting.peer.add" ) )
3130 this . scene . addEventListener ( 'meeting.peer.remove' , ( ) => console . log ( "$meeting.peer.remove" ) )
3231 } ,
3332
34- toggle : ( ) => MEETING . collapsed = ! MEETING . collapsed ,
35- install : ( opts ) => {
36- document . body . appendChild ( el )
37- document . dispatchEvent ( new CustomEvent ( "MEETING:ready" , { detail : opts } ) )
38- }
33+ toggle : ( ) => MEETING . visible = ! MEETING . visible ,
3934
4035 } , {
4136
4237 get ( data , k , v ) { return data [ k ] } ,
4338 set ( data , k , v ) {
4439 data [ k ] = v
4540 switch ( k ) {
46- case "css " : document . head . innerHTML += v ; break ;
41+ case "visible " : el . style . display = data . visible ? 'block' : 'none'
4742 }
4843 } ,
4944
@@ -53,6 +48,9 @@ MEETING = {
5348// reactify component!
5449document . addEventListener ( 'XRFMENU:ready' , ( opts ) => {
5550 opts = opts . detail
51+ XRFMENU . buttons = ( [ `<a class="btn" aria-label="button" aria-description="start text/audio/video chat" id="meeting" onclick="MEETING.toggle()" target="_blank">🧑🤝🧑 meeting</a><br>` ] )
52+ . concat ( XRFMENU . buttons )
53+ document . head . innerHTML += MEETING . css
5654 $meeting = document . createElement ( 'div' )
5755 $meeting . innerHTML = MEETING . html
5856 MEETING = MEETING . init ( $meeting )
0 commit comments