myetv-player 1.0.0 → 1.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/codeql.yml +100 -0
- package/README.md +49 -58
- package/SECURITY.md +50 -0
- package/css/myetv-player.css +424 -219
- package/css/myetv-player.min.css +1 -1
- package/dist/myetv-player.js +1759 -1502
- package/dist/myetv-player.min.js +1705 -1469
- package/package.json +7 -1
- package/plugins/README.md +1016 -0
- package/plugins/cloudflare/README.md +1068 -0
- package/plugins/cloudflare/myetv-player-cloudflare-stream-plugin.js +556 -0
- package/plugins/facebook/README.md +1024 -0
- package/plugins/facebook/myetv-player-facebook-plugin.js +437 -0
- package/plugins/gamepad-remote-controller/README.md +816 -0
- package/plugins/gamepad-remote-controller/myetv-player-gamepad-remote-plugin.js +678 -0
- package/plugins/google-adsense-ads/README.md +1 -0
- package/plugins/google-adsense-ads/g-adsense-ads-plugin.js +158 -0
- package/plugins/google-ima-ads/README.md +1 -0
- package/plugins/google-ima-ads/g-ima-ads-plugin.js +355 -0
- package/plugins/twitch/README.md +1185 -0
- package/plugins/twitch/myetv-player-twitch-plugin.js +569 -0
- package/plugins/vast-vpaid-ads/README.md +1 -0
- package/plugins/vast-vpaid-ads/vast-vpaid-ads-plugin.js +346 -0
- package/plugins/vimeo/README.md +1416 -0
- package/plugins/vimeo/myetv-player-vimeo.js +640 -0
- package/plugins/youtube/README.md +851 -0
- package/plugins/youtube/myetv-player-youtube-plugin.js +1714 -210
- package/scss/README.md +160 -0
- package/scss/_controls.scss +184 -30
- package/scss/_menus.scss +840 -672
- package/scss/_responsive.scss +67 -105
- package/scss/_volume.scss +67 -105
- package/src/README.md +559 -0
- package/src/controls.js +17 -5
- package/src/core.js +1237 -1060
- package/src/i18n.js +27 -1
- package/src/quality.js +478 -436
- package/src/subtitles.js +2 -2
package/css/myetv-player.css
CHANGED
|
@@ -4591,7 +4591,128 @@ video::-webkit-media-text-track-display {
|
|
|
4591
4591
|
cursor: pointer !important;
|
|
4592
4592
|
}
|
|
4593
4593
|
|
|
4594
|
-
|
|
4594
|
+
.progress-container {
|
|
4595
|
+
position: relative;
|
|
4596
|
+
overflow: visible !important;
|
|
4597
|
+
padding: 0;
|
|
4598
|
+
margin-bottom: 10px;
|
|
4599
|
+
display: flex;
|
|
4600
|
+
align-items: center;
|
|
4601
|
+
cursor: pointer;
|
|
4602
|
+
}
|
|
4603
|
+
|
|
4604
|
+
.progress-bar {
|
|
4605
|
+
position: relative;
|
|
4606
|
+
width: 100%;
|
|
4607
|
+
height: 4px;
|
|
4608
|
+
background: rgba(255, 255, 255, 0.3);
|
|
4609
|
+
border-radius: 2px;
|
|
4610
|
+
overflow: visible !important;
|
|
4611
|
+
cursor: pointer;
|
|
4612
|
+
}
|
|
4613
|
+
|
|
4614
|
+
.progress-buffer {
|
|
4615
|
+
position: absolute;
|
|
4616
|
+
left: 0;
|
|
4617
|
+
top: 0;
|
|
4618
|
+
height: 100%;
|
|
4619
|
+
background: rgba(255, 255, 255, 0.5);
|
|
4620
|
+
border-radius: 2px;
|
|
4621
|
+
pointer-events: none;
|
|
4622
|
+
z-index: 1;
|
|
4623
|
+
}
|
|
4624
|
+
|
|
4625
|
+
.progress-filled {
|
|
4626
|
+
position: absolute;
|
|
4627
|
+
left: 0;
|
|
4628
|
+
top: 0;
|
|
4629
|
+
height: 100%;
|
|
4630
|
+
background: var(--player-accent, #ff0000);
|
|
4631
|
+
border-radius: 2px;
|
|
4632
|
+
pointer-events: none;
|
|
4633
|
+
z-index: 2;
|
|
4634
|
+
}
|
|
4635
|
+
|
|
4636
|
+
.progress-handle {
|
|
4637
|
+
position: absolute;
|
|
4638
|
+
top: 50%;
|
|
4639
|
+
left: 0%;
|
|
4640
|
+
transform: translate(-50%, -50%);
|
|
4641
|
+
width: 14px;
|
|
4642
|
+
height: 14px;
|
|
4643
|
+
background: var(--player-accent, #ff0000);
|
|
4644
|
+
cursor: grab;
|
|
4645
|
+
transition: opacity 0.2s ease;
|
|
4646
|
+
z-index: 10;
|
|
4647
|
+
pointer-events: auto;
|
|
4648
|
+
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
|
4649
|
+
}
|
|
4650
|
+
|
|
4651
|
+
.progress-handle:active {
|
|
4652
|
+
cursor: grabbing;
|
|
4653
|
+
}
|
|
4654
|
+
|
|
4655
|
+
.progress-handle-circle {
|
|
4656
|
+
border-radius: 50%;
|
|
4657
|
+
}
|
|
4658
|
+
|
|
4659
|
+
.progress-handle-square {
|
|
4660
|
+
border-radius: 3px;
|
|
4661
|
+
}
|
|
4662
|
+
|
|
4663
|
+
.progress-handle-diamond {
|
|
4664
|
+
border-radius: 2px;
|
|
4665
|
+
transform: translate(-50%, -50%) rotate(45deg);
|
|
4666
|
+
}
|
|
4667
|
+
|
|
4668
|
+
.progress-handle-arrow {
|
|
4669
|
+
background: transparent;
|
|
4670
|
+
width: 0 !important;
|
|
4671
|
+
height: 0 !important;
|
|
4672
|
+
border-left: 7px solid transparent;
|
|
4673
|
+
border-right: 7px solid transparent;
|
|
4674
|
+
border-bottom: 14px solid var(--player-accent, #ff0000);
|
|
4675
|
+
border-radius: 0;
|
|
4676
|
+
box-shadow: none;
|
|
4677
|
+
}
|
|
4678
|
+
|
|
4679
|
+
.progress-handle-triangle {
|
|
4680
|
+
background: transparent;
|
|
4681
|
+
width: 0 !important;
|
|
4682
|
+
height: 0 !important;
|
|
4683
|
+
border-left: 8px solid transparent;
|
|
4684
|
+
border-right: 8px solid transparent;
|
|
4685
|
+
border-bottom: 14px solid var(--player-accent, #ff0000);
|
|
4686
|
+
border-radius: 0;
|
|
4687
|
+
box-shadow: none;
|
|
4688
|
+
}
|
|
4689
|
+
|
|
4690
|
+
.progress-handle-heart {
|
|
4691
|
+
width: 16px !important;
|
|
4692
|
+
height: 16px !important;
|
|
4693
|
+
clip-path: polygon(50% 15%, 65% 0%, 80% 0%, 95% 15%, 95% 30%, 50% 85%, 5% 30%, 5% 15%, 20% 0%, 35% 0%);
|
|
4694
|
+
}
|
|
4695
|
+
|
|
4696
|
+
.progress-handle-star {
|
|
4697
|
+
width: 16px !important;
|
|
4698
|
+
height: 16px !important;
|
|
4699
|
+
clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
|
|
4700
|
+
}
|
|
4701
|
+
|
|
4702
|
+
.progress-handle-none {
|
|
4703
|
+
opacity: 0 !important;
|
|
4704
|
+
pointer-events: none !important;
|
|
4705
|
+
}
|
|
4706
|
+
|
|
4707
|
+
.progress-handle {
|
|
4708
|
+
opacity: 1 !important;
|
|
4709
|
+
}
|
|
4710
|
+
|
|
4711
|
+
.progress-container .progress-handle {
|
|
4712
|
+
opacity: 1 !important;
|
|
4713
|
+
}
|
|
4714
|
+
|
|
4715
|
+
/* Main controls container */
|
|
4595
4716
|
.controls {
|
|
4596
4717
|
position: absolute;
|
|
4597
4718
|
bottom: 0;
|
|
@@ -4607,6 +4728,7 @@ video::-webkit-media-text-track-display {
|
|
|
4607
4728
|
box-sizing: border-box;
|
|
4608
4729
|
}
|
|
4609
4730
|
|
|
4731
|
+
/* Controls visible state */
|
|
4610
4732
|
.controls.show {
|
|
4611
4733
|
opacity: 1;
|
|
4612
4734
|
transform: translateY(0);
|
|
@@ -7843,8 +7965,8 @@ video::-webkit-media-text-track-display {
|
|
|
7843
7965
|
}
|
|
7844
7966
|
|
|
7845
7967
|
/* Horizontal Volume Slider (default) - Base width reduced */
|
|
7846
|
-
.volume-container[data-
|
|
7847
|
-
width: 80px;
|
|
7968
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
7969
|
+
width: 80px;
|
|
7848
7970
|
height: var(--player-volume-height);
|
|
7849
7971
|
background: var(--player-volume-bg);
|
|
7850
7972
|
border-radius: calc(var(--player-volume-height) / 2);
|
|
@@ -7853,140 +7975,103 @@ video::-webkit-media-text-track-display {
|
|
|
7853
7975
|
|
|
7854
7976
|
/* Responsive width reduction for horizontal slider */
|
|
7855
7977
|
@media (max-width: 1200px) {
|
|
7856
|
-
.volume-container[data-
|
|
7978
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
7857
7979
|
width: 70px;
|
|
7858
7980
|
}
|
|
7859
7981
|
}
|
|
7860
7982
|
@media (max-width: 900px) {
|
|
7861
|
-
.volume-container[data-
|
|
7983
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
7862
7984
|
width: 60px;
|
|
7863
7985
|
}
|
|
7864
7986
|
}
|
|
7865
7987
|
@media (max-width: 768px) {
|
|
7866
|
-
.volume-container[data-
|
|
7988
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
7867
7989
|
width: 50px;
|
|
7868
7990
|
}
|
|
7869
7991
|
}
|
|
7870
7992
|
@media (max-width: 600px) {
|
|
7871
|
-
.volume-container[data-
|
|
7993
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
7872
7994
|
width: 40px;
|
|
7873
7995
|
}
|
|
7874
7996
|
}
|
|
7875
|
-
/* Vertical Volume Slider (always visible) */
|
|
7876
|
-
.volume-container[data-orientation=vertical] {
|
|
7877
|
-
flex-direction: column;
|
|
7878
|
-
height: 80px;
|
|
7879
|
-
justify-content: center;
|
|
7880
|
-
}
|
|
7881
|
-
|
|
7882
|
-
.volume-container[data-orientation=vertical] .volume-slider {
|
|
7883
|
-
width: 4px;
|
|
7884
|
-
height: 60px;
|
|
7885
|
-
writing-mode: bt-lr; /* IE */
|
|
7886
|
-
-webkit-appearance: slider-vertical; /* WebKit */
|
|
7887
|
-
background: var(--player-volume-bg);
|
|
7888
|
-
border-radius: 2px;
|
|
7889
|
-
transform: rotate(0deg);
|
|
7890
|
-
transition: all 0.3s ease;
|
|
7891
|
-
}
|
|
7892
|
-
|
|
7893
|
-
/* Responsive: Force vertical behavior for horizontal sliders under 550px */
|
|
7894
7997
|
@media (max-width: 550px) {
|
|
7895
|
-
/* Hide
|
|
7896
|
-
.volume-container[data-
|
|
7998
|
+
/* Hide tooltip on mobile */
|
|
7999
|
+
.volume-container[data-mobile-slider=show] .volume-tooltip {
|
|
8000
|
+
display: none !important;
|
|
8001
|
+
}
|
|
8002
|
+
/* Volume container */
|
|
8003
|
+
.volume-container[data-mobile-slider=show] {
|
|
8004
|
+
pointer-events: auto !important;
|
|
8005
|
+
position: relative;
|
|
8006
|
+
}
|
|
8007
|
+
/* Mute button */
|
|
8008
|
+
.mute-btn {
|
|
8009
|
+
position: relative;
|
|
8010
|
+
z-index: 100;
|
|
8011
|
+
pointer-events: auto !important;
|
|
8012
|
+
}
|
|
8013
|
+
/* Hide slider by default - stay open for 2 seconds */
|
|
8014
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
7897
8015
|
position: absolute;
|
|
7898
8016
|
opacity: 0;
|
|
7899
8017
|
visibility: hidden;
|
|
7900
8018
|
pointer-events: none;
|
|
7901
8019
|
width: 0;
|
|
7902
8020
|
height: 0;
|
|
7903
|
-
transform: translateX(-
|
|
7904
|
-
|
|
7905
|
-
|
|
7906
|
-
|
|
7907
|
-
|
|
7908
|
-
.mute-btn:hover
|
|
7909
|
-
.volume-container[data-
|
|
8021
|
+
transform: translateX(-100%);
|
|
8022
|
+
transition: opacity 0s ease, visibility 0s ease 2s, width 0s ease 2s;
|
|
8023
|
+
}
|
|
8024
|
+
/* Show slider on hover */
|
|
8025
|
+
.controls-left:hover .volume-container[data-mobile-slider=show] .volume-slider,
|
|
8026
|
+
.mute-btn:hover ~ .volume-container[data-mobile-slider=show] .volume-slider,
|
|
8027
|
+
.volume-container[data-mobile-slider=show]:hover .volume-slider,
|
|
8028
|
+
.volume-slider:hover {
|
|
7910
8029
|
position: absolute;
|
|
7911
8030
|
opacity: 1;
|
|
7912
8031
|
visibility: visible;
|
|
7913
|
-
pointer-events: auto;
|
|
7914
|
-
width:
|
|
7915
|
-
height:
|
|
7916
|
-
bottom:
|
|
7917
|
-
|
|
7918
|
-
|
|
7919
|
-
transform
|
|
7920
|
-
z-index:
|
|
7921
|
-
background: rgba(0, 0, 0, 0.
|
|
7922
|
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
7923
|
-
border-radius:
|
|
7924
|
-
padding:
|
|
8032
|
+
pointer-events: auto !important;
|
|
8033
|
+
width: 90px !important;
|
|
8034
|
+
height: auto;
|
|
8035
|
+
bottom: auto;
|
|
8036
|
+
top: 50%;
|
|
8037
|
+
left: 5px;
|
|
8038
|
+
transform: translateY(-50%);
|
|
8039
|
+
z-index: 19;
|
|
8040
|
+
background: rgba(0, 0, 0, 0.92) !important;
|
|
8041
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
8042
|
+
border-radius: 8px;
|
|
8043
|
+
padding: 10px 14px;
|
|
8044
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
|
|
7925
8045
|
backdrop-filter: blur(10px);
|
|
7926
|
-
|
|
7927
|
-
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
7928
|
-
}
|
|
7929
|
-
/* Extend hover area of mute button for horizontal mode */
|
|
7930
|
-
.volume-container[data-orientation=horizontal] + .mute-btn,
|
|
7931
|
-
.mute-btn + .volume-container[data-orientation=horizontal] .mute-btn {
|
|
7932
|
-
padding: 15px;
|
|
7933
|
-
margin: -7px;
|
|
7934
|
-
position: relative;
|
|
7935
|
-
z-index: 1001;
|
|
8046
|
+
transition: opacity 0.2s ease, visibility 0s ease, width 0.2s ease;
|
|
7936
8047
|
}
|
|
7937
|
-
/* Keep
|
|
7938
|
-
.
|
|
7939
|
-
|
|
7940
|
-
content: "";
|
|
7941
|
-
position: absolute;
|
|
7942
|
-
top: -50px;
|
|
7943
|
-
left: -40px;
|
|
7944
|
-
right: -20px;
|
|
7945
|
-
bottom: -10px;
|
|
7946
|
-
background: transparent;
|
|
7947
|
-
z-index: 999;
|
|
8048
|
+
/* Keep slider open when hovering controls-left */
|
|
8049
|
+
.controls-left:has(.volume-container[data-mobile-slider=show]):hover {
|
|
8050
|
+
pointer-events: auto !important;
|
|
7948
8051
|
}
|
|
7949
|
-
/*
|
|
7950
|
-
.
|
|
7951
|
-
|
|
7952
|
-
|
|
7953
|
-
|
|
7954
|
-
|
|
7955
|
-
|
|
7956
|
-
|
|
7957
|
-
|
|
7958
|
-
|
|
7959
|
-
|
|
7960
|
-
|
|
7961
|
-
.volume-
|
|
7962
|
-
|
|
7963
|
-
|
|
7964
|
-
visibility: visible;
|
|
8052
|
+
/* Track styling */
|
|
8053
|
+
.controls-left:hover .volume-slider::-webkit-slider-runnable-track,
|
|
8054
|
+
.volume-container[data-mobile-slider=show]:hover .volume-slider::-webkit-slider-runnable-track,
|
|
8055
|
+
.volume-slider:hover::-webkit-slider-runnable-track {
|
|
8056
|
+
width: 60px;
|
|
8057
|
+
height: 4px !important;
|
|
8058
|
+
background: linear-gradient(to right, var(--player-primary-color) 0%, var(--player-primary-color) var(--player-volume-fill, 50%), rgba(255, 255, 255, 0.4) var(--player-volume-fill, 50%), rgba(255, 255, 255, 0.4) 100%) !important;
|
|
8059
|
+
border-radius: 2px;
|
|
8060
|
+
}
|
|
8061
|
+
/* Thumb styling */
|
|
8062
|
+
.controls-left:hover .volume-slider::-webkit-slider-thumb,
|
|
8063
|
+
.volume-container[data-mobile-slider=show]:hover .volume-slider::-webkit-slider-thumb,
|
|
8064
|
+
.volume-slider:hover::-webkit-slider-thumb {
|
|
8065
|
+
opacity: 1 !important;
|
|
8066
|
+
visibility: visible !important;
|
|
7965
8067
|
-webkit-appearance: none;
|
|
7966
|
-
width:
|
|
7967
|
-
height:
|
|
7968
|
-
border-radius: 50%;
|
|
7969
|
-
background: var(--player-primary-color);
|
|
7970
|
-
cursor: pointer;
|
|
7971
|
-
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
|
|
7972
|
-
transition: none !important;
|
|
7973
|
-
}
|
|
7974
|
-
.volume-container[data-orientation=horizontal]:hover .volume-slider::-moz-range-thumb,
|
|
7975
|
-
.mute-btn:hover + .volume-container[data-orientation=horizontal] .volume-slider::-moz-range-thumb {
|
|
7976
|
-
opacity: 1;
|
|
7977
|
-
visibility: visible;
|
|
7978
|
-
width: var(--player-volume-handle-size);
|
|
7979
|
-
height: var(--player-volume-handle-size);
|
|
8068
|
+
width: 14px;
|
|
8069
|
+
height: 14px;
|
|
7980
8070
|
border-radius: 50%;
|
|
7981
|
-
background:
|
|
8071
|
+
background: white;
|
|
7982
8072
|
cursor: pointer;
|
|
7983
|
-
|
|
7984
|
-
|
|
7985
|
-
transition: none !important;
|
|
7986
|
-
}
|
|
7987
|
-
/* Vertical sliders remain unchanged on mobile */
|
|
7988
|
-
.volume-container[data-orientation=vertical] {
|
|
7989
|
-
/* Keep original vertical styling */
|
|
8073
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
|
|
8074
|
+
margin-top: -5px;
|
|
7990
8075
|
}
|
|
7991
8076
|
}
|
|
7992
8077
|
/* CHAPTER MARKERS SYSTEM */
|
|
@@ -8501,6 +8586,163 @@ video::-webkit-media-text-track-display {
|
|
|
8501
8586
|
cursor: pointer !important;
|
|
8502
8587
|
}
|
|
8503
8588
|
|
|
8589
|
+
/* ===================================
|
|
8590
|
+
ALL SUBMENUS - ULTRA-COMPACT FIX
|
|
8591
|
+
=================================== */
|
|
8592
|
+
/* Apply to ALL submenus */
|
|
8593
|
+
.settings-submenu,
|
|
8594
|
+
.subtitles-menu,
|
|
8595
|
+
.quality-submenu,
|
|
8596
|
+
.speed-submenu,
|
|
8597
|
+
.yt-subtitles-submenu,
|
|
8598
|
+
.yt-quality-submenu {
|
|
8599
|
+
/* Ultra-compact: fit to content */
|
|
8600
|
+
width: fit-content !important;
|
|
8601
|
+
min-width: auto !important;
|
|
8602
|
+
max-width: 180px !important;
|
|
8603
|
+
/* Always open to the LEFT */
|
|
8604
|
+
right: 100% !important;
|
|
8605
|
+
left: auto !important;
|
|
8606
|
+
margin-right: 5px !important;
|
|
8607
|
+
margin-left: 0 !important;
|
|
8608
|
+
/* Scrollbar for long lists */
|
|
8609
|
+
max-height: 250px !important;
|
|
8610
|
+
overflow-y: auto !important;
|
|
8611
|
+
overflow-x: hidden !important;
|
|
8612
|
+
/* Text handling */
|
|
8613
|
+
white-space: nowrap !important;
|
|
8614
|
+
}
|
|
8615
|
+
|
|
8616
|
+
/* All submenu options (inside submenus) */
|
|
8617
|
+
.settings-submenu .settings-suboption,
|
|
8618
|
+
.subtitles-menu .subtitle-option,
|
|
8619
|
+
.quality-submenu .quality-option,
|
|
8620
|
+
.speed-submenu .speed-option,
|
|
8621
|
+
.yt-subtitles-submenu .quality-option {
|
|
8622
|
+
padding: 8px 10px !important;
|
|
8623
|
+
font-size: 12px !important;
|
|
8624
|
+
white-space: nowrap !important;
|
|
8625
|
+
overflow: hidden !important;
|
|
8626
|
+
text-overflow: ellipsis !important;
|
|
8627
|
+
}
|
|
8628
|
+
|
|
8629
|
+
/* ===================================
|
|
8630
|
+
SETTINGS MENU - FONT CONSISTENCY
|
|
8631
|
+
=================================== */
|
|
8632
|
+
/* Main settings menu options (not in submenus) - keep consistent size */
|
|
8633
|
+
.settings-menu > .settings-option,
|
|
8634
|
+
.settings-menu > .subtitles-option {
|
|
8635
|
+
font-size: 13px !important;
|
|
8636
|
+
}
|
|
8637
|
+
|
|
8638
|
+
.settings-menu > .settings-option span,
|
|
8639
|
+
.settings-menu > .subtitles-option span {
|
|
8640
|
+
font-size: 13px !important;
|
|
8641
|
+
}
|
|
8642
|
+
|
|
8643
|
+
/* Override any existing .subtitles-option font-size */
|
|
8644
|
+
.subtitles-btn,
|
|
8645
|
+
.subtitles-control {
|
|
8646
|
+
font-size: 13px !important;
|
|
8647
|
+
}
|
|
8648
|
+
|
|
8649
|
+
/* ===================================
|
|
8650
|
+
RESPONSIVE - PROGRESSIVE REDUCTION
|
|
8651
|
+
=================================== */
|
|
8652
|
+
/* Tablets and larger phones */
|
|
8653
|
+
@media (max-width: 768px) {
|
|
8654
|
+
/* Main menu options stay readable */
|
|
8655
|
+
.settings-menu > .settings-option,
|
|
8656
|
+
.settings-menu > .subtitles-option {
|
|
8657
|
+
font-size: 12px !important;
|
|
8658
|
+
}
|
|
8659
|
+
/* Submenus get smaller */
|
|
8660
|
+
.settings-submenu,
|
|
8661
|
+
.subtitles-menu,
|
|
8662
|
+
.quality-submenu,
|
|
8663
|
+
.speed-submenu,
|
|
8664
|
+
.yt-subtitles-submenu,
|
|
8665
|
+
.yt-quality-submenu {
|
|
8666
|
+
max-width: min(140px, 100vw - 180px) !important;
|
|
8667
|
+
}
|
|
8668
|
+
.settings-submenu .settings-suboption,
|
|
8669
|
+
.subtitles-menu .subtitle-option,
|
|
8670
|
+
.quality-submenu .quality-option,
|
|
8671
|
+
.speed-submenu .speed-option,
|
|
8672
|
+
.yt-subtitles-submenu .quality-option {
|
|
8673
|
+
padding: 7px 8px !important;
|
|
8674
|
+
font-size: 11px !important;
|
|
8675
|
+
}
|
|
8676
|
+
}
|
|
8677
|
+
/* Small phones */
|
|
8678
|
+
@media (max-width: 600px) {
|
|
8679
|
+
.settings-menu > .settings-option,
|
|
8680
|
+
.settings-menu > .subtitles-option {
|
|
8681
|
+
font-size: 11px !important;
|
|
8682
|
+
}
|
|
8683
|
+
.settings-submenu,
|
|
8684
|
+
.subtitles-menu,
|
|
8685
|
+
.quality-submenu,
|
|
8686
|
+
.speed-submenu,
|
|
8687
|
+
.yt-subtitles-submenu,
|
|
8688
|
+
.yt-quality-submenu {
|
|
8689
|
+
max-width: min(120px, 100vw - 160px) !important;
|
|
8690
|
+
}
|
|
8691
|
+
.settings-submenu .settings-suboption,
|
|
8692
|
+
.subtitles-menu .subtitle-option,
|
|
8693
|
+
.quality-submenu .quality-option,
|
|
8694
|
+
.speed-submenu .speed-option,
|
|
8695
|
+
.yt-subtitles-submenu .quality-option {
|
|
8696
|
+
padding: 6px 7px !important;
|
|
8697
|
+
font-size: 10px !important;
|
|
8698
|
+
}
|
|
8699
|
+
}
|
|
8700
|
+
/* Very small phones */
|
|
8701
|
+
@media (max-width: 450px) {
|
|
8702
|
+
.settings-menu > .settings-option,
|
|
8703
|
+
.settings-menu > .subtitles-option {
|
|
8704
|
+
font-size: 10px !important;
|
|
8705
|
+
}
|
|
8706
|
+
.settings-submenu,
|
|
8707
|
+
.subtitles-menu,
|
|
8708
|
+
.quality-submenu,
|
|
8709
|
+
.speed-submenu,
|
|
8710
|
+
.yt-subtitles-submenu,
|
|
8711
|
+
.yt-quality-submenu {
|
|
8712
|
+
max-width: min(100px, 100vw - 140px) !important;
|
|
8713
|
+
}
|
|
8714
|
+
.settings-submenu .settings-suboption,
|
|
8715
|
+
.subtitles-menu .subtitle-option,
|
|
8716
|
+
.quality-submenu .quality-option,
|
|
8717
|
+
.speed-submenu .speed-option,
|
|
8718
|
+
.yt-subtitles-submenu .quality-option {
|
|
8719
|
+
padding: 5px 6px !important;
|
|
8720
|
+
font-size: 9px !important;
|
|
8721
|
+
}
|
|
8722
|
+
}
|
|
8723
|
+
/* Ultra small phones */
|
|
8724
|
+
@media (max-width: 350px) {
|
|
8725
|
+
.settings-menu > .settings-option,
|
|
8726
|
+
.settings-menu > .subtitles-option {
|
|
8727
|
+
font-size: 9px !important;
|
|
8728
|
+
}
|
|
8729
|
+
.settings-submenu,
|
|
8730
|
+
.subtitles-menu,
|
|
8731
|
+
.quality-submenu,
|
|
8732
|
+
.speed-submenu,
|
|
8733
|
+
.yt-subtitles-submenu,
|
|
8734
|
+
.yt-quality-submenu {
|
|
8735
|
+
max-width: min(90px, 100vw - 120px) !important;
|
|
8736
|
+
}
|
|
8737
|
+
.settings-submenu .settings-suboption,
|
|
8738
|
+
.subtitles-menu .subtitle-option,
|
|
8739
|
+
.quality-submenu .quality-option,
|
|
8740
|
+
.speed-submenu .speed-option,
|
|
8741
|
+
.yt-subtitles-submenu .quality-option {
|
|
8742
|
+
padding: 4px 5px !important;
|
|
8743
|
+
font-size: 8px !important;
|
|
8744
|
+
}
|
|
8745
|
+
}
|
|
8504
8746
|
/* QUALITY BUTTON WITH DUAL DISPLAY */
|
|
8505
8747
|
.quality-btn {
|
|
8506
8748
|
min-height: 36px;
|
|
@@ -10889,7 +11131,7 @@ video::-webkit-media-text-track-display {
|
|
|
10889
11131
|
color: var(--player-primary-color);
|
|
10890
11132
|
}
|
|
10891
11133
|
|
|
10892
|
-
/* RESPONSIVE DESIGN - PROGRESSIVE DEGRADATION
|
|
11134
|
+
/* RESPONSIVE DESIGN - PROGRESSIVE DEGRADATION WITH DROP-DOWN MENU */
|
|
10893
11135
|
/* Large tablets and small desktops */
|
|
10894
11136
|
@media (max-width: 768px) {
|
|
10895
11137
|
.controls-left,
|
|
@@ -10984,19 +11226,19 @@ video::-webkit-media-text-track-display {
|
|
|
10984
11226
|
margin-right: 5px;
|
|
10985
11227
|
}
|
|
10986
11228
|
}
|
|
10987
|
-
/*
|
|
11229
|
+
/* VERY SMALL SCREENS - ENABLE MENU SETTINGS DROPDOWN */
|
|
10988
11230
|
@media (max-width: 350px) {
|
|
10989
|
-
/*
|
|
11231
|
+
/* Show the Settings menu only on very small screens */
|
|
10990
11232
|
.settings-control {
|
|
10991
11233
|
display: block !important;
|
|
10992
11234
|
}
|
|
10993
|
-
/*
|
|
11235
|
+
/* Hide individual controls and move them to the menu */
|
|
10994
11236
|
.pip-btn,
|
|
10995
11237
|
.speed-control,
|
|
10996
11238
|
.subtitles-control {
|
|
10997
11239
|
display: none !important;
|
|
10998
11240
|
}
|
|
10999
|
-
/*
|
|
11241
|
+
/* Reduce the spaces further */
|
|
11000
11242
|
.controls-left,
|
|
11001
11243
|
.controls-right {
|
|
11002
11244
|
gap: 4px;
|
|
@@ -11023,9 +11265,9 @@ video::-webkit-media-text-track-display {
|
|
|
11023
11265
|
margin-right: 3px;
|
|
11024
11266
|
}
|
|
11025
11267
|
.volume-slider {
|
|
11026
|
-
width: 30px; /*
|
|
11268
|
+
width: 30px; /* Even smaller volume slider */
|
|
11027
11269
|
}
|
|
11028
|
-
/*
|
|
11270
|
+
/* Reduce the settings menu for ultra-small screens */
|
|
11029
11271
|
.settings-menu {
|
|
11030
11272
|
min-width: 160px;
|
|
11031
11273
|
font-size: 12px;
|
|
@@ -11072,7 +11314,7 @@ video::-webkit-media-text-track-display {
|
|
|
11072
11314
|
.volume-slider {
|
|
11073
11315
|
width: 25px;
|
|
11074
11316
|
}
|
|
11075
|
-
/* Menu settings ultra-
|
|
11317
|
+
/* Menu settings ultra-compact */
|
|
11076
11318
|
.settings-menu {
|
|
11077
11319
|
min-width: 140px;
|
|
11078
11320
|
font-size: 11px;
|
|
@@ -13043,8 +13285,8 @@ video::-webkit-media-text-track-display {
|
|
|
13043
13285
|
}
|
|
13044
13286
|
|
|
13045
13287
|
/* Horizontal Volume Slider (default) - Base width reduced */
|
|
13046
|
-
.volume-container[data-
|
|
13047
|
-
width: 80px;
|
|
13288
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
13289
|
+
width: 80px;
|
|
13048
13290
|
height: var(--player-volume-height);
|
|
13049
13291
|
background: var(--player-volume-bg);
|
|
13050
13292
|
border-radius: calc(var(--player-volume-height) / 2);
|
|
@@ -13053,140 +13295,103 @@ video::-webkit-media-text-track-display {
|
|
|
13053
13295
|
|
|
13054
13296
|
/* Responsive width reduction for horizontal slider */
|
|
13055
13297
|
@media (max-width: 1200px) {
|
|
13056
|
-
.volume-container[data-
|
|
13298
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
13057
13299
|
width: 70px;
|
|
13058
13300
|
}
|
|
13059
13301
|
}
|
|
13060
13302
|
@media (max-width: 900px) {
|
|
13061
|
-
.volume-container[data-
|
|
13303
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
13062
13304
|
width: 60px;
|
|
13063
13305
|
}
|
|
13064
13306
|
}
|
|
13065
13307
|
@media (max-width: 768px) {
|
|
13066
|
-
.volume-container[data-
|
|
13308
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
13067
13309
|
width: 50px;
|
|
13068
13310
|
}
|
|
13069
13311
|
}
|
|
13070
13312
|
@media (max-width: 600px) {
|
|
13071
|
-
.volume-container[data-
|
|
13313
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
13072
13314
|
width: 40px;
|
|
13073
13315
|
}
|
|
13074
13316
|
}
|
|
13075
|
-
/* Vertical Volume Slider (always visible) */
|
|
13076
|
-
.volume-container[data-orientation=vertical] {
|
|
13077
|
-
flex-direction: column;
|
|
13078
|
-
height: 80px;
|
|
13079
|
-
justify-content: center;
|
|
13080
|
-
}
|
|
13081
|
-
|
|
13082
|
-
.volume-container[data-orientation=vertical] .volume-slider {
|
|
13083
|
-
width: 4px;
|
|
13084
|
-
height: 60px;
|
|
13085
|
-
writing-mode: bt-lr; /* IE */
|
|
13086
|
-
-webkit-appearance: slider-vertical; /* WebKit */
|
|
13087
|
-
background: var(--player-volume-bg);
|
|
13088
|
-
border-radius: 2px;
|
|
13089
|
-
transform: rotate(0deg);
|
|
13090
|
-
transition: all 0.3s ease;
|
|
13091
|
-
}
|
|
13092
|
-
|
|
13093
|
-
/* Responsive: Force vertical behavior for horizontal sliders under 550px */
|
|
13094
13317
|
@media (max-width: 550px) {
|
|
13095
|
-
/* Hide
|
|
13096
|
-
.volume-container[data-
|
|
13318
|
+
/* Hide tooltip on mobile */
|
|
13319
|
+
.volume-container[data-mobile-slider=show] .volume-tooltip {
|
|
13320
|
+
display: none !important;
|
|
13321
|
+
}
|
|
13322
|
+
/* Volume container */
|
|
13323
|
+
.volume-container[data-mobile-slider=show] {
|
|
13324
|
+
pointer-events: auto !important;
|
|
13325
|
+
position: relative;
|
|
13326
|
+
}
|
|
13327
|
+
/* Mute button */
|
|
13328
|
+
.mute-btn {
|
|
13329
|
+
position: relative;
|
|
13330
|
+
z-index: 100;
|
|
13331
|
+
pointer-events: auto !important;
|
|
13332
|
+
}
|
|
13333
|
+
/* Hide slider by default - stay open for 2 seconds */
|
|
13334
|
+
.volume-container[data-mobile-slider=show] .volume-slider {
|
|
13097
13335
|
position: absolute;
|
|
13098
13336
|
opacity: 0;
|
|
13099
13337
|
visibility: hidden;
|
|
13100
13338
|
pointer-events: none;
|
|
13101
13339
|
width: 0;
|
|
13102
13340
|
height: 0;
|
|
13103
|
-
transform: translateX(-
|
|
13104
|
-
|
|
13105
|
-
|
|
13106
|
-
|
|
13107
|
-
|
|
13108
|
-
.mute-btn:hover
|
|
13109
|
-
.volume-container[data-
|
|
13341
|
+
transform: translateX(-100%);
|
|
13342
|
+
transition: opacity 0s ease, visibility 0s ease 2s, width 0s ease 2s;
|
|
13343
|
+
}
|
|
13344
|
+
/* Show slider on hover */
|
|
13345
|
+
.controls-left:hover .volume-container[data-mobile-slider=show] .volume-slider,
|
|
13346
|
+
.mute-btn:hover ~ .volume-container[data-mobile-slider=show] .volume-slider,
|
|
13347
|
+
.volume-container[data-mobile-slider=show]:hover .volume-slider,
|
|
13348
|
+
.volume-slider:hover {
|
|
13110
13349
|
position: absolute;
|
|
13111
13350
|
opacity: 1;
|
|
13112
13351
|
visibility: visible;
|
|
13113
|
-
pointer-events: auto;
|
|
13114
|
-
width:
|
|
13115
|
-
height:
|
|
13116
|
-
bottom:
|
|
13117
|
-
|
|
13118
|
-
|
|
13119
|
-
transform
|
|
13120
|
-
z-index:
|
|
13121
|
-
background: rgba(0, 0, 0, 0.
|
|
13122
|
-
border: 1px solid rgba(255, 255, 255, 0.
|
|
13123
|
-
border-radius:
|
|
13124
|
-
padding:
|
|
13352
|
+
pointer-events: auto !important;
|
|
13353
|
+
width: 90px !important;
|
|
13354
|
+
height: auto;
|
|
13355
|
+
bottom: auto;
|
|
13356
|
+
top: 50%;
|
|
13357
|
+
left: 5px;
|
|
13358
|
+
transform: translateY(-50%);
|
|
13359
|
+
z-index: 19;
|
|
13360
|
+
background: rgba(0, 0, 0, 0.92) !important;
|
|
13361
|
+
border: 1px solid rgba(255, 255, 255, 0.15);
|
|
13362
|
+
border-radius: 8px;
|
|
13363
|
+
padding: 10px 14px;
|
|
13364
|
+
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.6);
|
|
13125
13365
|
backdrop-filter: blur(10px);
|
|
13126
|
-
|
|
13127
|
-
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
|
|
13128
|
-
}
|
|
13129
|
-
/* Extend hover area of mute button for horizontal mode */
|
|
13130
|
-
.volume-container[data-orientation=horizontal] + .mute-btn,
|
|
13131
|
-
.mute-btn + .volume-container[data-orientation=horizontal] .mute-btn {
|
|
13132
|
-
padding: 15px;
|
|
13133
|
-
margin: -7px;
|
|
13134
|
-
position: relative;
|
|
13135
|
-
z-index: 1001;
|
|
13136
|
-
}
|
|
13137
|
-
/* Keep hover active when moving from button to slider */
|
|
13138
|
-
.mute-btn:hover + .volume-container[data-orientation=horizontal]::before,
|
|
13139
|
-
.volume-container[data-orientation=horizontal]::before {
|
|
13140
|
-
content: "";
|
|
13141
|
-
position: absolute;
|
|
13142
|
-
top: -50px;
|
|
13143
|
-
left: -40px;
|
|
13144
|
-
right: -20px;
|
|
13145
|
-
bottom: -10px;
|
|
13146
|
-
background: transparent;
|
|
13147
|
-
z-index: 999;
|
|
13366
|
+
transition: opacity 0.2s ease, visibility 0s ease, width 0.2s ease;
|
|
13148
13367
|
}
|
|
13149
|
-
/*
|
|
13150
|
-
.volume-container[data-
|
|
13151
|
-
|
|
13152
|
-
visibility: hidden;
|
|
13153
|
-
transition: none !important;
|
|
13368
|
+
/* Keep slider open when hovering controls-left */
|
|
13369
|
+
.controls-left:has(.volume-container[data-mobile-slider=show]):hover {
|
|
13370
|
+
pointer-events: auto !important;
|
|
13154
13371
|
}
|
|
13155
|
-
|
|
13156
|
-
|
|
13157
|
-
|
|
13158
|
-
|
|
13159
|
-
|
|
13160
|
-
|
|
13161
|
-
|
|
13162
|
-
|
|
13163
|
-
|
|
13164
|
-
|
|
13372
|
+
/* Track styling */
|
|
13373
|
+
.controls-left:hover .volume-slider::-webkit-slider-runnable-track,
|
|
13374
|
+
.volume-container[data-mobile-slider=show]:hover .volume-slider::-webkit-slider-runnable-track,
|
|
13375
|
+
.volume-slider:hover::-webkit-slider-runnable-track {
|
|
13376
|
+
width: 60px;
|
|
13377
|
+
height: 4px !important;
|
|
13378
|
+
background: linear-gradient(to right, var(--player-primary-color) 0%, var(--player-primary-color) var(--player-volume-fill, 50%), rgba(255, 255, 255, 0.4) var(--player-volume-fill, 50%), rgba(255, 255, 255, 0.4) 100%) !important;
|
|
13379
|
+
border-radius: 2px;
|
|
13380
|
+
}
|
|
13381
|
+
/* Thumb styling */
|
|
13382
|
+
.controls-left:hover .volume-slider::-webkit-slider-thumb,
|
|
13383
|
+
.volume-container[data-mobile-slider=show]:hover .volume-slider::-webkit-slider-thumb,
|
|
13384
|
+
.volume-slider:hover::-webkit-slider-thumb {
|
|
13385
|
+
opacity: 1 !important;
|
|
13386
|
+
visibility: visible !important;
|
|
13165
13387
|
-webkit-appearance: none;
|
|
13166
|
-
width:
|
|
13167
|
-
height:
|
|
13168
|
-
border-radius: 50%;
|
|
13169
|
-
background: var(--player-primary-color);
|
|
13170
|
-
cursor: pointer;
|
|
13171
|
-
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
|
|
13172
|
-
transition: none !important;
|
|
13173
|
-
}
|
|
13174
|
-
.volume-container[data-orientation=horizontal]:hover .volume-slider::-moz-range-thumb,
|
|
13175
|
-
.mute-btn:hover + .volume-container[data-orientation=horizontal] .volume-slider::-moz-range-thumb {
|
|
13176
|
-
opacity: 1;
|
|
13177
|
-
visibility: visible;
|
|
13178
|
-
width: var(--player-volume-handle-size);
|
|
13179
|
-
height: var(--player-volume-handle-size);
|
|
13388
|
+
width: 14px;
|
|
13389
|
+
height: 14px;
|
|
13180
13390
|
border-radius: 50%;
|
|
13181
|
-
background:
|
|
13391
|
+
background: white;
|
|
13182
13392
|
cursor: pointer;
|
|
13183
|
-
|
|
13184
|
-
|
|
13185
|
-
transition: none !important;
|
|
13186
|
-
}
|
|
13187
|
-
/* Vertical sliders remain unchanged on mobile */
|
|
13188
|
-
.volume-container[data-orientation=vertical] {
|
|
13189
|
-
/* Keep original vertical styling */
|
|
13393
|
+
box-shadow: 0 2px 6px rgba(0, 0, 0, 0.5);
|
|
13394
|
+
margin-top: -5px;
|
|
13190
13395
|
}
|
|
13191
13396
|
}
|
|
13192
13397
|
/* CHAPTER MARKERS SYSTEM */
|