From 9bb910af94d39e566c88e52869b0df27e01d6561 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Mon, 14 Mar 2022 18:17:58 +0300 Subject: Added almost all Piped settings --- src/pages/options/youtube/invidious.js | 10 +- src/pages/options/youtube/piped.js | 147 +++++++++++++++ src/pages/options/youtube/youtube.html | 333 ++++++++++++++++++++++++++++++++- src/pages/options/youtube/youtube.js | 8 +- 4 files changed, 480 insertions(+), 18 deletions(-) (limited to 'src/pages') diff --git a/src/pages/options/youtube/invidious.js b/src/pages/options/youtube/invidious.js index d8486e7a..b99a3ab3 100644 --- a/src/pages/options/youtube/invidious.js +++ b/src/pages/options/youtube/invidious.js @@ -31,9 +31,9 @@ invidiousContinueElement.addEventListener("change", event => youtubeHelper.setInvidiousContinue(event.target.checked) ); -let invidiousListenElement = document.getElementById("invidious-listen"); -invidiousListenElement.addEventListener("change", - event => youtubeHelper.setInvidiousListen(event.target.checked) +let youtubeListenElement = document.getElementById("invidious-listen"); +youtubeListenElement.addEventListener("change", + event => youtubeHelper.setYoutubeListen(event.target.checked) ); let invidiousSpeedElement = document.getElementById("invidious-speed"); @@ -120,9 +120,9 @@ youtubeHelper.init().then(() => { invidiousVideoLoopElement.value = youtubeHelper.getInvidiousVideoLoop(); invidiousContinueAutoplayElement.value = youtubeHelper.getInvidiousContinueAutoplay(); invidiousContinueElement.value = youtubeHelper.getInvidiousContinue(); - invidiousListenElement.value = youtubeHelper.getInvidiousListen(); + youtubeListenElement.value = youtubeHelper.getYoutubeListen(); invidiousSpeedElement.value = youtubeHelper.getInvidiousSpeed(); - invidiousQualityElement.value = youtubeHelper.getinvidiousQuality(); + invidiousQualityElement.value = youtubeHelper.getInvidiousQuality(); invidiousQualityDashElement.value = youtubeHelper.getInvidiousQualityDash(); invidiousComments0Element.value = youtubeHelper.getInvidiousComments()[0]; invidiousComments1Element.value = youtubeHelper.getInvidiousComments()[1]; diff --git a/src/pages/options/youtube/piped.js b/src/pages/options/youtube/piped.js index c6517966..0425ae79 100644 --- a/src/pages/options/youtube/piped.js +++ b/src/pages/options/youtube/piped.js @@ -1,7 +1,154 @@ import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; +let pipedSponsorblockElement = document.getElementById("piped-sponsorblock"); +pipedSponsorblockElement.addEventListener("change", + event => youtubeHelper.setPipedSponsorblock(event.target.checked) +); + +function selectSkipModify(value, boolean) { + if (boolean) { + if (!selectSkip.includes(value)) selectSkip.push(value); + } + else { + let i = selectSkip.indexOf(value); + if (i > -1) selectSkip.splice(i, 1); + } + youtubeHelper.setPipedSelectedSkip(selectSkip) +} + +let pipedSelectedSkipSponsorElement = document.getElementById("piped-selectedSkip-sponsor"); +pipedSelectedSkipSponsorElement.addEventListener("change", + event => selectSkipModify('sponsor', event.target.checked) +); + +let pipedSelectedSkipIntroElement = document.getElementById("piped-selectedSkip-intro"); +pipedSelectedSkipIntroElement.addEventListener("change", + event => selectSkipModify('intro', event.target.checked) +); + +let pipedSelectedSkipOutroElement = document.getElementById("piped-selectedSkip-outro"); +pipedSelectedSkipOutroElement.addEventListener("change", + event => selectSkipModify('outro', event.target.checked) +); + +let pipedSelectedSkipPreviewElement = document.getElementById("piped-selectedSkip-preview"); +pipedSelectedSkipPreviewElement.addEventListener("change", + event => selectSkipModify('preview', event.target.checked) +); + +let pipedSelectedSkipInteractionElement = document.getElementById("piped-selectedSkip-interaction"); +pipedSelectedSkipInteractionElement.addEventListener("change", + event => selectSkipModify('interaction', event.target.checked) +); + +let pipedSelectedSkipSelfpromoElement = document.getElementById("piped-selectedSkip-selfpromo"); +pipedSelectedSkipSelfpromoElement.addEventListener("change", + event => selectSkipModify('selfpromo', event.target.checked) +); + +let pipedSelectedSkipMusicOfftopicElement = document.getElementById("piped-selectedSkip-music_offtopic"); +pipedSelectedSkipMusicOfftopicElement.addEventListener("change", + event => selectSkipModify('music_offtopic', event.target.checked) +); + +let pipedSelectedSkipPoiHighlightElement = document.getElementById("piped-selectedSkip-poi_highlight"); +pipedSelectedSkipPoiHighlightElement.addEventListener("change", + event => selectSkipModify('poi_highlight', event.target.checked) +); + +let pipedSelectedSkipFillerElement = document.getElementById("piped-selectedSkip-filler"); +pipedSelectedSkipFillerElement.addEventListener("change", + event => selectSkipModify('filler', event.target.checked) +); + +let pipedListenElement = document.getElementById("piped-listen"); +pipedListenElement.addEventListener("change", + event => youtubeHelper.setYoutubeListen(event.target.checked) +); + +let pipedQualityElement = document.getElementById("piped-quality"); +pipedQualityElement.addEventListener("change", + event => youtubeHelper.setPipedQuality(event.target.options[pipedQualityElement.selectedIndex].value) +); + +let pipedBufferGoalElement = document.getElementById("piped-bufferGoal"); +pipedBufferGoalElement.addEventListener("change", + event => youtubeHelper.setPipedBufferGoal(pipedBufferGoalElement.value) +); + +let pipedRegionElement = document.getElementById("piped-region"); +pipedRegionElement.addEventListener("change", + event => youtubeHelper.setPipedRegion(event.target.options[pipedRegionElement.selectedIndex].value) +); + +let pipedHomepageElement = document.getElementById("piped-homepage"); +pipedHomepageElement.addEventListener("change", + event => youtubeHelper.setPipedHomepage(event.target.options[pipedHomepageElement.selectedIndex].value) +); + +let pipedCommentsElement = document.getElementById("piped-comments"); +pipedCommentsElement.addEventListener("change", + event => youtubeHelper.setPipedComments(event.target.checked) +); + +let pipedMinimizeDescriptionElement = document.getElementById("piped-minimizeDescription"); +pipedMinimizeDescriptionElement.addEventListener("change", + event => youtubeHelper.setPipedMinimizeDescription(event.target.checked) +); + +let pipedWatchHistoryElement = document.getElementById("piped-watchHistory"); +pipedWatchHistoryElement.addEventListener("change", + event => youtubeHelper.setPipedWatchHistory(event.target.checked) +); + +let pipedEnabledCodecsElement = document.getElementById("piped-enabledCodecs"); +pipedEnabledCodecsElement.addEventListener("change", + () => { + let result = []; + for (const opt of pipedEnabledCodecsElement.options) + if (opt.selected) result.push(opt.value); + youtubeHelper.setPipedEnabledCodecs(result); + } +); + +let pipedDisableLBRYElement = document.getElementById("piped-disableLBRY"); +pipedDisableLBRYElement.addEventListener("change", + event => youtubeHelper.setPipedDisableLBRY(event.target.checked) +); + +let pipedProxyLBRYElement = document.getElementById("piped-proxyLBRY"); +pipedProxyLBRYElement.addEventListener("change", + event => youtubeHelper.setPipedProxyLBRY(event.target.checked) +); + +let selectSkip = []; youtubeHelper.init().then(() => { + + pipedSponsorblockElement.checked = youtubeHelper.getPipedSponsorblock(); + selectSkip = youtubeHelper.getPipedSelectedSkip(); + pipedSelectedSkipSponsorElement.checked = selectSkip.includes('sponsor'); + pipedSelectedSkipIntroElement.checked = selectSkip.includes('intro'); + pipedSelectedSkipOutroElement.checked = selectSkip.includes('outro'); + pipedSelectedSkipPreviewElement.checked = selectSkip.includes('preview'); + pipedSelectedSkipInteractionElement.checked = selectSkip.includes('interaction'); + pipedSelectedSkipSelfpromoElement.checked = selectSkip.includes('selfpromo'); + pipedSelectedSkipMusicOfftopicElement.checked = selectSkip.includes('music_offtopic'); + pipedSelectedSkipPoiHighlightElement.checked = selectSkip.includes('poi_highlight'); + pipedSelectedSkipFillerElement.checked = selectSkip.includes('filler'); + pipedListenElement.checked = youtubeHelper.getYoutubeListen(); + pipedQualityElement.value = youtubeHelper.getPipedQuality(); + pipedBufferGoalElement.value = youtubeHelper.getPipedBufferGoal(); + pipedRegionElement.value = youtubeHelper.getPipedRegion(); + pipedHomepageElement.value = youtubeHelper.getPipedHomepage(); + pipedCommentsElement.checked = youtubeHelper.getPipedComments(); + pipedMinimizeDescriptionElement.checked = youtubeHelper.getPipedMinimizeDescription(); + pipedWatchHistoryElement.checked = youtubeHelper.getPipedWatchHistory(); + pipedEnabledCodecsElement.value = youtubeHelper.getPipedEnabledCodecs(); + pipedDisableLBRYElement.checked = youtubeHelper.getPipedDisableLBRY(); + pipedProxyLBRYElement.checked = youtubeHelper.getPipedProxyLBRY(); + + commonHelper.processDefaultCustomInstances( 'piped', 'normal', diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html index ce4ebf50..61350fc0 100644 --- a/src/pages/options/youtube/youtube.html +++ b/src/pages/options/youtube/youtube.html @@ -154,8 +154,6 @@ -
-

Enable Custom Settings (will use cookies and localStorage)

@@ -163,6 +161,8 @@
+
+

Autoplay Video

@@ -177,9 +177,9 @@
+
-

Player Style

@@ -704,7 +704,7 @@
- +

Default Instances

@@ -757,8 +757,328 @@
-
+
+ +
+

Enable Sponsorblock

+ +
+ +
+

Skip Sponsors

+ +
+ +
+

Skip Intermission/Intro Animation

+ +
+ +
+

Skip Endcards/Credits

+ +
+ +
+

Skip Preview/Recap

+ +
+ +
+

Skip Interaction Reminder (Subscribe)

+ +
+ +
+

Skip Unpaid/Self Promotion

+ +
+ +
+

Skip Music: Non-Music Section

+ +
+ +
+

Skip Highlight

+ +
+ +
+

Skip Filler Tangent

+ +
+ +
+

Audio Only

+ +
+ +
+

Default Quality

+ +
+ +
+

Buffering Goal (in seconds)

+ +
+ +
+

Country Selection

+ +
+ +
+

Default Homepage

+ +
+ +
+

Show Comments

+ +
+ +
+

Minimize Description by default

+ +
+ +
+

Store Watch History

+ +
+ +
+

Enabled Codecs (Multiple)

+ +
+ +
+

Disable LBRY for Streaming

+ +
+ +
+

Enable Proxy for LBRY

+ +
+ +
+

Default Instances

@@ -808,6 +1128,7 @@
+
@@ -862,8 +1183,6 @@
-
-

Embed Exceptions

diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js index 97bfd44a..e3b8c5e7 100644 --- a/src/pages/options/youtube/youtube.js +++ b/src/pages/options/youtube/youtube.js @@ -1,7 +1,5 @@ import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js"; - - let youtubeFrontendElement = document.getElementById("youtube-frontend"); let invidiousDivElement = document.getElementById("invidious"); let pipedDivElement = document.getElementById("piped"); @@ -17,10 +15,8 @@ function changeFrontendsSettings() { console.log("customSettingsDivElement", customSettingsDivElement[0].style.display); if (enableYoutubeCustomSettingsElement.checked) for (const item of customSettingsDivElement) item.style.display = 'block'; - else { - console.log("setting it to none"); + else for (const item of customSettingsDivElement) item.style.display = 'none'; - } if (frontend == 'invidious') { invidiousPipedPipedMaterialDivElement.style.display = 'block' @@ -70,6 +66,7 @@ function changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontend) { invidiousDivElement.style.display = 'none'; } } + youtubeFrontendElement.addEventListener("change", event => { let frontend = event.target.options[youtubeFrontendElement.selectedIndex].value @@ -100,7 +97,6 @@ enableYoutubeCustomSettingsElement.addEventListener("change", } ); - let volumeElement = document.getElementById("invidious-volume"); let volumeValueElement = document.getElementById("volume-value"); volumeElement.addEventListener("input", -- cgit 1.4.1