myetv-player 1.0.8 → 1.0.10

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.
@@ -97,21 +97,6 @@ body {
97
97
  opacity: 0;
98
98
  }
99
99
 
100
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),
101
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
102
- bottom: 15px;
103
- }
104
-
105
- .video-wrapper.has-controls .video-watermark {
106
- visibility: visible;
107
- opacity: 0.7;
108
- }
109
-
110
- .video-wrapper.has-controls .video-watermark.watermark-bottomleft,
111
- .video-wrapper.has-controls .video-watermark.watermark-bottomright {
112
- bottom: 90px;
113
- }
114
-
115
100
  .hidden {
116
101
  display: none !important;
117
102
  }
@@ -2301,73 +2286,6 @@ video::-webkit-media-text-track-display {
2301
2286
  right: 15px;
2302
2287
  }
2303
2288
 
2304
- /* Bottom positions - Increased spacing from controlbar (was 70px, now 90px) */
2305
- .video-watermark.watermark-bottomleft {
2306
- bottom: 90px; /* Increased spacing */
2307
- left: 15px;
2308
- }
2309
-
2310
- .video-watermark.watermark-bottomright {
2311
- bottom: 90px; /* Increased spacing */
2312
- right: 15px;
2313
- }
2314
-
2315
- /* DYNAMIC POSITIONING: Always visible watermark moves down when controls are hidden */
2316
- /* This applies ONLY to watermarks without hide-on-autohide class (always visible) */
2317
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide) {
2318
- bottom: 15px; /* Move to bottom corner when controls hidden */
2319
- }
2320
-
2321
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
2322
- bottom: 15px; /* Move to bottom corner when controls hidden */
2323
- }
2324
-
2325
- /* When controls are shown, bottom watermark stays above controlbar */
2326
- .video-wrapper.has-controls .video-watermark.watermark-bottomleft,
2327
- .video-wrapper.has-controls .video-watermark.watermark-bottomright {
2328
- bottom: 90px; /* Stay above controlbar */
2329
- }
2330
-
2331
- /* Responsive adjustments for mobile */
2332
- @media (max-width: 768px) {
2333
- .video-watermark img {
2334
- max-width: 100px;
2335
- max-height: 50px;
2336
- }
2337
- .video-watermark.watermark-topleft,
2338
- .video-watermark.watermark-topright {
2339
- top: 10px;
2340
- }
2341
- .video-watermark.watermark-topleft,
2342
- .video-watermark.watermark-bottomleft {
2343
- left: 10px;
2344
- }
2345
- .video-watermark.watermark-topright,
2346
- .video-watermark.watermark-bottomright {
2347
- right: 10px;
2348
- }
2349
- /* Bottom spacing adjusted for mobile */
2350
- .video-watermark.watermark-bottomleft,
2351
- .video-watermark.watermark-bottomright {
2352
- bottom: 75px; /* Above controlbar on mobile */
2353
- }
2354
- /* Always visible watermark on mobile - moves down when controls hidden */
2355
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),
2356
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
2357
- bottom: 10px; /* Move to corner on mobile */
2358
- }
2359
- }
2360
- /* Extra small screens */
2361
- @media (max-width: 480px) {
2362
- .video-watermark.watermark-bottomleft,
2363
- .video-watermark.watermark-bottomright {
2364
- bottom: 65px;
2365
- }
2366
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),
2367
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
2368
- bottom: 8px;
2369
- }
2370
- }
2371
2289
  /* Clickable watermark cursor */
