From 399c6e37cec0f981e8b8cfa47d3881b3aa37acd3 Mon Sep 17 00:00:00 2001 From: Su-Yong Date: Tue, 3 Oct 2023 18:03:13 +0900 Subject: [PATCH] fix(video-toggle): fix video config not load config resolve #16 --- plugins/video-toggle/button-switcher.css | 8 +++--- plugins/video-toggle/front.ts | 33 ++++++++++++------------ 2 files changed, 20 insertions(+), 21 deletions(-) diff --git a/plugins/video-toggle/button-switcher.css b/plugins/video-toggle/button-switcher.css index 92c052e2..76d22f85 100644 --- a/plugins/video-toggle/button-switcher.css +++ b/plugins/video-toggle/button-switcher.css @@ -15,12 +15,12 @@ background: rgba(33, 33, 33, 0.4); border-radius: 30px; overflow: hidden; - width: 240px; + width: 20rem; text-align: center; font-size: 18px; letter-spacing: 1px; color: #fff; - padding-right: 120px; + padding-right: 10rem; position: absolute; } @@ -30,7 +30,7 @@ top: 0; bottom: 0; right: 0; - width: 120px; + width: 10rem; display: flex; align-items: center; justify-content: center; @@ -55,7 +55,7 @@ } .video-switch-button-checkbox:checked + .video-switch-button-label:before { - transform: translateX(120px); + transform: translateX(10rem); transition: transform 300ms linear; } diff --git a/plugins/video-toggle/front.ts b/plugins/video-toggle/front.ts index 49a3ecd1..2b09f9e7 100644 --- a/plugins/video-toggle/front.ts +++ b/plugins/video-toggle/front.ts @@ -56,17 +56,11 @@ function setup(e: CustomEvent) { $('#player')?.prepend(switchButtonDiv); - if (options.hideVideo) { - const checkbox = $('.video-switch-button-checkbox'); - if (checkbox) { - checkbox.checked = false; - } - changeDisplay(false); - forcePlaybackMode(); - // Fix black video - if (video) { - video.style.height = 'auto'; - } + setVideoState(!options.hideVideo); + forcePlaybackMode(); + // Fix black video + if (video) { + video.style.height = 'auto'; } //Prevents bubbling to the player which causes it to stop or resume @@ -77,9 +71,8 @@ function setup(e: CustomEvent) { // Button checked = show video switchButtonDiv.addEventListener('change', (e) => { const target = e.target as HTMLInputElement; - options.hideVideo = target.checked; - changeDisplay(target.checked); - setOptions('video-toggle', options); + + setVideoState(target.checked); }); video?.addEventListener('srcChanged', videoStarted); @@ -104,7 +97,13 @@ function setup(e: CustomEvent) { } } -function changeDisplay(showVideo: boolean) { +function setVideoState(showVideo: boolean) { + options.hideVideo = !showVideo; + setOptions('video-toggle', options); + + const checkbox = $('.video-switch-button-checkbox'); // custom mode + if (checkbox) checkbox.checked = !options.hideVideo; + if (player) { player.style.margin = showVideo ? '' : 'auto 0px'; player.setAttribute('playback-mode', showVideo ? 'OMV_PREFERRED' : 'ATV_PREFERRED'); @@ -123,7 +122,7 @@ function changeDisplay(showVideo: boolean) { function videoStarted() { if (api.getPlayerResponse().videoDetails.musicVideoType === 'MUSIC_VIDEO_TYPE_ATV') { // Video doesn't exist -> switch to song mode - changeDisplay(false); + setVideoState(false); // Hide toggle button switchButtonDiv.style.display = 'none'; } else { @@ -137,7 +136,7 @@ function videoStarted() { switchButtonDiv.style.display = 'initial'; // Change display to video mode if video exist & video is hidden & option.hideVideo = false if (!options.hideVideo && $('#song-video.ytmusic-player')?.style.display === 'none') { - changeDisplay(true); + setVideoState(true); } else { moveVolumeHud(!options.hideVideo); }