Browse Source

deploy

master
jfinn 4 years ago
parent
commit
58b37defef
17 changed files with 1355 additions and 51 deletions
  1. 4
    1
      i4/lobby.js
  2. 5
    4
      rf/filmstrip_mod/m.js
  3. 27
    3
      rf/filmstrip_mod/m0.js
  4. 14
    0
      rf/fs.css
  5. 1
    1
      rf/i4m/m.css
  6. 41
    6
      rf/i4m/m.html
  7. 30
    3
      rf/i4m/m.js
  8. 25
    0
      rf/i4m/m2.css
  9. 388
    0
      rf/i4m/m3.css
  10. 59
    0
      rf/m/m_time.js
  11. 66
    2
      rf/ovf_vid/n.js
  12. 3
    1
      rf/u/universals.js
  13. 51
    9
      rf/ui_msg/r.html
  14. 4
    1
      rf/ui_msg/r.js
  15. 338
    16
      rf/ui_msg/r1.js
  16. 297
    3
      rf/ui_msg/r2.css
  17. 2
    1
      rf/ui_msg/r2.js

+ 4
- 1
i4/lobby.js View File

@@ -24,7 +24,10 @@ var mod_path ="ign/rf/i4m/"
24 24
 var mtx_2 ={	
25 25
 	// js:["ign/m/timer/m.js","ign/m/timer/m0.js"],
26 26
 	js:[`${mod_path}m0.js`,`${mod_path}m.js`,],
27
-	css:[`${mod_path}m.css`,`${mod_path}m1.css,`,`${mod_path}m2.css`,],
27
+	css:[`${mod_path}m.css`,`${mod_path}m1.css,`,
28
+	// `${mod_path}m2.css`,
29
+	`${mod_path}m3.css`,
30
+	],
28 31
 	// menu.svg
29 32
 // thumb-menu.svg
30 33
 	html:[{url:`${mod_path}m.html`,diffH:get_cui_html,success:html_rld_cb4,success_js:"html_js_handler_lobby"},

+ 5
- 4
rf/filmstrip_mod/m.js View File

@@ -88,6 +88,7 @@ function scroll_timeout_runner(){
88 88
 	// scroll_send)
89 89
 	var ov_timeout=$("#ov_timeout")[0]
90 90
 	var ov_timeout_disable=$("#ov_timeout_disable")[0]
91
+    clog("scroll_timeout run",ov_timeout_disable.checked)
91 92
 	// ov_timeout_disable
92 93
 	if (ov_timeout_disable.checked){
93 94
 		timeout_scroll_glob.stop = 1
@@ -257,11 +258,11 @@ function init_api6(){
257 258
     var n,nt
258 259
     n = `<span class="plugin_top pseudo_vid small_vid "><div class="m2 xbox2">ABC</div></span>`
259 260
     nt = templates.find(".pseudo_vid_a")
260
-    if (nt.length && 1){
261
+    if (nt.length && 0){
261 262
         n = $(nt[0].outerHTML)
262 263
          
263
-        // nt = mod_templates.find(".pseudo_vid_avatar.named")
264
-        nt = templates.find(".pseudo_vid_avatar.named")
264
+        nt = mod_templates.find(".pseudo_vid_avatar.named")
265
+        // nt = templates.find(".pseudo_vid_avatar.named")
265 266
         // nt = templates.find(".pseudo_vid_avatar.anon")
266 267
         add_node(nt,n,"append")
267 268
         n = n[0].outerHTML
@@ -464,7 +465,7 @@ function rotate_vids(){
464 465
 function scroll_send(){
465 466
     // clog("zzzzzzzzzz")
466 467
     // scroll_disabled
467
-    return
468
+    // return
468 469
 
469 470
             tmsgx({
470 471
                 "type":"event",

+ 27
- 3
rf/filmstrip_mod/m0.js View File

@@ -766,24 +766,48 @@ timeout_scroll_glob = window.timeout_scroll_glob || {
766 766
 }
767 767
 timeout_scroll_glob.stop=1
768 768
 function timeout_scroll(rid){
769
+    timeout_scroll_glob.stop =1
769 770
     // scroll_disabled
770
-    return
771
-    // clog("Tscroll",rid,timeout_scroll_glob)
771
+    // return
772
+    clog("Tscroll",rid,timeout_scroll_glob)
772 773
     if (timeout_scroll_glob.stop || rid != timeout_scroll_glob.rid){
773
-        // clog("tscroll stop")
774
+        clog("tscroll stop")
774 775
         return
775 776
     }
776 777
         // clog("tscroll continue")
777 778
         msto.conference.rotate_index = msto.conference.rotate_index || 0
779
+        msto.conference.rotate_index2 = msto.conference.rotate_index2 || 12
780
+        var rotate_index2 = msto.conference.rotate_index2
781
+        var rotate_index = msto.conference.rotate_index
782
+
783
+
784
+
785
+
786
+
787
+
778 788
         msto.conference.rotate_index += 1 
789
+        msto.conference.rotate_index2 += 1 
790
+
791
+
779 792
         // scroll_send()
780 793
         setTimeout(scroll_send,20)
781 794
     var t = setTimeout(timeout_scroll,timeout_scroll_glob.timeout,rid)
782 795
 
783 796
 }
797
+function timeout_scroll_start_now(){
798
+    timeout_scroll_glob.stop =1
799
+    return
800
+    timeout_scroll_glob.rid += 1
801
+    clog("tscroll timeout_scroll_start_now")
802
+    timeout_scroll(timeout_scroll_glob.rid)
803
+    // setTimeout(timeout_scroll,timeout_scroll_glob.timeout,timeout_scroll_glob.rid)
784 804
 
805
+}
785 806
 function timeout_scroll_start(){
807
+    timeout_scroll_glob.stop =1
808
+    return
786 809
     timeout_scroll_glob.rid += 1
810
+    clog("tscroll timeout_scroll_start")
787 811
     setTimeout(timeout_scroll,timeout_scroll_glob.timeout,timeout_scroll_glob.rid)
788 812
 
789 813
 }

+ 14
- 0
rf/fs.css View File

@@ -407,6 +407,20 @@ y
407 407
 /*#sharedVideoContainer.focus_test{*/
408 408
 	/*outline: 6px solid #0f0;*/
409 409
 }
410
+
411
+body {
412
+    /*font-family: 'Montserrat';font-size: 22px !important;*/
413
+    font-family: 'Montserrat'  !important;
414
+    font-weight: bold; 
415
+
416
+}
417
+body * {
418
+    /*font-family: 'Montserrat';font-size: 22px !important;*/
419
+    font-family: 'Montserrat'  !important;
420
+    font-weight: bold; 
421
+    
422
+}
423
+
410 424
 /*
411 425
 .z.small_vid video {
412 426
 */

+ 1
- 1
rf/i4m/m.css View File

@@ -58,7 +58,7 @@ html {
58 58
 	/*background-image: linear-gradient(to bottom #0000, #0ff8, #0009);*/
59 59
 		/*background-image: linear-gradient( 10% #0000, 30% #0ff0, 60% #0009);*/
60 60
 
61
-	background-image: linear-gradient( #0000 , #0000, #000a);
61
+	/*background-image: linear-gradient( #0000 , #0000, #000a);*/
62 62
 
63 63
 }
64 64
 

+ 41
- 6
rf/i4m/m.html View File

@@ -46,31 +46,66 @@
46 46
 			<span class="tile_overlay text_input_template_v2 v1">
47 47
 				<div class="ti_container_div">
48 48
 					
49
-				<span class="ti_label">room</span><input type="text" class="text_input text_input_v2">
49
+				<span class="ti_label">room</span><input type="text" class="text_input text_input_v2 room">
50 50
 				</div>
51 51
 
52
-				<br>
53
-				<div class="ti_container_div">
52
+<!-- 				<div class="ti_container_div">
54 53
 				<span class="ti_label">password</span><input type="text" class="text_input text_input_v2">
55 54
 				</div>
56
-				<hr>
57
-				<div class="hr"></div>
55
+ -->
56
+
57
+
58
+			</span>
59
+			
60
+
61
+
62
+			<span class="tile_overlay text_input_template_v2 v1 password">
63
+<!-- 				<div class="ti_container_div">
64
+					
65
+				<span class="ti_label">room</span><input type="text" class="text_input text_input_v2">
66
+				</div> -->
58 67
 
59 68
 				<div class="ti_container_div">
60
-				<span class="ti_label"></span><input type="text" class="text_input text_input_v2">
69
+				<span class="ti_label">password</span><input type="text" class="text_input text_input_v2">
61 70
 				</div>
62 71
 
72
+
73
+
63 74
 			</span>
64 75
 				
76
+
77
+
65 78
 			<div class="tile_title"></div>
66 79
 			<div class="tile_button">Join Now</div>
67 80
 		</span>
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+
92
+
68 93
 		</span>
69 94
 
70 95
 
71 96
 
72 97
 </span>
98
+<span>
73 99
 
100
+				<hr>
101
+				<div class="hr"></div>
102
+
103
+				<div class="ti_container_div">
104
+				<span class="ti_label"></span><input type="text" class="text_input text_input_v2">
105
+				</div>
106
+	
107
+				<br>
108
+</span>
74 109
 
75 110
 </span>
76 111
 

+ 30
- 3
rf/i4m/m.js View File

@@ -193,8 +193,15 @@ function tile_button_cb(e){
193 193
 	var room_name = rspan[0].dataset["room"]
194 194
 
195 195
 	// clog("tile_button",rspan[0].dataset["room"],{that:this,e})
196
+		var rlen
197
+		rlen = $(".room")
196 198
 	// clog("nav",location.pathname + rspan[0].dataset["room"])
197 199
 	if (!room_name){
200
+		if (rlen.length && rlen[0].value){
201
+		
202
+	location.assign(location.pathname + rlen[0].value)
203
+
204
+		}
198 205
 		clog("<>")
199 206
 		return 
200 207
 
@@ -211,6 +218,21 @@ dj_tiles = [
211 218
 ]
212 219
 
213 220
 // $(".rxt")[0].style.cssText
221
+function key_up(event){
222
+	clog("K",event)
223
+	var rlen
224
+	if (event.key == "Enter"){
225
+		// tile_button_cb()
226
+		rlen = $(".room")
227
+if (rlen.length && rlen[0].value){
228
+		
229
+	location.assign(location.pathname + rlen[0].value)
230
+
231
+		}
232
+
233
+	}
234
+
235
+}
214 236
 
215 237
 function add_tiles(){
216 238
 	// var rtile = mod_templates_4.find(".room_span.rxt")
@@ -225,6 +247,7 @@ function add_tiles(){
225 247
 
226 248
 	// djtc.push({})
227 249
 	while (i < djtc.length ){
250
+		break
228 251
 
229 252
 		n = $(rtile2)
230 253
 		// djt = dj_tiles[i] ? dj_tiles[i] :{} 
@@ -249,14 +272,17 @@ function add_tiles(){
249 272
 		}
250 273
 		i+=1
251 274
 		// clog("//",i)
252
-	}
275
+	}	
276
+		rtile.find(".room")[0].onkeyup = key_up
277
+		// rtile.find(".room")[0].onkeypress = key_up
278
+		// rtile.find(".room").change(key_up
253 279
 		add_node(rtile,".rooms_dir_full","prepend")
280
+
254 281
 	resize_tiles()
255 282
 	// set_width()
256 283
 
257 284
 }
258 285
 
259
-
260 286
 function set_width(){
261 287
 	var rdf = $('.rooms_dir_full')
262 288
   // var totalWidth = 20;
@@ -269,7 +295,8 @@ function set_width(){
269 295
     // totalWidth += ?  :
270 296
     // totalWidth +=  ?  :
271 297
   });
272
-     rdf.css('width', totalWidth + 3);
298
+     // rdf.css({'width': totalWidth + 3,"--vwidth":window.width});
299
+     rdf.css({'width': totalWidth + 3});
273 300
 }
274 301
 
275 302
 function px_int(s){

+ 25
- 0
rf/i4m/m2.css View File

@@ -34,6 +34,7 @@
34 34
 
35 35
 .rxi{
36 36
 	--vback: #111;
37
+	--vback: #333;
37 38
 	/*--vback: #f00;*/
38 39
 	--vtxt: #fff;
39 40
 	/*--vtxt: #f00;*/
@@ -219,6 +220,7 @@
219 220
 	/*margin: 1px;*/
220 221
 	/*opacity: 0;*/
221 222
 	/*background-color: var(--vback,unset);*/
223
+
222 224
 	background-color: var(--vback,#fff);
223 225
 	color: var(--vtxt,#fff);
224 226
 	/*color: #fff;*/
@@ -256,6 +258,7 @@
256 258
 	/*outline: 2px solid red;*/
257 259
 	display: flex;
258 260
 	display: inline-flex;
261
+	display: block;
259 262
 	width: 300px; 
260 263
 	border: 2px solid var(--vtxt,#fff);
261 264
 	/*border: 2px solid #0ff;*/
@@ -349,3 +352,25 @@
349 352
 	/*height: 2em;*/
350 353
 	/*top: 0px; left: 0px; right: 0px; bottom: 0px;*/
351 354
 }
355
+
356
+
357
+.room_span_container {
358
+/*.rxi.z {*/
359
+	background-color: var(--vback);
360
+}
361
+
362
+.rooms_dir {
363
+	/*align-items: center;*/
364
+	/*padding-left: 0%;*/
365
+}
366
+.rooms_dir_full {
367
+	/*left: calc((var(--innerWidth) - 75px)/2);*/
368
+	left: calc(((var(--innerWidth) ) - 150px) /2);
369
+	/*left: calc(((var(--innerWidth) ) - 75px) /2);*/
370
+	transform: translate(-50%,0%);
371
+	/*position: relative !important;*/
372
+	/*align-items: center;*/
373
+	/*width: 50% !important;*/
374
+	/*margin: auto;*/
375
+
376
+}

+ 388
- 0
rf/i4m/m3.css View File

@@ -0,0 +1,388 @@
1
+
2
+
3
+
4
+
5
+
6
+
7
+
8
+
9
+ 
10
+.popup_root {
11
+	top: 0;
12
+	left: 0;
13
+	right: 0;
14
+	bottom: 0;
15
+	position: absolute;
16
+	/*background-color: #0ff8;*/
17
+}
18
+
19
+.popup_body {
20
+	width: 500px;
21
+	height: 300px;
22
+	position: relative;
23
+	top: 50%;
24
+	left: 50%;
25
+	z-index: 30;
26
+	transform: translate(-50%,-50%);
27
+	align-content: center;
28
+	/*font-size: 1.6em;*/
29
+
30
+
31
+	background-color: #222;
32
+	/*background-color: #000;*/
33
+}
34
+
35
+.rxi{
36
+	--vback: #111;
37
+	--vback: #333;
38
+	/*--vback: #f00;*/
39
+	--vtxt: #fff;
40
+	/*--vtxt: #f00;*/
41
+
42
+	/*--vtxt: #00f;*/
43
+	/*background-color: #777;*/
44
+	/*background-color: #fff;*/
45
+	/*background-color: var(--vback);*/
46
+	/*background-color: var(--vback,unset);*/
47
+	/*background-color: var(--vback,initial);*/
48
+
49
+}
50
+
51
+.popup_txt {
52
+	/*plese*/
53
+	/*margin: auto;*/
54
+	font-size: 1.6em;
55
+	/*margin: 3px;*/
56
+	padding-top: 20px;
57
+	text-align: center;
58
+	color: #eee;
59
+	/*font-size: 1.6em;*/
60
+	/*color: #fff;*/
61
+	/*background-color: #0ff;*/
62
+
63
+}
64
+.text_input_template{
65
+	/*width: 100%;*/
66
+	left: 50%; 
67
+	transform: translate(-50%,50%);
68
+	background-color: #0ff;
69
+	margin: auto;
70
+
71
+	/*display: block;*/
72
+	display: inline-block;
73
+	/*align-content: center;*/
74
+	font-size: 1.4em;
75
+	position: relative;
76
+}
77
+
78
+
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+
87
+
88
+
89
+
90
+
91
+/*.ti_container {*/
92
+.text_input_template_v2.z{
93
+	/*position: relative;*/
94
+	/*position: absolute;*/
95
+	/*width: 100%;*/
96
+	/*background-color: red;*/
97
+	/*height: 100%;*/
98
+	/*height: 2em;*/
99
+
100
+	left: 50%; 
101
+	transform: translate(-50%,50%);
102
+	/*background-color: #0ff;*/
103
+	margin: auto;
104
+
105
+	/*display: block;*/
106
+	display: inline-block;
107
+	/*align-content: center;*/
108
+	font-size: 1.4em;
109
+	position: relative;
110
+	/*outline: 2px solid red;*/
111
+	display: flex;
112
+	display: inline-flex;
113
+	width: 306px; 
114
+	border: 2px solid var(--vtxt,#fff);
115
+	/*border: 2px solid #0ff;*/
116
+	/*background-color: #fff;*/
117
+	/*background-color: #0f0;*/
118
+	margin:  5px;
119
+	padding: 4px;
120
+	border-radius: 50px;
121
+	overflow: hidden;
122
+	position: relative;
123
+	box-sizing: content-box;
124
+	box-sizing: border-box;
125
+
126
+	/*top: 0px; left: 0px; right: 0px; bottom: 0px;*/
127
+}
128
+
129
+
130
+
131
+.ti_container.z{
132
+/*.text_input_template_v2{*/
133
+	/*width: 100%;*/
134
+	/*left: 50%; */
135
+	/*transform: translate(-50%,50%);*/
136
+	/*background-color: #0ff;*/
137
+	/*margin: auto;*/
138
+
139
+	/*display: block;*/
140
+	/*display: inline-block;*/
141
+	/*align-content: center;*/
142
+	/*font-size: 1.4em;*/
143
+	/*position: relative;*/
144
+	/*outline: 2px solid red;*/
145
+	/*display: flex;*/
146
+	display: inline-flex;
147
+	width: 300px; 
148
+	/*border: 2px solid var(--vtxt,#fff);*/
149
+	border: 3px solid #fff;
150
+	/*border: 2px solid #0ff;*/
151
+	/*margin:  5px;*/
152
+	/*padding: 1px;*/
153
+	border-radius: 50px;
154
+	/*overflow: hidden;*/
155
+	position: relative;
156
+	/*background-color: #fff;*/
157
+	/*background-color: #f00;*/
158
+	/*background-color: var(--vback,#fff);*/
159
+
160
+	/*box-sizing: border-box;*/
161
+	/*box-sizing: content-box;*/
162
+}
163
+
164
+.text_input_submit {
165
+	display: inline-block;
166
+	display: inline-block;
167
+}
168
+
169
+.text_input_v2 {
170
+	/*left: 20px;*/
171
+	/*display: inline;*/
172
+	/*display: inline-flex;*/
173
+	/*display: block;*/
174
+	/*max-width: 100%;*/
175
+	/*left:0px; */
176
+	/*min-width: 150px;*/
177
+	flex-grow: 2;
178
+	/*width: 150px;*/
179
+
180
+	/*position: relative;*/
181
+
182
+}
183
+
184
+.ti_label{
185
+	/*margin: 1px;*/
186
+	/*margin: 1px;*/
187
+	/*padding: 3px;*/
188
+	width: 5em;
189
+	text-align: center;
190
+	/*background-color: #ff0*/
191
+
192
+	color: var(--vback,#fff);
193
+	background-color: var(--vtxt,#fff);
194
+	background-color: var(--vtxt,#fff);
195
+	font-weight: bold;
196
+	position: relative;
197
+	padding: 0 3px; 
198
+
199
+}
200
+/*.ti_label:before{*/
201
+.ti_label:after{
202
+	z-index: -1;
203
+	/*box-sizing: border-box;*/
204
+	outline: 4px solid #fff;
205
+	/*box-sizing: content-box;*/
206
+
207
+	position: absolute;
208
+	top: 2px; left: 2px; right: 4px; bottom: 2px;
209
+	/*background-color: red;*/
210
+	/*border: 8px solid var(--vtxt,#fff);*/
211
+	/*border: 8px solid #0ff;*/
212
+
213
+
214
+	content: "z";
215
+}
216
+
217
+
218
+.rxi input {
219
+	
220
+	/*margin: 1px;*/
221
+	/*opacity: 0;*/
222
+	/*background-color: var(--vback,unset);*/
223
+
224
+	background-color: var(--vback,#fff);
225
+	color: var(--vtxt,#fff);
226
+	/*color: #fff;*/
227
+	/*background-color: unset;*/
228
+	border-width: 0px !important;
229
+}
230
+
231
+
232
+.text_input_template_v2 button {
233
+	display: none;
234
+}
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+
243
+
244
+
245
+
246
+.text_input_template_v2.v1{
247
+	/*width: 100%;*/
248
+	left: 50%; 
249
+	transform: translate(-50%,50%);
250
+	/*background-color: #0ff;*/
251
+	margin: auto;
252
+
253
+	/*display: block;*/
254
+	display: inline-block;
255
+	/*align-content: center;*/
256
+	font-size: 1.4em;
257
+	position: relative;
258
+	/*outline: 2px solid red;*/
259
+	display: flex;
260
+	display: inline-flex;
261
+	display: block;
262
+	width: 300px; 
263
+	border: 2px solid var(--vtxt,#fff);
264
+	/*border: 2px solid #0ff;*/
265
+	margin:  5px;
266
+	padding: 1px;
267
+	/*border-radius: 50px;*/
268
+	/*overflow: hidden;*/
269
+	position: relative;
270
+	/*background-color: #fff;*/
271
+	/*background-color: var(--vback,#fff);*/
272
+
273
+	/*box-sizing: border-box;*/
274
+	/*box-sizing: content-box;*/
275
+}
276
+
277
+
278
+
279
+
280
+
281
+
282
+/*.ti_container{*/
283
+.text_input_template_v2.v1.z{
284
+	/*width: 100%;*/
285
+	left: 50%; 
286
+	transform: translate(-50%,50%);
287
+	/*background-color: #0ff;*/
288
+	margin: auto;
289
+
290
+	/*display: block;*/
291
+	display: inline-block;
292
+	/*align-content: center;*/
293
+	font-size: 1.4em;
294
+	position: relative;
295
+	/*outline: 2px solid red;*/
296
+	display: flex;
297
+	display: inline-flex;
298
+	width: 300px; 
299
+	border: 2px solid var(--vtxt,#fff);
300
+	/*border: 2px solid #0ff;*/
301
+	margin:  5px;
302
+	padding: 1px;
303
+	border-radius: 50px;
304
+	overflow: hidden;
305
+	position: relative;
306
+	/*background-color: #fff;*/
307
+	/*background-color: var(--vback,#fff);*/
308
+
309
+	/*box-sizing: border-box;*/
310
+	/*box-sizing: content-box;*/
311
+}
312
+
313
+
314
+
315
+.ti_container{
316
+/*.text_input_template_v2{*/
317
+	/*width: 100%;*/
318
+	left: 50%; 
319
+	transform: translate(-50%,50%);
320
+	/*background-color: #0ff;*/
321
+	margin: auto;
322
+
323
+	/*display: block;*/
324
+	display: inline-block;
325
+	/*align-content: center;*/
326
+	font-size: 1.4em;
327
+	position: relative;
328
+	/*outline: 2px solid red;*/
329
+	display: flex;
330
+	display: inline-flex;
331
+	width: 300px; 
332
+	border: 2px solid var(--vtxt,#fff);
333
+	/*border: 2px solid #0ff;*/
334
+	margin:  5px;
335
+	padding: 1px;
336
+	border-radius: 50px;
337
+	overflow: hidden;
338
+	position: relative;
339
+	/*background-color: #fff;*/
340
+	/*background-color: var(--vback,#fff);*/
341
+
342
+	/*box-sizing: border-box;*/
343
+	/*box-sizing: content-box;*/
344
+}
345
+/*.ti_container {*/
346
+.text_input_template_v2{
347
+	/*position: relative;*/
348
+	/*position: absolute;*/
349
+	/*width: 100%;*/
350
+	/*background-color: red;*/
351
+	/*height: 100%;*/
352
+	/*height: 2em;*/
353
+	/*top: 0px; left: 0px; right: 0px; bottom: 0px;*/
354
+}
355
+.ti_container_div{
356
+	display: inline-flex;
357
+	width: 260px;
358
+}
359
+.text_input.text_input_v2 {
360
+	flex-grow:2;
361
+
362
+}
363
+
364
+.room_span_container {
365
+/*.rxi.z {*/
366
+	background-color: var(--vback);
367
+}
368
+
369
+.password {
370
+	opacity: .5;
371
+	pointer-events: none;
372
+}
373
+
374
+.rooms_dir {
375
+	/*align-items: center;*/
376
+	/*padding-left: 0%;*/
377
+}
378
+.rooms_dir_full {
379
+	/*left: calc((var(--innerWidth) - 75px)/2);*/
380
+	left: calc(((var(--innerWidth) ) - 150px) /2);
381
+	/*left: calc(((var(--innerWidth) ) - 75px) /2);*/
382
+	transform: translate(-50%,0%);
383
+	/*position: relative !important;*/
384
+	/*align-items: center;*/
385
+	/*width: 50% !important;*/
386
+	/*margin: auto;*/
387
+
388
+}

+ 59
- 0
rf/m/m_time.js View File

@@ -0,0 +1,59 @@
1
+
2
+
3
+glob_mx.timeout = glob_mx.timeout || {} 
4
+
5
+
6
+dflt_timeout = {
7
+	name:"none",
8
+	timeout:2000,
9
+	fn:()=>{clog("arr dflt_timeout")},
10
+	stop_flag:0,
11
+}
12
+{
13
+
14
+class Timeout_cls{
15
+	constructor(o0){
16
+		clog("Timeout_cls con")
17
+		var o = Object.assign({},dflt_timeout,o0)
18
+		this.o = o
19
+		glob_mx.timeout[o.name] = this
20
+		this.run = this.orig_run.bind(this)
21
+
22
+		// glob_mx.timeout.
23
+
24
+	}
25
+	start(){
26
+		clog("Timeout_cls ///")
27
+		// this.stop()
28
+		this.o.stop_flag=0
29
+		this.id = setTimeout(this.run,this.o.timeout * 1000)
30
+
31
+	}
32
+	stop(){
33
+		clearTimeout(this.id)
34
+	}
35
+	orig_run(f=1){
36
+		if (this.o.stop_flag){
37
+			return
38
+		}
39
+
40
+		// clog("T run",this,this.o,f)
41
+		if (glob_mx.timeout[this.o.name] != this){
42
+			// clog("gone",this)
43
+			return
44
+		}
45
+		this.stop()
46
+		this.id = setTimeout(this.run,this.o.timeout * 1000,0)
47
+		this.o.fn()
48
+		// this.id = setTimeout(this.fn,this.o.timeout)
49
+
50
+	}
51
+}
52
+window.Timeout_cls = Timeout_cls
53
+}
54
+
55
+
56
+
57
+
58
+
59
+// glob_mx.timeout.ff_ti

+ 66
- 2
rf/ovf_vid/n.js View File

@@ -26,6 +26,63 @@ function rotate_tiles(arr){
26 26
 	// n = sorted_tiles.pop()
27 27
 	// sorted_tiles.unshift(n)
28 28
 }
29
+function rotate_tiles(arr){
30
+	// return
31
+	// sorted_tiles
32
+	if (arr.length < 17){
33
+		// return
34
+	}
35
+
36
+	var rotate_index = msto.conference.rotate_index || 0
37
+	var rotate_index2 = msto.conference.rotate_index2 || 13
38
+
39
+	// clog("rotate_tiles0",rotate_index,[jc(arr)])
40
+	var a2=arr.splice(rotate_index)
41
+	// arr.push(...a2)
42
+	arr.unshift(...a2)
43
+
44
+
45
+
46
+	if (!timeout_scroll_glob.stop){
47
+/*
48
+	if (rotate_index > arr.length){
49
+		rotate_index = 0
50
+		msto.conference.rotate_index = 0
51
+	}
52
+
53
+	if (rotate_index2 > arr.length){
54
+		rotate_index2 = 13
55
+		msto.conference.rotate_index2 = 13
56
+	}
57
+*/
58
+
59
+
60
+    if (rotate_index > arr.length){
61
+        rotate_index = 0
62
+        msto.conference.rotate_index = 0
63
+    }
64
+
65
+    if (rotate_index2 > arr.length){
66
+        rotate_index2 = 13
67
+        msto.conference.rotate_index2 = 13
68
+    }
69
+
70
+
71
+
72
+
73
+
74
+	}
75
+
76
+
77
+
78
+	// clog("rotate_tiles",arr)
79
+
80
+	// var n
81
+	// n = sorted_tiles.pop()
82
+	// sorted_tiles.unshift(n)
83
+}
84
+
85
+
29 86
 function rand_int(max) {
30 87
   return Math.floor(Math.random() * Math.floor(max));
31 88
 }
@@ -68,6 +125,7 @@ function ordered_focus(){
68 125
 	}
69 126
 	// clog(sv_arr[indx],indx)
70 127
 	$(sv_arr[indx]).addClass("focus_test")
128
+	focus_focus()
71 129
 
72 130
 
73 131
 
@@ -105,7 +163,7 @@ function ps(){
105 163
 }
106 164
 
107 165
 function focus_focus(){
108
-	$(".focus_test").click()
166
+	$(".focus_test:not(.videoContainerFocused)").click()
109 167
 }
110 168
 
111 169
 function test_focus(vid){
@@ -119,5 +177,11 @@ function test_focus(vid){
119 177
 		$("#"+small_vids[vid].videoSpanId).addClass("focus_test")
120 178
 
121 179
 	} 
180
+	focus_focus()
122 181
 	clog("vid",vid)
123
-}
182
+}
183
+
184
+
185
+
186
+
187
+

+ 3
- 1
rf/u/universals.js View File

@@ -2,8 +2,10 @@
2 2
 
3 3
 clog = console.log
4 4
 function nop(){}
5
+clog = nop
5 6
 // clog = nop
6
-// clog = nop
7
+
8
+
7 9
 
8 10
 
9 11
 

+ 51
- 9
rf/ui_msg/r.html View File

@@ -122,7 +122,7 @@ av_io_single
122 122
 
123 123
 
124 124
 
125
-<li aria-label="Toggle settings" class="overflow-menu-item ovmu otb ovmu_item ovmu_av">
125
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_av">
126 126
 
127 127
 	<div class="av_io act_cls_mic_off_all av_io_all av_io_mic av_io_off">
128 128
 <span>Mute all<span class="ji2_mic_off"></span></span>
@@ -135,7 +135,7 @@ av_io_single
135 135
 </div>
136 136
 
137 137
 </li>
138
-<li aria-label="Toggle settings" class="overflow-menu-item ovmu otb ovmu_item ovmu_av">
138
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_av">
139 139
 
140 140
 	<div class="av_io act_cls_mic_on_all av_io_all av_io_mic av_io_on">
141 141
 <span>request on<span class="ji2_mic_off"></span></span>
@@ -150,13 +150,13 @@ av_io_single
150 150
 </li>
151 151
 
152 152
 
153
-<li aria-label="Toggle settings" class="overflow-menu-item ovmu otb ovmu_item2"><div><span class="overflow-menu-item-icon  "><div class="jitsi-icon ji_mic_off">
153
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item2"><div><span class="overflow-menu-item-icon  "><div class="jitsi-icon ji_mic_off">
154 154
 </div></span><span>Mute all participants<span class="ji2_mic_off"></span></span></div><div><span class="overflow-menu-item-icon  "><div class="jitsi-icon ji_vid_off">
155 155
 </div></span><span>Mute all cameras</span><span class="ji2_vid_off"></span></div></li>
156 156
 
157 157
 
158 158
 
159
-<li aria-label="Toggle settings" class="overflow-menu-item ovmu otb ovmu_item2"><div><span class="overflow-menu-item-icon  "><div class="jitsi-icon ">
159
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item2"><div><span class="overflow-menu-item-icon  "><div class="jitsi-icon ">
160 160
 </div></span><span>Mute all participants</span></div><div><span class="overflow-menu-item-icon  "><div class="jitsi-icon ">
161 161
 </div></span><span>Mute all cameras</span></div></li>
162 162
 
@@ -168,7 +168,7 @@ av_io_single
168 168
 
169 169
 
170 170
 
171
-<li aria-label="Toggle settings" class="overflow-menu-item ovmu otb"><div><span class="overflow-menu-item-icon  "><div class="jitsi-icon "><svg height="24" width="24" viewBox="0 0 32 32"><path d="M16 20.688c2.563 0 4.688-2.125 4.688-4.688S18.563 11.312 16 11.312 11.312 13.437 11.312 16s2.125 4.688 4.688 4.688zm9.938-3.375l2.813 2.188c.25.188.313.563.125.875l-2.688 4.625c-.188.313-.5.375-.813.25l-3.313-1.313c-.688.5-1.438 1-2.25 1.313l-.5 3.5c-.063.313-.313.563-.625.563h-5.375c-.313 0-.563-.25-.625-.563l-.5-3.5a8.148 8.148 0 01-2.25-1.313l-3.313 1.313c-.313.125-.625.063-.813-.25l-2.688-4.625c-.188-.313-.125-.688.125-.875l2.813-2.188c-.063-.438-.063-.875-.063-1.313s0-.875.063-1.313l-2.813-2.188c-.25-.188-.313-.563-.125-.875l2.688-4.625c.188-.313.5-.375.813-.25l3.313 1.313c.688-.5 1.438-1 2.25-1.313l.5-3.5c.063-.313.313-.563.625-.563h5.375c.313 0 .563.25.625.563l.5 3.5c.813.313 1.563.75 2.25 1.313l3.313-1.313c.313-.125.625-.063.813.25l2.688 4.625c.188.313.125.688-.125.875l-2.813 2.188c.063.438.063.875.063 1.313s0 .875-.063 1.313z"></path></svg></div></span><span>Settings</span></div></li>
171
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb"><div><span class="overflow-menu-item-icon  "><div class="jitsi-icon "><svg height="24" width="24" viewBox="0 0 32 32"><path d="M16 20.688c2.563 0 4.688-2.125 4.688-4.688S18.563 11.312 16 11.312 11.312 13.437 11.312 16s2.125 4.688 4.688 4.688zm9.938-3.375l2.813 2.188c.25.188.313.563.125.875l-2.688 4.625c-.188.313-.5.375-.813.25l-3.313-1.313c-.688.5-1.438 1-2.25 1.313l-.5 3.5c-.063.313-.313.563-.625.563h-5.375c-.313 0-.563-.25-.625-.563l-.5-3.5a8.148 8.148 0 01-2.25-1.313l-3.313 1.313c-.313.125-.625.063-.813-.25l-2.688-4.625c-.188-.313-.125-.688.125-.875l2.813-2.188c-.063-.438-.063-.875-.063-1.313s0-.875.063-1.313l-2.813-2.188c-.25-.188-.313-.563-.125-.875l2.688-4.625c.188-.313.5-.375.813-.25l3.313 1.313c.688-.5 1.438-1 2.25-1.313l.5-3.5c.063-.313.313-.563.625-.563h5.375c.313 0 .563.25.625.563l.5 3.5c.813.313 1.563.75 2.25 1.313l3.313-1.313c.313-.125.625-.063.813.25l2.688 4.625c.188.313.125.688-.125.875l-2.813 2.188c.063.438.063.875.063 1.313s0 .875-.063 1.313z"></path></svg></div></span><span>Settings</span></div></li>
172 172
 
173 173
 
174 174
 
@@ -194,7 +194,35 @@ av_io_single
194 194
 
195 195
 
196 196
 
197
-<li aria-label="Toggle settings" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff">
197
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_ffz">
198
+	<span class="toggle_box">
199
+	<label class="toggle_box_l">
200
+	<input class="toggle_box_i" type="checkbox" name="toggle_box_i">
201
+		toggle_box_i
202
+	</label>
203
+	</span>
204
+<br>
205
+
206
+
207
+</li>
208
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff ovmu_spot">
209
+
210
+<!-- <span class="slider_container"> -->
211
+<!-- <label class="switch"> -->
212
+
213
+<label class="slider_container">
214
+	
215
+<span class="switch">
216
+  <input class="spot_focus" type="checkbox">
217
+  <span class="slider"></span>
218
+
219
+</span>
220
+<span class="slider_txt">Spotlight Focus</span>
221
+</label>
222
+<!-- </span></label> -->
223
+</li>
224
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff_x">z2</li>
225
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff_x">
198 226
 <span class="m follow_focus">
199 227
 <input type="checkbox" id="follow_focus" name="follow_focus">
200 228
 <label for="follow_focus">
@@ -208,11 +236,15 @@ force
208 236
 </label>
209 237
 </span>
210 238
 </li>
211
-<li aria-label="Toggle settings" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff">
239
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff_x">
212 240
 <span class="m follow_focus2">
213 241
  <label for="num_pseudo"># of pseudo videos</label>
214 242
   <input type="number" id="num_pseudo" name="num_pseudo" min=0>
215 243
 <br>
244
+
245
+<span class="ov_timeout_span">
246
+	
247
+
216 248
   <label for="ov_timeout">overflow scroll interval </label>
217 249
   <input type="number" id="ov_timeout" name="timeout" min=.4 step=.1>
218 250
 
@@ -223,11 +255,18 @@ disable
223 255
 </label>
224 256
 <span class="inline_input"><button id="scroll_now" class="inline_input">scroll now</button></span>
225 257
 
258
+</span>
226 259
 </span>
227 260
 </li>
228 261
 
229 262
 
230
-<li aria-label="Toggle settings" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff">
263
+
264
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff_x ovmu_ff_tog">
265
+	
266
+<button class="ff_inp ff_mod">toggle enable</button>
267
+<span class="ff_inp ff_mod"></span>
268
+</li>
269
+<li aria-label="overflow menu item" class="overflow-menu-item ovmu otb ovmu_item ovmu_ff">
231 270
 <span class="m follow_focus_timeout">
232 271
 
233 272
   <label for="ov_timeout">ff time</label>
@@ -246,10 +285,13 @@ random
246 285
 <br>
247 286
 <input type="radio" id="ff_none" class="ff_inp" name="ff_algo" data-ivar="ff_none">
248 287
 <label for="ff_none" class="inline_input">
249
-	none
288
+	manual / none
250 289
 </label>
251 290
 </span>
252 291
 </li>
253 292
 <!-- <span class="inline_input"><button id="scroll_now" class="inline_input">scroll now</button></span> -->
254 293
 
255 294
 
295
+
296
+
297
+

+ 4
- 1
rf/ui_msg/r.js View File

@@ -2,6 +2,7 @@
2 2
 mod_templates_ui_msg = window.mod_templates_ui_msg || $("")
3 3
 
4 4
 // html_js_handler_ui_msg 
5
+
5 6
 function html_js_handler_ui_msg(rsp) {
6 7
 	clog("html_js_handler_ui_msg",[...arguments])
7 8
 	mod_templates_ui_msg = $(`<span>${rsp}</span>`)[0].outerHTML
@@ -12,6 +13,9 @@ function html_js_handler_ui_msg(rsp) {
12 13
 		// refresh_overflow_menu()
13 14
 	}
14 15
 	tbar()
16
+	if (window.tomflag){
17
+		refresh_overflow_menu_only()
18
+	}
15 19
 	// clog("html_js_handler_lobby3")
16 20
 	// init_api6()
17 21
 }
@@ -192,7 +196,6 @@ add_svg_mod()
192 196
 
193 197
 
194 198
 
195
-
196 199
 function vid_toggle(){
197 200
 	var v
198 201
 	var v2

+ 338
- 16
rf/ui_msg/r1.js View File

@@ -102,51 +102,359 @@ function somv_to(a){
102 102
 	n.find(".av_io").click(evnt_av_io)
103 103
 
104 104
 	$(".toolbox-content .overflow-menu").prepend(n)
105
-	if ( amimod() || 1){
105
+	if ( amimod() || 0){
106 106
 	n = jmod_templates_ui_msg.find(".ovmu_ff")
107
-	set_ovmu_ff3()
107
+	set_ovmu_ff3(n)
108 108
 	set_ovmu_ff(n)
109 109
 	// set_ovmu_ff2(n)
110 110
 	$(".toolbox-content .overflow-menu").prepend(n)
111 111
 	}
112
+	order_menu()
112 113
 
113
-	disp(glob_react.toolbox.setToolbarHovered(!!1))
114
+	// refresh_overflow_menu()
115
+	// setTimeout(refresh_overflow_menu_only,300)
116
+	// disp(glob_react.toolbox.setToolbarHovered(!!1))
117
+	// refresh_overflow_menu_only()
114 118
 
115 119
 	// $(".overflow-menu").append(n)
116 120
 
117 121
 
118 122
 }
119 123
 
124
+
125
+
126
+
127
+function order_menu(){
128
+	var ovfm = $(".toolbox-content .overflow-menu")
129
+	$(`[aria-label="Toggle settings"]`).before($(".ovmu_av"))
130
+	// $(`[aria-label="Toggle settings"]`).before("<hr>")
131
+	$(".ovmu_av:first").before("<hr>")
132
+	$(".ovmu_ff:last").after("<hr>")
133
+	$(".ovmu_spot").after("<hr>")
134
+	$(".spot_focus")[0].checked = msto.conference.force_follow
135
+	// ovfm.append($(".ovmu_spot"))
136
+}
137
+
138
+
139
+
140
+
141
+
142
+
120 143
 function ovmu_change(event){
121
-	clog("ovmu_change",event.target.dataset,{that:this,event,args:[...arguments]})
144
+	var local = get_local().id
145
+	if (local != msto.conference.ff.ff_mod){
146
+		// return
147
+	}
148
+	var type,ivar,name,target
149
+	target = event.target
150
+	ivar = target.dataset.ivar
151
+	type = target.type
152
+	name = target.name
153
+	var ff = msto.conference.ff
154
+
155
+	// clog("")
156
+	clog("ovmu_change",{that:this,data:event.target.dataset,event,args:[...arguments]},{type,ivar,name,target})
157
+	// return
158
+
159
+	if (type == "number"){
160
+		ff["number"][ivar] = target.value 
161
+
162
+	} else if (type == "checkbox") {
163
+		ff["checkbox"][ivar] = target.checked 
164
+		// target.checked = ff["checkbox"][ivar] || 0
165
+	} else if (type == "radio") {
166
+		// ff[""]
167
+		ff["radio"][name] = ivar
168
+		// if (ff["radio"][name] == ivar) { target.checked = 1 }
169
+		// v.checked = ff["radio"][name] || 0
170
+	}
171
+	if (ivar == "ff_timeout"){
172
+		try {
173
+			glob_mx.timeout.ff_ti.o.timeout = ff["number"][ivar]
174
+		} catch (err){}
175
+	}
176
+
122 177
 
123 178
 }
124 179
 
180
+
181
+
182
+
183
+
184
+
185
+
186
+
187
+
188
+
125 189
 function set_ovmu_dflts(n){
126 190
 	var i,k,v,j
127
-	var type,ivar
191
+	var type,ivar,name
192
+	var ff = msto.conference.ff
193
+	var local = get_local()
194
+
195
+
196
+
197
+
198
+
199
+
200
+
201
+
202
+	clog("set_ovmu_dflts...",$(n),n)
128 203
 	for (v of $(n)){
129 204
 		ivar = v.dataset.ivar
130 205
 		type = v.type
206
+		name = v.name
207
+		if (type == "number"){
208
+			v.value = ff["number"][ivar] || 0
209
+		} else if (type == "checkbox") {
210
+			v.checked = ff["checkbox"][ivar] || 0
211
+		} else if (type == "radio") {
212
+			// ff[""]
213
+			if (ff["radio"][name] == ivar) {
214
+				v.checked = 1
215
+			}
216
+			// v.checked = ff["radio"][name] || 0
217
+
218
+		} else if (v.classList.contains("ff_mod")){
219
+			if (v.tagName == "SPAN"){
220
+				// $(n).find("span.ff_mod").text(msto.conference.ff.ff_mod || "zzz")
221
+				$(v).text(msto.conference.ff.ff_mod == local.id ? "LOCAL " + local.id : msto.conference.ff.ff_mod )
222
+
223
+			} else if (v.tagName == "BUTTON") {
224
+				$(v).click(ff_mod_button_cb)
225
+				// $(v).clock()
226
+			}
227
+
228
+		}
229
+		clog("set_ovmu_dflts",{type,ivar,name})
230
+	}
231
+	// $(n).filter("span.ff_mod").text("z")
232
+
233
+}
234
+
235
+
236
+
237
+function ff_ti(){
238
+	// clog("ff_ti")
239
+	var ff_algo = msto.conference.ff.radio.ff_algo
240
+	if (ff_algo=="ff_none"){
241
+		return
242
+	}
243
+	if (ff_algo == "ff_rand"){
244
+
245
+		test_focus()
246
+
247
+	} else if (ff_algo == "ff_ordered"){
248
+		ordered_focus()
249
+
250
+	}
251
+
252
+
253
+}
254
+
255
+
256
+
257
+function ff_mod_button_cb(event){
258
+	return
259
+	var part,ff_mod_id
260
+	ff_mod_id = $("span.ff_mod").text()
261
+	part = get_local()
262
+	// if (part.id == ff_mod_id){
263
+	if (part.id == msto.conference.ff.ff_mod){
264
+		msto.conference.ff.ff_mod = null
265
+	$("span.ff_mod").text(msto.conference.ff.ff_mod)
266
+		// $(".id_sideToolbarContainer").removeClass("not_local_ff_mod")
267
+		$(".id_sideToolbarContainer").addClass("not_local_ff_mod")
268
+	} else {
269
+		msto.conference.ff.ff_mod = part.id
270
+	$("span.ff_mod").text("LOCAL " + msto.conference.ff.ff_mod)
271
+		$(".id_sideToolbarContainer").removeClass("not_local_ff_mod")
272
+		new Timeout_cls({
273
+			name:"ff_ti",
274
+			timeout:msto.conference.ff.number.ff_timeout,
275
+			fn:ff_ti,
276
+			"zzz":"da"
277
+		})
278
+		// $(".not_local_ff_mod")
279
+	// if (local == msto.conference.ff.ff_mod){
280
+	// } else {
281
+	// }
282
+		// clog()
283
+		glob_mx.timeout.ff_ti.run()
284
+		// glob_mx
131 285
 	}
286
+	req_ff_send({ff_mod:msto.conference.ff.ff_mod})
287
+}
132 288
 
289
+function req_ff_send(o){
290
+
291
+            tmsgx({
292
+                "type":"event",
293
+                // z:
294
+                "payload":o,
295
+                etype:"req_ff"
296
+            },"code")
297
+}
298
+// req_av_send({act:"av_off","to":"all"})
299
+// req_av_send({to:"all",act:"force_vid_on"})
300
+// 
301
+function ff_evnt(o){
302
+	return
303
+	var ff_mod = o.parsed.payload.ff_mod
304
+	if (ff_mod != get_local().id){
305
+		delete glob_mx.timeout.ff_ti
306
+		// $(".id_sideToolbarContainer").removeClass("not_local_ff_mod")
307
+		$(".id_sideToolbarContainer").addClass("not_local_ff_mod")
308
+	}
309
+
310
+	// if (msto.conference.ff.ff_mod)
311
+	clog("ff_evnt",msto.conference.ff.ff_mod,get_local().id,{that:this,o,args:[...arguments]})
312
+}
313
+
314
+glob_mx.event_handlers.ff = {
315
+    fn:ff_evnt,
316
+    // fn:nop,
317
+    // m:{etype:"timer_start"},
318
+    m:{etype:"req_ff"},
319
+}
320
+function spot_focus_cb(event){
321
+	clog("spot_focus_cb",{that:this,event},event.target,event.target.checked)
322
+	if (event.target.checked){
323
+		$("input#follow_focus").click()
324
+
325
+	} else {
326
+		$("input#follow_focus_force").click()
327
+	}
328
+
329
+}
330
+
331
+function ffcb2(){
332
+	clog("ffcb",this.value,this.checked,[this,...arguments])
333
+	disp(glob_react.base_conference.setFollowMe(this.checked))
334
+    msto.conference.follow_focus = this.checked
335
+	var follow_focus_force=$("#follow_focus_force")[0] 
336
+	if (follow_focus_force.checked && !this.checked){
337
+		msto.conference.force_follow = this.checked
338
+		follow_focus_force.checked = this.checked
339
+
340
+	}
341
+}
342
+// force follow focus EventListener
343
+function fffcb2(){
344
+	var follow_focus=$("#follow_focus")[0]
345
+
346
+	if (!follow_focus.checked && this.checked){
347
+
348
+	follow_focus.checked = this.checked
349
+    msto.conference.follow_focus = this.checked
350
+	ffcb.bind(follow_focus)()
351
+	}
352
+	msto.conference.force_follow = this.checked
133 353
 }
354
+
355
+
356
+function enable_spotlight(){
357
+	msto.conference.follow_focus = true
358
+	msto.conference.force_follow = true
359
+	disp(glob_react.base_conference.setFollowMe(true))
360
+
361
+}
362
+
363
+function disable_spotlight(){
364
+
365
+	msto.conference.follow_focus = false
366
+	msto.conference.force_follow = false
367
+	disp(glob_react.base_conference.setFollowMe(false))
368
+
369
+
370
+}
371
+function toggle_spotlight(event){
372
+	var bool
373
+	if (this.tagName == "INPUT"){
374
+		bool = this.checked
375
+	} else {
376
+		bool = !msto.conference.force_follow
377
+	}
378
+	clog("toggle_spotlight",{that:this,event,bool,checked:this.checked,tagName:this.tagName})
379
+
380
+	msto.conference.follow_focus = bool
381
+	msto.conference.force_follow = bool
382
+	disp(glob_react.base_conference.setFollowMe(bool))
383
+	bool ? start_ff_ti() :remove_ff_ti()
384
+
385
+
386
+}
387
+
388
+
389
+
390
+
391
+
392
+function start_ff_ti(){
393
+		new Timeout_cls({
394
+			name:"ff_ti",
395
+			timeout:msto.conference.ff.number.ff_timeout,
396
+			fn:ff_ti,
397
+			"zzz":"da"
398
+		})
399
+		// $(".not_local_ff_mod")
400
+	// if (local == msto.conference.ff.ff_mod){
401
+	// } else {
402
+	// }
403
+		// clog()
404
+		glob_mx.timeout.ff_ti.run()
405
+}
406
+function remove_ff_ti(){
407
+	delete glob_mx.timeout.ff_ti
408
+}
409
+
410
+
411
+
412
+
413
+
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
134 430
 
135 431
 function set_ovmu_ff3(n){
136 432
 	msto.conference.ff ? 0 : msto.conference.ff = {
137 433
 		number:{
138 434
 	ff_timeout:5,
139 435
 		},
140
-		
436
+
141 437
 		radio:{
142
-	ff_algo:"ff_none"
438
+	ff_algo:"ff_none",
143 439
 		},
144 440
 		checkbox:{},
441
+		ff_mod:null,
145 442
 	// ff_ordered:0,
146 443
 	// ff_rand:0,
147
-	} 
148
-	clog("set_ovmu_ff3",jc(msto.conference.ff))
149
-	set_ovmu_dflts(n)
444
+	}
445
+	clog("set_ovmu_ff3.",jc(msto.conference.ff),jc(msto.conference))
446
+	set_ovmu_dflts($(n).find(".ff_inp"))
447
+	var local = get_local().id
448
+	if (local == msto.conference.ff.ff_mod){
449
+		// $(".id_sideToolbarContainer").removeClass("not_local_ff_mod")
450
+	} else {
451
+		// $(".id_sideToolbarContainer").addClass("not_local_ff_mod")
452
+
453
+	}
454
+	$(n).find(".spot_focus").off("change")
455
+	// $(n).find(".spot_focus").change(spot_focus_cb)
456
+	$(n).find(".spot_focus").change(toggle_spotlight)
457
+
150 458
 
151 459
 
152 460
 	// clog("set_ovmu_ff2",n)
@@ -166,18 +474,25 @@ function set_ovmu_ff(n){
166 474
 	        msto.conference.rotate_index = msto.conference.rotate_index || 0
167 475
 
168 476
     n = $(n)
169
-    n.find("input#follow_focus")[0].onchange = ffcb
170
-    n.find("input#follow_focus_force")[0].onchange = fffcb
171 477
     try {
172 478
 
173
-    n.find("input#ov_timeout")[0].onchange = scroll_timeout_runner
174
-    n.find("input#ov_timeout_disable")[0].onchange = scroll_timeout_runner
175
-    n.find("#scroll_now")[0].onclick = scroll_send
176
-
177 479
 
178 480
     n.find("#num_pseudo")[0].onchange = num_pseudo
179 481
     n.find("input#ov_timeout")[0].value=window.msto ? msto.conference.scroll_timeout || 15 : 15
180 482
     n.find("#num_pseudo")[0].value= window.msto ? msto.conference.repeat || 0 : 0
483
+
484
+    // n.find("#scroll_now")[0].onclick = scroll_send
485
+    n.find("#scroll_now")[0].onclick = timeout_scroll_start_now
486
+
487
+    n.find("input#ov_timeout")[0].onchange = scroll_timeout_runner
488
+    n.find("input#ov_timeout_disable")[0].onchange = scroll_timeout_runner
489
+
490
+    n.find("input#follow_focus")[0].onchange = ffcb
491
+    n.find("input#follow_focus_force")[0].onchange = fffcb
492
+
493
+
494
+
495
+
181 496
     } catch(err){}
182 497
     // clog("zz",n.find("input#ov_timeout")[0].value))
183 498
     // value=${window.msto ? msto.conference.scroll_timeout || 15 : 15}
@@ -271,6 +586,13 @@ function refresh_overflow_menu(){
271 586
 	setTimeout(dispatch_evnt(),50)
272 587
 
273 588
 }
589
+function refresh_overflow_menu_only(){
590
+	toggle_overflow_menu()
591
+	setTimeout(toggle_overflow_menu,100)
592
+	// dispatch_evnt(1)
593
+	// setTimeout(dispatch_evnt(),50)
594
+
595
+}
274 596
 
275 597
 
276 598
 

+ 297
- 3
rf/ui_msg/r2.css View File

@@ -46,6 +46,7 @@
46 46
 .id_chat-input {
47 47
     border-top: 1px solid #A4B8D1;
48 48
     display: flex;
49
+    display: none;
49 50
     padding: 5px 10px;
50 51
 }
51 52
 .id_sideToolbarContainer .chat-header{
@@ -130,8 +131,8 @@
130 131
 	/*margin-right: 10px;*/
131 132
 	/*position: relative;*/
132 133
 	position: absolute;
133
-	bottom: 0px;
134
-	bottom: 3em;
134
+	/*bottom: 0px;*/
135
+	/*bottom: 3em;*/
135 136
 	padding-inline-start: 0px;
136 137
 }
137 138
 
@@ -178,4 +179,297 @@ ul.overflow-menu{
178 179
 	background-color: #040404f0;
179 180
 	/*background-color: #004444dd;*/
180 181
 
181
-}
182
+}
183
+
184
+/*.not_local_ff_mod .ff_inp {*/
185
+.not_local_ff_mod .ovmu_ff {
186
+	opacity: .5;
187
+	pointer-events: none;
188
+	/*background-color:#fff;*/
189
+
190
+}
191
+
192
+.ovmu_ff.ovmu_ff_tog {
193
+opacity:unset;
194
+	pointer-events: unset;
195
+}
196
+
197
+.ov_timeout_span {
198
+	/*opacity: 0;*/
199
+	/*display: none;*/
200
+}
201
+
202
+input[type="checkbox"]{
203
+
204
+	/*background-color: #008;*/
205
+	/*outline: 1px solid #f00;*/
206
+	top: 1px;
207
+	position: relative;
208
+}
209
+label{
210
+	/*outline: 1px solid #f00;*/
211
+
212
+}
213
+
214
+input[type="radio"]{
215
+	/*outline: 1px solid #f00;*/
216
+	/*border: 4px solid #f00;*/
217
+	/*margin-top: 3.5px;*/
218
+	top: 1.5px;
219
+	/*padding: 2px !important;*/
220
+	/*padding-top: 2px !important;*/
221
+	position: relative;
222
+	/*background-color: #008;*/
223
+}
224
+
225
+label.inline_input{
226
+	/*outline: 1px solid #f00;*/
227
+	/*background-color: #008;*/
228
+}
229
+
230
+
231
+.toggle_box_i{
232
+	background-color: red;
233
+	outline: 1px solid #0ff;
234
+}
235
+
236
+
237
+.toggle_box_l{
238
+	/*display: none;*/
239
+	background-color: red;
240
+}
241
+
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+
257
+
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+div.subject.visible{
267
+	top: unset;
268
+	bottom: -10px;
269
+	z-index: 400;
270
+	padding-left: 175px;
271
+
272
+}
273
+
274
+
275
+div.subject.visible .participants-count{
276
+	pointer-events: none;
277
+}
278
+
279
+
280
+
281
+
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+
303
+
304
+
305
+
306
+.slider_container {
307
+	/*--vheight: 34px;*/
308
+	/*--vwidth: 60px;*/
309
+	--vheight: 2em;
310
+	--vheight: 1em;
311
+	/*--vwidth: 1.8em;*/
312
+	--vwidth: 3.6em;
313
+	--vwidth: 4.2em;
314
+	--vwidth: 4.2em;
315
+	--vwidth:calc(var(--vheight)*(8/3)) ;
316
+	/*--vheight: 1.2em;*/
317
+	/*--vwidth: 1.8em;*/
318
+	--vpad:1px;
319
+	--vnob:calc(var(--vheight) - (var(--vpad) * 2) );
320
+	--vnob:calc(var(--vheight) - (var(--vpad) * 2) );
321
+	/*--vnob:calc(var(--vwidth) - (var(--vpad) * 2) );*/
322
+	--vnob2:calc(var(--vwidth) - (var(--vnob) + (var(--vpad) * 2)  ) );
323
+	/*--vnob: 26px;*/
324
+	/*--vnob: .8em;*/
325
+}
326
+
327
+
328
+.switch {
329
+  position: relative;
330
+  position: absolute;
331
+  display: inline-block;
332
+  /*width: 60px;*/
333
+  /*height: 34px;*/
334
+  margin: auto;
335
+  margin: 3px;
336
+  /*top: 0px;*/
337
+  height: var(--vheight);
338
+  width: var(--vwidth);
339
+
340
+}
341
+
342
+.switch input { 
343
+  opacity: 0;
344
+  width: 0;
345
+  height: 0;
346
+}
347
+
348
+.slider {
349
+  position: absolute;
350
+  cursor: pointer;
351
+  top: 0;
352
+  left: 0;
353
+  right: 0;
354
+  bottom: 0;
355
+  /*background-color: #ccc;*/
356
+  background-color: #888;
357
+  /*background-color: #aaa;*/
358
+  background-color: #555;
359
+  /*background-color: #800;*/
360
+  /*background-color: #f00;*/
361
+  -webkit-transition: .4s;
362
+  transition: .4s;
363
+}
364
+
365
+.slider:before {
366
+  position: absolute;
367
+  content: "";
368
+  /*height: 26px;*/
369
+  /*width: 26px;*/
370
+  height: var(--vnob);
371
+  width: var(--vnob);
372
+  /*left: 4px;*/
373
+  /*bottom: 4px;*/
374
+  left: var(--vpad);
375
+  bottom: var(--vpad);
376
+  background-color: white;
377
+  /*background-color: #000;*/
378
+  -webkit-transition: .4s;
379
+  transition: .4s;
380
+}
381
+
382
+input:checked + .slider {
383
+  background-color: #2196F3;
384
+}
385
+
386
+input:focus + .slider {
387
+  box-shadow: 0 0 1px #2196F3;
388
+  /*box-shadow: 0 0 10px #fff;*/
389
+  /*box-shadow: 0 0 10px #f00;*/	
390
+}
391
+
392
+input:checked + .slider:before {
393
+	  /*left: unset;*/
394
+
395
+
396
+  /*animation-name: example;*/
397
+  /*animation-duration: 4s;*/
398
+
399
+  /*bottom: var(--vpad);*/
400
+
401
+  /*right: var(--vpad);*/
402
+  /*top: var(--vpad);*/
403
+
404
+  /*-webkit-transform: translateX(26px);*/
405
+  /*-ms-transform: translateX(26px);*/
406
+  /*transform: translateX(26px);*/
407
+  /*transform: translateX(var(--vnob));*/
408
+  transform: translateX(var(--vnob2));
409
+}
410
+
411
+@keyframes example {
412
+  0%   {
413
+  	left: var(--vpad);
414
+  	/*right:unset;*/
415
+  	background: red;
416
+  }
417
+
418
+  50% {
419
+  	/*left: unset;*/
420
+  	right: var(--vpad);
421
+  	background: #0ff;
422
+  }
423
+
424
+  100% {
425
+  	/*left: unset;*/
426
+  	right: var(--vpad);
427
+  	background: #0ff;
428
+  }
429
+}
430
+.slider {
431
+  border-radius: 34px;
432
+}
433
+
434
+.slider:before {
435
+  border-radius: 50%;
436
+}
437
+
438
+.slider_container {
439
+	position: relative;
440
+	width: 50px;
441
+}
442
+
443
+
444
+.slider_container {
445
+	position: relative;
446
+	/*width: 50px;*/
447
+	width: 100%;
448
+	/*outline: 1px solid #0ff;*/
449
+	/*height: 16px;*/
450
+}
451
+
452
+.slider_txt{
453
+	position: relative;
454
+	left: calc(var(--vwidth) + .5em);
455
+	display: inline-block;
456
+	display: inline-block;
457
+	/*position: absolute;*/
458
+}
459
+
460
+
461
+
462
+
463
+
464
+li[aria-label="Mute everyone"]{
465
+	display: none !important;
466
+}
467
+
468
+
469
+
470
+.follow_focus {
471
+	opacity: .5;
472
+	/*display: none;*/
473
+	/*pointer-events: none;*/
474
+}
475
+

+ 2
- 1
rf/ui_msg/r2.js View File

@@ -136,6 +136,7 @@ function toolbox_update(o,name){
136 136
 	// setTimeout(somv_to,0,"A")
137 137
 	somv_to("A")
138 138
 	move_ovfm()
139
+	
139 140
 	} else if (o.prevProps._overflowMenuVisible && !o.that.props._overflowMenuVisible){
140 141
 		close_ovfm(ovrm)
141 142
 	}
@@ -234,7 +235,7 @@ function move_ovfm(){
234 235
 	// ovrm.parent().addClass("ovrm_conatainer")
235 236
 	ovrm.parent().addClass("ovrm_conatainer").parent().addClass("ovrm_conatainer2")
236 237
 	chatcon.append(ovrm)
237
-	chatcon.prepend(ovfm0)
238
+	// chatcon.prepend(ovfm0)
238 239
 	chatcon.find(".ovfm0").append(chatcon.find(".ovmu_ff"))
239 240
 	$(".id_sideToolbarContainer").addClass("slideInExt")
240 241
 	// $(".id_chatconversation").append(ovrm.parent())

Loading…
Cancel
Save