2372
2290
  .video-watermark[style*="cursor: pointer"] {
2373
2291
  cursor: pointer !important;
@@ -4591,6 +4509,19 @@ video::-webkit-media-text-track-display {
4591
4509
  cursor: pointer !important;
4592
4510
  }
4593
4511
 
4512
+ .controls,
4513
+ .progress-container,
4514
+ .progress-bar,
4515
+ .controls-main,
4516
+ .controls-left,
4517
+ .controls-right,
4518
+ .time-display {
4519
+ user-select: none;
4520
+ -webkit-user-select: none;
4521
+ -moz-user-select: none;
4522
+ -ms-user-select: none;
4523
+ }
4524
+
4594
4525
  .progress-container {
4595
4526
  position: relative;
4596
4527
  overflow: visible !important;
@@ -4642,7 +4573,7 @@ video::-webkit-media-text-track-display {
4642
4573
  height: 14px;
4643
4574
  background: var(--player-accent, #ff0000);
4644
4575
  cursor: grab;
4645
- transition: opacity 0.2s ease;
4576
+ transition: all 0.2s ease;
4646
4577
  z-index: 10;
4647
4578
  pointer-events: auto;
4648
4579
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
@@ -4712,6 +4643,75 @@ video::-webkit-media-text-track-display {
4712
4643
  opacity: 1 !important;
4713
4644
  }
4714
4645
 
4646
+ @media (max-width: 768px) {
4647
+ .progress-bar {
4648
+ height: 4px;
4649
+ }
4650
+ .progress-handle {
4651
+ touch-action: none;
4652
+ -webkit-touch-callout: none;
4653
+ }
4654
+ .progress-handle::before {
4655
+ content: "";
4656
+ position: absolute;
4657
+ top: 50%;
4658
+ left: 50%;
4659
+ transform: translate(-50%, -50%);
4660
+ width: 50px;
4661
+ height: 50px;
4662
+ border-radius: 50%;
4663
+ background: transparent;
4664
+ z-index: -1;
4665
+ }
4666
+ .progress-handle:active {
4667
+ width: 24px !important;
4668
+ height: 24px !important;
4669
+ box-shadow: 0 3px 8px rgba(0, 0, 0, 0.4);
4670
+ }
4671
+ .progress-handle-circle:active {
4672
+ border-radius: 50%;
4673
+ }
4674
+ .progress-handle-square:active {
4675
+ border-radius: 5px;
4676
+ }
4677
+ .progress-handle-diamond:active {
4678
+ border-radius: 4px;
4679
+ transform: translate(-50%, -50%) rotate(45deg);
4680
+ }
4681
+ .progress-handle-arrow:active {
4682
+ border-left: 12px solid transparent;
4683
+ border-right: 12px solid transparent;
4684
+ border-bottom: 24px solid var(--player-accent, #ff0000);
4685
+ }
4686
+ .progress-handle-triangle:active {
4687
+ border-left: 13px solid transparent;
4688
+ border-right: 13px solid transparent;
4689
+ border-bottom: 24px solid var(--player-accent, #ff0000);
4690
+ }
4691
+ .progress-handle-heart:active,
4692
+ .progress-handle-star:active {
4693
+ width: 26px !important;
4694
+ height: 26px !important;
4695
+ }
4696
+ }
4697
+ @media (max-width: 480px) {
4698
+ .progress-bar {
4699
+ height: 4px;
4700
+ }
4701
+ .progress-handle::before {
4702
+ width: 60px;
4703
+ height: 60px;
4704
+ }
4705
+ .progress-handle:active {
4706
+ width: 28px !important;
4707
+ height: 28px !important;
4708
+ }
4709
+ .progress-handle-heart:active,
4710
+ .progress-handle-star:active {
4711
+ width: 30px !important;
4712
+ height: 30px !important;
4713
+ }
4714
+ }
4715
4715
  /* Main controls container */
4716
4716
  .controls {
4717
4717
  position: absolute;
@@ -4737,6 +4737,13 @@ video::-webkit-media-text-track-display {
4737
4737
  z-index: 20 !important;
4738
4738
  }
4739
4739
 
4740
+ .progress-container,
4741
+ .progress-bar,
4742
+ .progress-handle {
4743
+ touch-action: none;
4744
+ -webkit-touch-callout: none;
4745
+ }
4746
+
4740
4747
  /* PROGRESS BAR */
4741
4748
  .progress-container {
4742
4749
  width: 100%;
@@ -12517,6 +12524,54 @@ video::-webkit-media-text-track-display {
12517
12524
  cursor: pointer !important;
12518
12525
  }
12519
12526
 
12527
+ /* ===================================
12528
+ FIX SUBMENU CLIPPING ON SMALL SCREENS
12529
+ =================================== */
12530
+ /* Change positioning from bottom-aligned to top-aligned when menu would be clipped */
12531
+ /* ONLY affects submenus inside settings menu (small screen mode) */
12532
+ @media (max-height: 600px) {
12533
+ .settings-menu .settings-submenu,
12534
+ .settings-option .settings-submenu,
12535
+ .settings-option .quality-submenu,
12536
+ .settings-option .speed-submenu {
12537
+ /* Remove bottom positioning */
12538
+ bottom: auto !important;
12539
+ /* Align to top of parent option */
12540
+ top: 0 !important;
12541
+ /* Reduce max-height on very small screens */
12542
+ max-height: 150px !important;
12543
+ }
12544
+ }
12545
+ /* Even smaller screens - ultra compact */
12546
+ @media (max-height: 400px) {
12547
+ .settings-menu .settings-submenu,
12548
+ .settings-option .settings-submenu,
12549
+ .settings-option .quality-submenu,
12550
+ .settings-option .speed-submenu {
12551
+ max-height: 120px !important;
12552
+ }
12553
+ }
12554
+ /* For very small players (width < 400px) - only inside settings menu */
12555
+ @media (max-width: 400px) {
12556
+ .settings-menu .settings-submenu,
12557
+ .settings-option .settings-submenu,
12558
+ .settings-option .quality-submenu,
12559
+ .settings-option .speed-submenu {
12560
+ /* Switch to top alignment */
12561
+ bottom: auto !important;
12562
+ top: 0 !important;
12563
+ max-height: 180px !important;
12564
+ }
12565
+ }
12566
+ /* EXCLUDE standalone subtitles menu (the one that appears when player is large) */
12567
+ /* Keep original bottom positioning for standalone menus */
12568
+ .subtitles-button .subtitles-menu,
12569
+ .yt-subtitles-submenu:not(.settings-option *),
12570
+ .yt-quality-submenu:not(.settings-option *) {
12571
+ bottom: 0 !important;
12572
+ top: auto !important;
12573
+ }
12574
+
12520
12575
  .audio-player {
12521
12576
  width: 320px;
12522
12577
  height: 80px;
@@ -12557,6 +12612,120 @@ video::-webkit-media-text-track-display {
12557
12612
  --player-primary-dark: #c62828;
12558
12613
  }
12559
12614
 
12615
+ .video-watermark {
12616
+ position: absolute;
12617
+ z-index: 15;
12618
+ pointer-events: auto;
12619
+ opacity: 0.7;
12620
+ transition: opacity 0.3s ease, visibility 0.3s ease, bottom 0.3s ease;
12621
+ }
12622
+
12623
+ .video-watermark {
12624
+ visibility: visible;
12625
+ opacity: 0.7;
12626
+ }
12627
+
12628
+ .video-wrapper:not(.has-controls) .video-watermark.hide-on-autohide {
12629
+ visibility: hidden;
12630
+ opacity: 0;
12631
+ }
12632
+
12633
+ .video-wrapper.has-controls .video-watermark {
12634
+ visibility: visible;
12635
+ opacity: 0.7;
12636
+ }
12637
+
12638
+ .video-watermark:hover {
12639
+ opacity: 1;
12640
+ }
12641
+
12642
+ .video-watermark img {
12643
+ display: block;
12644
+ max-width: 150px;
12645
+ max-height: 80px;
12646
+ width: auto;
12647
+ height: auto;
12648
+ object-fit: contain;
12649
+ }
12650
+
12651
+ /* Top positions */
12652
+ .video-watermark.watermark-topleft {
12653
+ top: 15px;
12654
+ left: 15px;
12655
+ }
12656
+
12657
+ .video-watermark.watermark-topright {
12658
+ top: 15px;
12659
+ right: 15px;
12660
+ }
12661
+
12662
+ /* Bottom positions - Dynamic with controlbar height + spacing */
12663
+ .video-watermark.watermark-bottomleft {
12664
+ bottom: calc(var(--player-controls-height, 70px) + 15px);
12665
+ left: 15px;
12666
+ }
12667
+
12668
+ .video-watermark.watermark-bottomright {
12669
+ bottom: calc(var(--player-controls-height, 70px) + 15px);
12670
+ right: 15px;
12671
+ }
12672
+
12673
+ /* When controls hidden, move to corner */
12674
+ .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide) {
12675
+ bottom: 15px;
12676
+ }
12677
+
12678
+ .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
12679
+ bottom: 15px;
12680
+ }
12681
+
12682
+ /* When controls shown, stay above controlbar */
12683
+ .video-wrapper.has-controls .video-watermark.watermark-bottomleft,
12684
+ .video-wrapper.has-controls .video-watermark.watermark-bottomright {
12685
+ bottom: calc(var(--player-controls-height, 70px) + 15px);
12686
+ }
12687
+
12688
+ /* Responsive */
12689
+ @media (max-width: 768px) {
12690
+ .video-watermark img {
12691
+ max-width: 100px;
12692
+ max-height: 50px;
12693
+ }
12694
+ .video-watermark.watermark-topleft,
12695
+ .video-watermark.watermark-topright {
12696
+ top: 10px;
12697
+ }
12698
+ .video-watermark.watermark-topleft,
12699
+ .video-watermark.watermark-bottomleft {
12700
+ left: 10px;
12701
+ }
12702
+ .video-watermark.watermark-topright,
12703
+ .video-watermark.watermark-bottomright {
12704
+ right: 10px;
12705
+ }
12706
+ .video-watermark.watermark-bottomleft,
12707
+ .video-watermark.watermark-bottomright {
12708
+ bottom: calc(var(--player-controls-height, 60px) + 10px);
12709
+ }
12710
+ .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),
12711
+ .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
12712
+ bottom: 10px;
12713
+ }
12714
+ }
12715
+ @media (max-width: 480px) {
12716
+ .video-watermark.watermark-bottomleft,
12717
+ .video-watermark.watermark-bottomright {
12718
+ bottom: calc(var(--player-controls-height, 55px) + 10px);
12719
+ }
12720
+ .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),
12721
+ .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
12722
+ bottom: 8px;
12723
+ }
12724
+ }
12725
+ .video-watermark[style*="cursor: pointer"] {
12726
+ cursor: pointer !important;
12727
+ }
12728
+
12560
12729
  /* RESPONSIVE DESIGN - PROGRESSIVE DEGRADATION CON MENU A TENDINA */
12561
12730
  /* Large tablets and small desktops */
12562
12731
  @media (max-width: 768px) {
@@ -13780,128 +13949,3 @@ video::-webkit-media-text-track-display {
13780
13949
  bottom: 0 !important;
13781
13950
  overflow: visible !important;
13782
13951
  }
13783
-
13784
- /* ===================================
13785
- WATERMARK OVERLAY
13786
- =================================== */
13787
- .video-watermark {
13788
- position: absolute;
13789
- z-index: 15; /* Above video (10), below controls (100) */
13790
- pointer-events: auto;
13791
- opacity: 0.7;
13792
- transition: opacity 0.3s ease, visibility 0.3s ease, bottom 0.3s ease;
13793
- }
13794
-
13795
- /* Watermark visible by default */
13796
- .video-watermark {
13797
- visibility: visible;
13798
- opacity: 0.7;
13799
- }
13800
-
13801
- /* Hide watermark when it has hide-on-autohide class AND controls are hidden */
13802
- .video-wrapper:not(.has-controls) .video-watermark.hide-on-autohide {
13803
- visibility: hidden;
13804
- opacity: 0;
13805
- }
13806
-
13807
- /* Show watermark when controls are shown */
13808
- .video-wrapper.has-controls .video-watermark {
13809
- visibility: visible;
13810
- opacity: 0.7;
13811
- }
13812
-
13813
- .video-watermark:hover {
13814
- opacity: 1;
13815
- }
13816
-
13817
- .video-watermark img {
13818
- display: block;
13819
- max-width: 150px;
13820
- max-height: 80px;
13821
- width: auto;
13822
- height: auto;
13823
- object-fit: contain;
13824
- }
13825
-
13826
- /* Watermark positions - Top positions unchanged */
13827
- .video-watermark.watermark-topleft {
13828
- top: 15px;
13829
- left: 15px;
13830
- }
13831
-
13832
- .video-watermark.watermark-topright {
13833
- top: 15px;
13834
- right: 15px;
13835
- }
13836
-
13837
- /* Bottom positions - Increased spacing from controlbar (was 70px, now 90px) */
13838
- .video-watermark.watermark-bottomleft {
13839
- bottom: 90px; /* Increased spacing */
13840
- left: 15px;
13841
- }
13842
-
13843
- .video-watermark.watermark-bottomright {
13844
- bottom: 90px; /* Increased spacing */
13845
- right: 15px;
13846
- }
13847
-
13848
- /* DYNAMIC POSITIONING: Always visible watermark moves down when controls are hidden */
13849
- /* This applies ONLY to watermarks without hide-on-autohide class (always visible) */
13850
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide) {
13851
- bottom: 15px; /* Move to bottom corner when controls hidden */
13852
- }
13853
-
13854
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
13855
- bottom: 15px; /* Move to bottom corner when controls hidden */
13856
- }
13857
-
13858
- /* When controls are shown, bottom watermark stays above controlbar */
13859
- .video-wrapper.has-controls .video-watermark.watermark-bottomleft,
13860
- .video-wrapper.has-controls .video-watermark.watermark-bottomright {
13861
- bottom: 90px; /* Stay above controlbar */
13862
- }
13863
-
13864
- /* Responsive adjustments for mobile */
13865
- @media (max-width: 768px) {
13866
- .video-watermark img {
13867
- max-width: 100px;
13868
- max-height: 50px;
13869
- }
13870
- .video-watermark.watermark-topleft,
13871
- .video-watermark.watermark-topright {
13872
- top: 10px;
13873
- }
13874
- .video-watermark.watermark-topleft,
13875
- .video-watermark.watermark-bottomleft {
13876
- left: 10px;
13877
- }
13878
- .video-watermark.watermark-topright,
13879
- .video-watermark.watermark-bottomright {
13880
- right: 10px;
13881
- }
13882
- /* Bottom spacing adjusted for mobile */
13883
- .video-watermark.watermark-bottomleft,
13884
- .video-watermark.watermark-bottomright {
13885
- bottom: 75px; /* Above controlbar on mobile */
13886
- }
13887
- /* Always visible watermark on mobile - moves down when controls hidden */
13888
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),
13889
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
13890
- bottom: 10px; /* Move to corner on mobile */
13891
- }
13892
- }
13893
- /* Extra small screens */
13894
- @media (max-width: 480px) {
13895
- .video-watermark.watermark-bottomleft,
13896
- .video-watermark.watermark-bottomright {
13897
- bottom: 65px;
13898
- }
13899
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomleft:not(.hide-on-autohide),
13900
- .video-wrapper:not(.has-controls) .video-watermark.watermark-bottomright:not(.hide-on-autohide) {
13901
- bottom: 8px;
13902
- }
13903
- }
13904
- /* Clickable watermark cursor */
13905
- .video-watermark[style*="cursor: pointer"] {
13906
- cursor: pointer !important;
13907
- }