diff options
author | Chocobozzz <me@florianbigard.com> | 2018-06-11 15:25:46 +0200 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-06-11 15:25:46 +0200 |
commit | 2a19a1e4de848c8c60ef4b4e606770220b3a28df (patch) | |
tree | f4d37dc34887df5ade26fab2a25a741674b0d77c /client/src/sass/video-js-custom.scss | |
parent | f286060081609f9f96475da7f80225f47de92787 (diff) | |
download | PeerTube-2a19a1e4de848c8c60ef4b4e606770220b3a28df.tar.gz PeerTube-2a19a1e4de848c8c60ef4b4e606770220b3a28df.tar.zst PeerTube-2a19a1e4de848c8c60ef4b4e606770220b3a28df.zip |
Split player sass file
Diffstat (limited to 'client/src/sass/video-js-custom.scss')
-rw-r--r-- | client/src/sass/video-js-custom.scss | 846 |
1 files changed, 0 insertions, 846 deletions
diff --git a/client/src/sass/video-js-custom.scss b/client/src/sass/video-js-custom.scss deleted file mode 100644 index c69423fe2..000000000 --- a/client/src/sass/video-js-custom.scss +++ /dev/null | |||
@@ -1,846 +0,0 @@ | |||
1 | @import '_variables'; | ||
2 | @import '_mixins'; | ||
3 | |||
4 | @mixin big-play-button-triangle-size($triangle-size) { | ||
5 | width: $triangle-size; | ||
6 | height: $triangle-size; | ||
7 | top: calc(50% - #{$triangle-size / 2}); | ||
8 | left: calc(53% - #{($triangle-size / 2)}); | ||
9 | } | ||
10 | |||
11 | $primary-foreground-color: #fff; | ||
12 | $primary-foreground-opacity: 0.9; | ||
13 | $primary-foreground-opacity-hover: 1; | ||
14 | $primary-background-color: #000; | ||
15 | |||
16 | $font-size: 13px; | ||
17 | $control-bar-height: 34px; | ||
18 | |||
19 | $slider-bg-color: lighten($primary-background-color, 33%); | ||
20 | |||
21 | $setting-transition-duration: 0.15s; | ||
22 | $setting-transition-easing: ease-out; | ||
23 | |||
24 | $context-menu-width: 350px; | ||
25 | |||
26 | $progress-margin: 10px; | ||
27 | |||
28 | .video-js.vjs-peertube-skin { | ||
29 | font-size: $font-size; | ||
30 | color: $primary-foreground-color; | ||
31 | |||
32 | .vjs-dock-text { | ||
33 | padding-right: 10px; | ||
34 | } | ||
35 | |||
36 | .vjs-dock-description { | ||
37 | font-size: 11px; | ||
38 | |||
39 | &::before, &::after { | ||
40 | display: inline-block; | ||
41 | content: '\1F308'; | ||
42 | } | ||
43 | |||
44 | &::before { | ||
45 | margin-right: 4px; | ||
46 | } | ||
47 | |||
48 | &::after { | ||
49 | margin-left: 4px; | ||
50 | transform: scale(-1, 1); | ||
51 | } | ||
52 | } | ||
53 | |||
54 | .vjs-button > .vjs-icon-placeholder::before { | ||
55 | line-height: $control-bar-height; | ||
56 | } | ||
57 | |||
58 | .vjs-volume-level::before { | ||
59 | content: ''; /* Remove Circle From Progress Bar */ | ||
60 | } | ||
61 | |||
62 | .vjs-audio-button { | ||
63 | display: none; | ||
64 | } | ||
65 | |||
66 | .vjs-big-play-button { | ||
67 | outline: 0; | ||
68 | font-size: 6em; | ||
69 | |||
70 | $big-play-width: 1.2em; | ||
71 | $big-play-height: 1.2em; | ||
72 | |||
73 | border: 6px solid #fff; | ||
74 | border-radius: 100%; | ||
75 | |||
76 | left: 50%; | ||
77 | top: 50%; | ||
78 | width: $big-play-width; | ||
79 | height: $big-play-height; | ||
80 | line-height: $big-play-height; | ||
81 | margin-left: -($big-play-width / 2); | ||
82 | margin-top: -($big-play-height / 2); | ||
83 | transition: 0.4s opacity; | ||
84 | |||
85 | &::-moz-focus-inner { | ||
86 | border: 0; | ||
87 | padding: 0 | ||
88 | } | ||
89 | |||
90 | .vjs-icon-placeholder::before { | ||
91 | @include big-play-button-triangle-size(45px); | ||
92 | |||
93 | content: ''; | ||
94 | background-image: url('../assets/player/images/big-play-button.svg'); | ||
95 | } | ||
96 | |||
97 | &:hover { | ||
98 | opacity: 0.8; | ||
99 | } | ||
100 | } | ||
101 | |||
102 | // Small effect when we click on the play button | ||
103 | &.vjs-has-big-play-button-clicked { | ||
104 | |||
105 | .vjs-big-play-button, .vjs-poster { | ||
106 | display: block; | ||
107 | visibility: hidden; | ||
108 | |||
109 | &.vjs-big-play-button, &.vjs-big-play-button::before { | ||
110 | opacity: 0; | ||
111 | transition: visibility 0.2s, opacity 0.2s; | ||
112 | } | ||
113 | |||
114 | &.vjs-poster, &.vjs-poster::before { | ||
115 | opacity: 0; | ||
116 | transition: visibility 0.3s, opacity 0.3s; | ||
117 | transition-delay: 0.05s; | ||
118 | } | ||
119 | } | ||
120 | } | ||
121 | |||
122 | // Hide the big play button on autoplay | ||
123 | &.vjs-has-autoplay { | ||
124 | .vjs-big-play-button { | ||
125 | display: none !important; | ||
126 | } | ||
127 | } | ||
128 | |||
129 | .vjs-control-bar, | ||
130 | .vjs-big-play-button, | ||
131 | .vjs-settings-dialog { | ||
132 | background-color: rgba($primary-background-color, 0.5); | ||
133 | } | ||
134 | |||
135 | .vjs-poster { | ||
136 | outline: none; /* Remove Blue Outline on Click*/ | ||
137 | outline: 0; | ||
138 | } | ||
139 | |||
140 | .vjs-control-bar { | ||
141 | height: $control-bar-height; | ||
142 | background: linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6)); | ||
143 | box-shadow: 0 -15px 40px 10px rgba(0, 0, 0, 0.2); | ||
144 | text-shadow: 0 0 2px rgba(0, 0, 0, 0.5); | ||
145 | |||
146 | .vjs-progress-control, | ||
147 | .vjs-play-control, | ||
148 | .vjs-playback-rate, | ||
149 | .vjs-mute-control, | ||
150 | .vjs-volume-control, | ||
151 | .vjs-resolution-control, | ||
152 | .vjs-fullscreen-control, | ||
153 | .vjs-peertube-link, | ||
154 | .vjs-settings | ||
155 | { | ||
156 | color: $primary-foreground-color !important; | ||
157 | opacity: $primary-foreground-opacity; | ||
158 | transition: opacity .1s; | ||
159 | |||
160 | &:hover { | ||
161 | opacity: $primary-foreground-opacity-hover; | ||
162 | } | ||
163 | } | ||
164 | |||
165 | .vjs-current-time, | ||
166 | .vjs-duration, | ||
167 | .vjs-peertube { | ||
168 | color: $primary-foreground-color; | ||
169 | opacity: $primary-foreground-opacity; | ||
170 | } | ||
171 | |||
172 | .vjs-progress-control { | ||
173 | position: absolute; | ||
174 | z-index: 100; // On top of the progress bar | ||
175 | bottom: 29px; | ||
176 | width: calc(100% - (2 * #{$progress-margin})); | ||
177 | margin-left: $progress-margin; | ||
178 | height: 14px; | ||
179 | |||
180 | .vjs-slider { | ||
181 | margin: 0; | ||
182 | border-radius: 0; | ||
183 | background-color: rgba(255, 255, 255, .2); | ||
184 | height: 3px; | ||
185 | transition: none; | ||
186 | |||
187 | .vjs-play-progress { | ||
188 | background: $primary-foreground-color; | ||
189 | |||
190 | // Not display the circle if the progress is not hovered | ||
191 | &::before { | ||
192 | opacity: 0; | ||
193 | transition: opacity 0.1s ease; | ||
194 | font-size: 14px; | ||
195 | |||
196 | top: -0.3em; | ||
197 | } | ||
198 | |||
199 | .vjs-time-tooltip { | ||
200 | display: none; | ||
201 | } | ||
202 | } | ||
203 | |||
204 | .vjs-load-progress { | ||
205 | &, & div { | ||
206 | background: rgba(255, 255, 255, .2); | ||
207 | } | ||
208 | } | ||
209 | } | ||
210 | } | ||
211 | |||
212 | .vjs-progress-control:hover .vjs-slider, | ||
213 | .vjs-slider.vjs-sliding { | ||
214 | height: 5px; | ||
215 | |||
216 | .vjs-play-progress::before { | ||
217 | opacity: 1; | ||
218 | } | ||
219 | } | ||
220 | |||
221 | |||
222 | .vjs-play-control { | ||
223 | @include disable-outline; | ||
224 | |||
225 | cursor: pointer; | ||
226 | font-size: $font-size; | ||
227 | margin-right: 5px; | ||
228 | } | ||
229 | |||
230 | .vjs-time-control { | ||
231 | line-height: inherit; | ||
232 | |||
233 | &.vjs-current-time { | ||
234 | font-size: $font-size; | ||
235 | display: inline-block; | ||
236 | padding: 0; | ||
237 | |||
238 | .vjs-current-time-display { | ||
239 | line-height: calc(#{$control-bar-height} + 1px); | ||
240 | |||
241 | &::after { | ||
242 | content: "/"; | ||
243 | margin: 0 1px 0 2px; | ||
244 | } | ||
245 | } | ||
246 | } | ||
247 | |||
248 | &.vjs-duration { | ||
249 | font-size: $font-size; | ||
250 | display: inline-block; | ||
251 | padding: 0; | ||
252 | .vjs-duration-display { | ||
253 | line-height: calc(#{$control-bar-height} + 1px); | ||
254 | } | ||
255 | } | ||
256 | |||
257 | &.vjs-remaining-time { | ||
258 | display: none; | ||
259 | } | ||
260 | } | ||
261 | |||
262 | .vjs-peertube { | ||
263 | width: 100%; | ||
264 | line-height: $control-bar-height; | ||
265 | text-align: right; | ||
266 | |||
267 | .vjs-peertube-displayed { | ||
268 | display: block; | ||
269 | } | ||
270 | |||
271 | .vjs-peertube-hidden { | ||
272 | display: none; | ||
273 | } | ||
274 | |||
275 | .download-speed-number, .upload-speed-number, .peers-number { | ||
276 | font-weight: $font-semibold; | ||
277 | } | ||
278 | |||
279 | .download-speed-text, .upload-speed-text, .peers-text { | ||
280 | margin-right: 15px; | ||
281 | } | ||
282 | |||
283 | .icon { | ||
284 | display: inline-block; | ||
285 | width: 15px; | ||
286 | height: 15px; | ||
287 | background-size: contain; | ||
288 | vertical-align: middle; | ||
289 | background-repeat: no-repeat; | ||
290 | margin-right: 6px; | ||
291 | position: relative; | ||
292 | top: -1px; | ||
293 | |||
294 | &.icon-download { | ||
295 | background-image: url('../assets/player/images/arrow-down.svg'); | ||
296 | } | ||
297 | |||
298 | &.icon-upload { | ||
299 | background-image: url('../assets/player/images/arrow-up.svg'); | ||
300 | } | ||
301 | } | ||
302 | } | ||
303 | |||
304 | .vjs-playback-rate { | ||
305 | font-size: 10px; | ||
306 | width: 37px !important; | ||
307 | |||
308 | .vjs-playback-rate-value { | ||
309 | font-size: 13px; | ||
310 | line-height: $control-bar-height; | ||
311 | } | ||
312 | |||
313 | .vjs-menu .vjs-menu-content { | ||
314 | width: 37px !important; | ||
315 | } | ||
316 | } | ||
317 | |||
318 | .vjs-mute-control { | ||
319 | @include disable-outline; | ||
320 | |||
321 | line-height: $control-bar-height; | ||
322 | padding: 0; | ||
323 | width: 30px; | ||
324 | |||
325 | .vjs-icon-placeholder { | ||
326 | display: inline-block; | ||
327 | width: 22px; | ||
328 | height: 22px; | ||
329 | vertical-align: middle; | ||
330 | background: url('../assets/player/images/volume.svg') no-repeat; | ||
331 | background-size: contain; | ||
332 | |||
333 | &::before { | ||
334 | content: ''; | ||
335 | } | ||
336 | } | ||
337 | |||
338 | &.vjs-vol-0 .vjs-icon-placeholder { | ||
339 | background: url('../assets/player/images/volume-mute.svg') no-repeat; | ||
340 | background-size: contain; | ||
341 | } | ||
342 | } | ||
343 | |||
344 | .vjs-volume-control { | ||
345 | width: 30px; | ||
346 | margin: 0 5px 0 0; | ||
347 | } | ||
348 | |||
349 | .vjs-volume-bar { | ||
350 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAcCAQAAACw95UnAAAAMElEQVRIx2NgoBL4n4YKGUYNHkEG4zJg1OCRYDCpBowaPJwMppbLRg0eNXjUYBLEAXWNUA6QNm1lAAAAAElFTkSuQmCC) no-repeat; | ||
351 | background-size: 22px 14px; | ||
352 | height: 100%; | ||
353 | width: 100%; | ||
354 | max-width: 22px; | ||
355 | max-height: 14px; | ||
356 | margin: 7px 4px; | ||
357 | border-radius: 0; | ||
358 | top: 3px; | ||
359 | |||
360 | .vjs-volume-level { | ||
361 | background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAcAQAAAAAyhWABAAAAAnRSTlMAAHaTzTgAAAAZSURBVHgBYwAB/g9EUv+JokCqiaT+U4MCAPKPS7WUUOc1AAAAAElFTkSuQmCC) no-repeat; | ||
362 | background-size: 22px 14px; | ||
363 | max-width: 22px; | ||
364 | max-height: 14px; | ||
365 | height: 100%; | ||
366 | } | ||
367 | } | ||
368 | |||
369 | .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active, | ||
370 | .vjs-volume-panel.vjs-volume-panel-horizontal:active, | ||
371 | .vjs-volume-panel.vjs-volume-panel-horizontal:focus, | ||
372 | .vjs-volume-panel.vjs-volume-panel-horizontal:hover { | ||
373 | width: 6em; | ||
374 | transition-property: none; | ||
375 | } | ||
376 | |||
377 | .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control.vjs-volume-horizontal { | ||
378 | width: 3em; | ||
379 | height: auto; | ||
380 | } | ||
381 | |||
382 | .vjs-volume-panel .vjs-mute-control:hover ~ .vjs-volume-control { | ||
383 | transition-property: none; | ||
384 | } | ||
385 | |||
386 | .vjs-volume-panel { | ||
387 | .vjs-mute-control { | ||
388 | width: 2em; | ||
389 | z-index: 1; | ||
390 | padding: 0; | ||
391 | } | ||
392 | |||
393 | .vjs-volume-control { | ||
394 | display: inline-block; | ||
395 | position: relative; | ||
396 | left: 5px; | ||
397 | opacity: 1; | ||
398 | width: 3em; | ||
399 | height: auto; | ||
400 | } | ||
401 | } | ||
402 | |||
403 | .vjs-peertube-link { | ||
404 | @include disable-outline; | ||
405 | @include disable-default-a-behaviour; | ||
406 | |||
407 | text-decoration: none; | ||
408 | line-height: $control-bar-height; | ||
409 | font-weight: $font-semibold; | ||
410 | padding: 0 5px; | ||
411 | } | ||
412 | |||
413 | .vjs-fullscreen-control { | ||
414 | @include disable-outline; | ||
415 | |||
416 | width: 37px; | ||
417 | margin-right: 11px; | ||
418 | |||
419 | .vjs-icon-placeholder { | ||
420 | display: inline-block; | ||
421 | width: 22px; | ||
422 | height: 22px; | ||
423 | vertical-align: middle; | ||
424 | background: url('../assets/player/images/fullscreen.svg') no-repeat; | ||
425 | background-size: contain; | ||
426 | |||
427 | &::before { | ||
428 | content: ''; | ||
429 | } | ||
430 | } | ||
431 | } | ||
432 | |||
433 | .vjs-menu-button-popup { | ||
434 | font-weight: $font-semibold; | ||
435 | width: 50px; | ||
436 | |||
437 | .vjs-resolution-button { | ||
438 | @include disable-outline; | ||
439 | } | ||
440 | |||
441 | .vjs-menu { | ||
442 | top: 20px; | ||
443 | left: 0; | ||
444 | |||
445 | .vjs-menu-content { | ||
446 | width: 50px; | ||
447 | bottom: 20px; | ||
448 | } | ||
449 | |||
450 | li { | ||
451 | text-transform: none; | ||
452 | font-size: 13px; | ||
453 | } | ||
454 | } | ||
455 | } | ||
456 | } | ||
457 | |||
458 | @media screen and (max-width: 750px) { | ||
459 | .vjs-dock-text { | ||
460 | font-size: 16px; | ||
461 | } | ||
462 | |||
463 | .vjs-dock-description { | ||
464 | font-size: 9px; | ||
465 | } | ||
466 | |||
467 | .vjs-big-play-button { | ||
468 | font-size: 5em; | ||
469 | border-width: 5px; | ||
470 | |||
471 | .vjs-icon-placeholder::before { | ||
472 | @include big-play-button-triangle-size(32px); | ||
473 | } | ||
474 | } | ||
475 | } | ||
476 | |||
477 | @media screen and (max-width: 570px) { | ||
478 | .vjs-dock-text { | ||
479 | font-size: 14px; | ||
480 | } | ||
481 | |||
482 | .vjs-big-play-button { | ||
483 | font-size: 4.5em; | ||
484 | border-width: 4.5px; | ||
485 | |||
486 | .vjs-icon-placeholder::before { | ||
487 | @include big-play-button-triangle-size(27px); | ||
488 | } | ||
489 | } | ||
490 | |||
491 | .vjs-playback-rate { | ||
492 | display: none; | ||
493 | } | ||
494 | |||
495 | .vjs-peertube { | ||
496 | padding: 0 !important; | ||
497 | |||
498 | .vjs-peertube-displayed { | ||
499 | display: none !important; | ||
500 | } | ||
501 | } | ||
502 | } | ||
503 | |||
504 | @media screen and (max-width: 300px) { | ||
505 | .vjs-dock-text { | ||
506 | font-size: 13px; | ||
507 | } | ||
508 | |||
509 | .vjs-big-play-button { | ||
510 | font-size: 3em; | ||
511 | border-width: 3px; | ||
512 | |||
513 | .vjs-icon-placeholder::before { | ||
514 | @include big-play-button-triangle-size(20px); | ||
515 | } | ||
516 | } | ||
517 | |||
518 | .vjs-volume-control { | ||
519 | display: none !important; | ||
520 | } | ||
521 | |||
522 | .vjs-peertube-link { | ||
523 | padding: 0 !important; | ||
524 | } | ||
525 | |||
526 | .vjs-settings { | ||
527 | width: 33px; | ||
528 | } | ||
529 | } | ||
530 | } | ||
531 | |||
532 | // Play/pause animations | ||
533 | .vjs-has-started .vjs-play-control { | ||
534 | &.vjs-playing { | ||
535 | animation: remove-pause-button 0.25s ease; | ||
536 | } | ||
537 | |||
538 | &.vjs-paused { | ||
539 | animation: add-play-button 0.25s ease; | ||
540 | } | ||
541 | |||
542 | @keyframes remove-pause-button { | ||
543 | 0% { | ||
544 | transform: rotate(90deg); | ||
545 | } | ||
546 | 100% { | ||
547 | transform: rotate(0deg); | ||
548 | } | ||
549 | } | ||
550 | |||
551 | @keyframes add-play-button { | ||
552 | 0% { | ||
553 | transform: rotate(-90deg); | ||
554 | } | ||
555 | 100% { | ||
556 | transform: rotate(0deg); | ||
557 | } | ||
558 | } | ||
559 | } | ||
560 | |||
561 | // Thanks: https://projects.lukehaas.me/css-loaders/ | ||
562 | .vjs-loading-spinner { | ||
563 | left: 50%; | ||
564 | font-size: 10px; | ||
565 | text-indent: -9999em; | ||
566 | border: 0.7em solid rgba(255, 255, 255, 0.2); | ||
567 | border-left-color: #ffffff; | ||
568 | transform: translateZ(0); | ||
569 | animation: 0.3s ease-out 1.1s forwards vjs-spinner-show, spinner 1.4s infinite linear !important; | ||
570 | overflow: hidden; | ||
571 | visibility: hidden; | ||
572 | |||
573 | &::before { | ||
574 | animation: none !important; | ||
575 | } | ||
576 | |||
577 | &::after { | ||
578 | border-radius: 50%; | ||
579 | width: 6em; | ||
580 | height: 6em; | ||
581 | animation: none !important; | ||
582 | } | ||
583 | |||
584 | @keyframes spinner { | ||
585 | 0% { | ||
586 | transform: rotate(0deg); | ||
587 | } | ||
588 | 100% { | ||
589 | transform: rotate(360deg); | ||
590 | } | ||
591 | } | ||
592 | |||
593 | @keyframes vjs-spinner-show { | ||
594 | 0% { | ||
595 | display: none; | ||
596 | opacity: 0; | ||
597 | } | ||
598 | |||
599 | 1% { | ||
600 | display: block; | ||
601 | visibility: visible; | ||
602 | opacity: 0; | ||
603 | } | ||
604 | |||
605 | 100% { | ||
606 | display: block; | ||
607 | visibility: visible; | ||
608 | opacity: 1; | ||
609 | } | ||
610 | } | ||
611 | } | ||
612 | |||
613 | // Error display disabled | ||
614 | .vjs-error:not(.vjs-error-display-enabled) { | ||
615 | .vjs-error-display { | ||
616 | display: none; | ||
617 | } | ||
618 | |||
619 | .vjs-loading-spinner { | ||
620 | display: block; | ||
621 | } | ||
622 | } | ||
623 | |||
624 | // Error display enabled | ||
625 | .vjs-error.vjs-error-display-enabled { | ||
626 | .vjs-error-display { | ||
627 | display: block; | ||
628 | } | ||
629 | } | ||
630 | |||
631 | |||
632 | /* Sass for videojs-settings-menu */ | ||
633 | |||
634 | .video-js { | ||
635 | |||
636 | .vjs-settings { | ||
637 | @include disable-outline; | ||
638 | |||
639 | cursor: pointer; | ||
640 | width: 37px; | ||
641 | |||
642 | .vjs-icon-placeholder { | ||
643 | display: inline-block; | ||
644 | width: 17px; | ||
645 | height: 17px; | ||
646 | vertical-align: middle; | ||
647 | background: url('../assets/player/images/settings.svg') no-repeat; | ||
648 | background-size: contain; | ||
649 | |||
650 | &::before { | ||
651 | content: ''; | ||
652 | } | ||
653 | } | ||
654 | } | ||
655 | |||
656 | .vjs-settings-sub-menu-title { | ||
657 | width: 4em; | ||
658 | text-transform: initial; | ||
659 | } | ||
660 | |||
661 | .vjs-settings-dialog { | ||
662 | position: absolute; | ||
663 | right: .5em; | ||
664 | bottom: 3.5em; | ||
665 | color: $primary-foreground-color; | ||
666 | opacity: $primary-foreground-opacity; | ||
667 | margin: 0 auto; | ||
668 | font-size: $font-size !important; | ||
669 | |||
670 | width: auto; | ||
671 | overflow: hidden; | ||
672 | |||
673 | transition: width $setting-transition-duration $setting-transition-easing, height $setting-transition-duration $setting-transition-easing; | ||
674 | |||
675 | .vjs-settings-sub-menu-value, | ||
676 | .vjs-settings-sub-menu-title { | ||
677 | display: table-cell; | ||
678 | padding: 0 5px; | ||
679 | } | ||
680 | |||
681 | .vjs-settings-sub-menu-title { | ||
682 | text-align: left; | ||
683 | font-weight: $font-semibold; | ||
684 | } | ||
685 | |||
686 | .vjs-settings-sub-menu-value { | ||
687 | width: 100%; | ||
688 | text-align: right; | ||
689 | |||
690 | small { | ||
691 | font-size: 0.85em; | ||
692 | opacity: 0.8; | ||
693 | } | ||
694 | } | ||
695 | |||
696 | .vjs-settings-panel { | ||
697 | position: absolute; | ||
698 | bottom: 0; | ||
699 | right: 0; | ||
700 | overflow-y: auto; | ||
701 | overflow-x: hidden; | ||
702 | border-radius: 1px; | ||
703 | } | ||
704 | |||
705 | .vjs-settings-panel-child { | ||
706 | display: flex; | ||
707 | |||
708 | align-items: flex-end; | ||
709 | white-space: nowrap; | ||
710 | |||
711 | &:focus, | ||
712 | &:active { | ||
713 | outline: none; | ||
714 | } | ||
715 | |||
716 | > .vjs-menu { | ||
717 | flex: 1; | ||
718 | min-width: 200px; | ||
719 | } | ||
720 | |||
721 | > .vjs-menu, | ||
722 | > .vjs-settings-sub-menu { | ||
723 | transition: all $setting-transition-duration $setting-transition-easing; | ||
724 | |||
725 | .vjs-menu-item { | ||
726 | |||
727 | &:hover { | ||
728 | background-color: rgba(255, 255, 255, 0.2); | ||
729 | } | ||
730 | |||
731 | &:first-child { | ||
732 | margin-top: 5px; | ||
733 | } | ||
734 | |||
735 | &:last-child { | ||
736 | margin-bottom: 5px; | ||
737 | } | ||
738 | } | ||
739 | |||
740 | li { | ||
741 | font-size: 1em; | ||
742 | text-transform: initial; | ||
743 | |||
744 | &:hover { | ||
745 | cursor: pointer; | ||
746 | } | ||
747 | } | ||
748 | } | ||
749 | |||
750 | > .vjs-menu { | ||
751 | .vjs-menu-item { | ||
752 | padding: 8px 16px; | ||
753 | } | ||
754 | |||
755 | .vjs-settings-sub-menu-value::after { | ||
756 | @include chevron-right(9px, 2px); | ||
757 | |||
758 | margin-left: 5px; | ||
759 | } | ||
760 | } | ||
761 | |||
762 | > .vjs-settings-sub-menu { | ||
763 | width: 80px; | ||
764 | |||
765 | .vjs-menu-item { | ||
766 | outline: 0; | ||
767 | font-weight: $font-semibold; | ||
768 | |||
769 | padding: 5px 8px; | ||
770 | text-align: right; | ||
771 | |||
772 | &.vjs-back-button { | ||
773 | background-color: inherit; | ||
774 | padding: 8px 8px 13px 8px; | ||
775 | margin-bottom: 5px; | ||
776 | border-bottom: 1px solid grey; | ||
777 | |||
778 | &::before { | ||
779 | @include chevron-left(9px, 2px); | ||
780 | |||
781 | margin-right: 5px; | ||
782 | } | ||
783 | } | ||
784 | |||
785 | &.vjs-selected { | ||
786 | background-color: inherit; | ||
787 | color: inherit; | ||
788 | position: relative; | ||
789 | |||
790 | &::before { | ||
791 | @include icon(15px); | ||
792 | |||
793 | position: absolute; | ||
794 | left: 8px; | ||
795 | content: ' '; | ||
796 | margin-top: 1px; | ||
797 | background-image: url('../assets/player/images/tick.svg'); | ||
798 | } | ||
799 | } | ||
800 | } | ||
801 | } | ||
802 | } | ||
803 | } | ||
804 | } | ||
805 | |||
806 | /* Sass for videojs-contextmenu-ui */ | ||
807 | |||
808 | .video-js .vjs-contextmenu-ui-menu { | ||
809 | position: absolute; | ||
810 | background-color: rgba(0, 0, 0, 0.5); | ||
811 | padding: 5px 0; | ||
812 | width: $context-menu-width; | ||
813 | |||
814 | .vjs-menu-content { | ||
815 | opacity: $primary-foreground-opacity; | ||
816 | color: $primary-foreground-color; | ||
817 | font-size: $font-size !important; | ||
818 | font-weight: $font-semibold; | ||
819 | } | ||
820 | |||
821 | .vjs-menu-item { | ||
822 | cursor: pointer; | ||
823 | font-size: 1em; | ||
824 | padding: 8px 16px; | ||
825 | text-align: left; | ||
826 | text-transform: none; | ||
827 | |||
828 | &:hover { | ||
829 | background-color: rgba(255, 255, 255, 0.2); | ||
830 | } | ||
831 | } | ||
832 | } | ||
833 | |||
834 | /* Special mobile style */ | ||
835 | |||
836 | .video-js.vjs-peertube-skin.vjs-is-mobile { | ||
837 | .vjs-control-bar { | ||
838 | .vjs-progress-control .vjs-slider .vjs-play-progress { | ||
839 | // Always display the circle on mobile | ||
840 | &::before { | ||
841 | margin-top: -1px; | ||
842 | opacity: 1; | ||
843 | } | ||
844 | } | ||
845 | } | ||
846 | } \ No newline at end of file | ||