From ab44fd04ffa1055bd17a3da02017e8de3da88af2 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 15 May 2022 18:44:28 +0300 Subject: Complete on supporting Unify #234 --- src/pages/options/youtube/invidious.js | 177 ----- src/pages/options/youtube/piped.js | 152 ---- src/pages/options/youtube/pipedMaterial.js | 125 ---- src/pages/options/youtube/youtube.html | 1092 +--------------------------- src/pages/options/youtube/youtube.js | 233 +++--- src/pages/options/youtube/youtube.pug | 647 ---------------- 6 files changed, 168 insertions(+), 2258 deletions(-) delete mode 100644 src/pages/options/youtube/invidious.js delete mode 100644 src/pages/options/youtube/piped.js delete mode 100644 src/pages/options/youtube/pipedMaterial.js (limited to 'src/pages/options/youtube') diff --git a/src/pages/options/youtube/invidious.js b/src/pages/options/youtube/invidious.js deleted file mode 100644 index fb1ddff7..00000000 --- a/src/pages/options/youtube/invidious.js +++ /dev/null @@ -1,177 +0,0 @@ -import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; - -let invidious = document.getElementById('invidious'); -let alwaysProxy = invidious.getElementsByClassName("local")[0]; -let playerStyle = invidious.getElementsByClassName("player_style")[0]; -let quality = invidious.getElementsByClassName("quality")[0]; -let videoLoop = invidious.getElementsByClassName("video_loop")[0]; -let continueAutoplay = invidious.getElementsByClassName("continue_autoplay")[0]; -let invidiousContinue = invidious.getElementsByClassName("continue")[0]; -let youtubeListen = invidious.getElementsByClassName("listen")[0]; -let speed = invidious.getElementsByClassName("speed")[0]; -let qualityDash = invidious.getElementsByClassName("quality_dash")[0]; -let relatedVideo = invidious.getElementsByClassName("related_videos")[0]; -let annotations = invidious.getElementsByClassName("annotations")[0]; -let extendDesc = invidious.getElementsByClassName("extend_desc")[0]; -let vrMode = invidious.getElementsByClassName("vr_mode")[0]; -let savePlayerPos = invidious.getElementsByClassName("save_player_pos")[0]; -let comments0 = invidious.getElementsByClassName("comments[0]")[0]; -let comments1 = invidious.getElementsByClassName("comments[1]")[0]; -let captions0 = invidious.getElementsByClassName("captions[0]")[0]; -let captions1 = invidious.getElementsByClassName("captions[1]")[0]; -let captions2 = invidious.getElementsByClassName("captions[2]")[0]; -let autoplay = invidious.getElementsByClassName("youtubeAutoplay")[0]; -let volume = invidious.getElementsByClassName("volume")[0]; -let volumeValue = invidious.getElementsByClassName("volume-value")[0]; -let region = invidious.getElementsByClassName("region")[0]; -let darkMode = invidious.getElementsByClassName("dark_mode")[0]; -let thin_mode = invidious.getElementsByClassName("thin_mode")[0]; -let default_home = invidious.getElementsByClassName("default_home")[0]; -let feed_menu0 = invidious.getElementsByClassName("feed_menu[0]")[0]; -let feed_menu1 = invidious.getElementsByClassName("feed_menu[1]")[0]; - -volume.addEventListener("input", () => volumeValue.textContent = `${volume.value}%`); - -invidious.addEventListener("change", async _ => { - browser.storage.local.get( - [ - "invidiousComments", - "invidiousCaptions", - "invidiousFeedMenuList", - ], - async r => { - let commentsList = r.invidiousComments; - commentsList[0] = comments0.value; - commentsList[1] = comments1.value; - - let captionsList = r.invidiousCaptions; - captionsList[0] = captions0.value; - captionsList[1] = captions1.value; - captionsList[2] = captions2.value; - - let feedMenuList = r.invidiousFeedMenuList; - feedMenuList[0] = feed_menu0.value; - feedMenuList[1] = feed_menu1.value; - - await browser.storage.local.set({ - invidiousAlwaysProxy: alwaysProxy.checked, - youtubeAutoplay: autoplay.checked, - invidiousPlayerStyle: playerStyle.value, - invidiousQuality: quality.value, - invidiousVideoLoop: videoLoop.checked, - invidiousContinueAutoplay: continueAutoplay.checked, - invidiousContinue: invidiousContinue.checked, - youtubeListen: youtubeListen.checked, - invidiousSpeed: speed.value, - invidiousQualityDash: qualityDash.value, - youtubeVolume: volume.value, - invidiousComments: commentsList, - invidiousCaptions: captionsList, - invidiousRelatedVideos: relatedVideo.checked, - invidiousAnnotations: annotations.checked, - invidiousExtendDesc: extendDesc.checked, - invidiousVrMode: vrMode.checked, - invidiousSavePlayerPos: savePlayerPos.checked, - - invidiousRegion: region.value, - invidiousDarkMode: darkMode.value, - invidiousThinMode: thin_mode.checked, - invidiousDefaultHome: default_home.value, - invidiousFeedMenuList: feedMenuList, - }); - } - ) -}); - -browser.storage.local.get( - [ - "youtubeListen", - "youtubeVolume", - "youtubeAutoplay", - "invidiousQuality", - "invidiousAlwaysProxy", - "invidiousQuality", - "invidiousPlayerStyle", - "invidiousVideoLoop", - "invidiousContinueAutoplay", - "invidiousContinue", - "invidiousSpeed", - "invidiousQualityDash", - "invidiousComments", - "invidiousCaptions", - "invidiousRelatedVideos", - "invidiousAnnotations", - "invidiousExtendDesc", - "invidiousVrMode", - "invidiousSavePlayerPos", - "invidiousRegion", - "invidiousDarkMode", - "invidiousThinMode", - "invidiousDefaultHome", - "invidiousFeedMenuList", - ], - r => { - videoLoop.checked = r.invidiousVideoLoop; - autoplay.checked = r.youtubeAutoplay; - playerStyle.value = r.invidiousPlayerStyle; - - continueAutoplay.checked = r.invidiousContinueAutoplay; - invidiousContinue.checked = r.invidiousContinue; - alwaysProxy.checked = r.invidiousAlwaysProxy; - youtubeListen.checked = r.youtubeListen; - - speed.value = r.invidiousSpeed; - quality.value = r.invidiousQuality; - qualityDash.value = r.invidiousQualityDash; - - volume.value = r.youtubeVolume; - volumeValue.textContent = `${r.youtubeVolume}%`; - - comments0.value = r.invidiousComments[0]; - comments1.value = r.invidiousComments[1]; - - captions0.value = r.invidiousCaptions[0]; - captions1.value = r.invidiousCaptions[1]; - captions2.value = r.invidiousCaptions[2]; - - relatedVideo.checked = r.invidiousRelatedVideos; - annotations.checked = r.invidiousAnnotations; - extendDesc.checked = r.invidiousExtendDesc; - vrMode.checked = r.invidiousVrMode; - savePlayerPos.checked = r.invidiousSavePlayerPos; - - region.value = r.invidiousRegion; - darkMode.value = r.invidiousDarkMode; - thin_mode.checked = r.invidiousThinMode; - default_home.value = r.invidiousDefaultHome; - - feed_menu0.value = r.invidiousFeedMenuList[0]; - feed_menu1.value = r.invidiousFeedMenuList[1]; - - - } -) - -commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'normal', document); -commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'tor', document); - - -let latencyInvidiousElement = document.getElementById("latency-invidious"); -let latencyInvidiousLabel = document.getElementById("latency-invidious-label"); -latencyInvidiousElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyInvidiousElement.addEventListener("click", reloadWindow); - await youtubeHelper.init(); - let redirects = youtubeHelper.getRedirects(); - const oldHtml = latencyInvidiousLabel.innerHTML; - latencyInvidiousLabel.innerHTML = '...'; - commonHelper.testLatency(latencyInvidiousLabel, redirects.invidious.normal).then(r => { - browser.storage.local.set({ invidiousLatency: r }); - latencyInvidiousLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'normal', document); - latencyInvidiousElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file diff --git a/src/pages/options/youtube/piped.js b/src/pages/options/youtube/piped.js deleted file mode 100644 index d8ebe2a4..00000000 --- a/src/pages/options/youtube/piped.js +++ /dev/null @@ -1,152 +0,0 @@ -import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; - -let piped = document.getElementById('piped'); - -let pipedListen = piped.getElementsByClassName("listen")[0]; -let pipedQuality = piped.getElementsByClassName("quality")[0]; -let pipedBufferGoal = piped.getElementsByClassName("bufferGoal")[0]; -let pipedRegion = piped.getElementsByClassName("region")[0]; -let pipedHomepage = piped.getElementsByClassName("homepage")[0]; -let pipedComments = piped.getElementsByClassName("comments")[0]; -let pipedMinimizeDescription = piped.getElementsByClassName("minimizeDescription")[0]; -let pipedWatchHistory = piped.getElementsByClassName("watchHistory")[0]; -let pipedDisableLBRY = piped.getElementsByClassName("disableLBRY")[0]; -let pipedProxyLBRY = piped.getElementsByClassName("proxyLBRY")[0]; - -let pipedSelectedSkipSponsor = piped.getElementsByClassName("selectedSkip-sponsor")[0]; -let pipedSelectedSkipIntro = piped.getElementsByClassName("selectedSkip-intro")[0]; -let pipedSelectedSkipOutro = piped.getElementsByClassName("selectedSkip-outro")[0]; -let pipedSelectedSkipPreview = piped.getElementsByClassName("selectedSkip-preview")[0]; -let pipedSelectedSkipInteraction = piped.getElementsByClassName("selectedSkip-interaction")[0]; -let pipedSelectedSkipSelfpromo = piped.getElementsByClassName("selectedSkip-selfpromo")[0]; -let pipedSelectedSkipMusicOfftopic = piped.getElementsByClassName("selectedSkip-music_offtopic")[0]; -let pipedSelectedSkipPoiHighlight = piped.getElementsByClassName("selectedSkip-poi_highlight")[0]; -let pipedSelectedSkipFiller = piped.getElementsByClassName("selectedSkip-filler")[0]; - -let pipedDdlTheme = piped.getElementsByClassName("ddlTheme")[0]; -let pipedSponsorblock = piped.getElementsByClassName("sponsorblock")[0]; -let pipedEnabledCodecs = piped.getElementsByClassName("enabledCodecs")[0]; -let autoplay = piped.getElementsByClassName("youtubeAutoplay")[0]; - -let volume = piped.getElementsByClassName("volume")[0]; -let volumeValue = piped.getElementsByClassName("volume-value")[0]; - -volume.addEventListener("input", () => volumeValue.textContent = `${volume.value}%`); -function selectSkipModify(value, boolean) { - if (boolean && !selectSkip.includes(value)) { - selectSkip.push(value); - } - else if (!boolean) { - let i = selectSkip.indexOf(value); - if (i > -1) selectSkip.splice(i, 1); - } -} -let selectSkip = []; -piped.addEventListener("change", async () => { - let pipedEnabledCodecsResult = []; - for (const opt of pipedEnabledCodecs.options) - if (opt.selected) pipedEnabledCodecsResult.push(opt.value); - - selectSkipModify('sponsor', pipedSelectedSkipSponsor.checked); - selectSkipModify('intro', pipedSelectedSkipIntro.checked); - selectSkipModify('outro', pipedSelectedSkipOutro.checked); - selectSkipModify('preview', pipedSelectedSkipPreview.checked); - selectSkipModify('interaction', pipedSelectedSkipInteraction.checked); - selectSkipModify('selfpromo', pipedSelectedSkipSelfpromo.checked); - selectSkipModify('music_offtopic', pipedSelectedSkipMusicOfftopic.checked); - selectSkipModify('poi_highlight', pipedSelectedSkipPoiHighlight.checked); - selectSkipModify('filler', pipedSelectedSkipFiller.checked); - - await browser.storage.local.set({ - pipedQuality: pipedQuality.value, - pipedBufferGoal: pipedBufferGoal.value, - pipedRegion: pipedRegion.value, - pipedHomepage: pipedHomepage.value, - pipedComments: pipedComments.checked, - pipedMinimizeDescription: pipedMinimizeDescription.checked, - youtubeAutoplay: autoplay.checked, - pipedWatchHistory: pipedWatchHistory.checked, - pipedDisableLBRY: pipedDisableLBRY.checked, - pipedProxyLBRY: pipedProxyLBRY.checked, - youtubeVolume: volume.value, - pipedSponsorblock: pipedSponsorblock.checked, - pipedDdlTheme: pipedDdlTheme.value, - pipedEnabledCodecs: pipedEnabledCodecsResult, - youtubeListen: pipedListen.checked, - pipedSelectedSkip: selectSkip, - }); -}); - -await browser.storage.local.get( - [ - "youtubeVolume", - "youtubeAutoplay", - "youtubeListen", - - "pipedBufferGoal", - "pipedComments", - "pipedDisableLBRY", - "pipedEnabledCodecs", - "pipedHomepage", - "pipedMinimizeDescription", - "pipedProxyLBRY", - "pipedQuality", - "pipedRegion", - "pipedSelectedSkip", - "pipedSponsorblock", - "pipedDdlTheme", - "pipedWatchHistory", - ], - r => { - pipedSponsorblock.checked = r.pipedSponsorblock; - pipedDdlTheme.value = r.pipedDdlTheme; - selectSkip = r.pipedSelectedSkip; - pipedSelectedSkipSponsor.checked = selectSkip.includes('sponsor'); - pipedSelectedSkipIntro.checked = selectSkip.includes('intro'); - pipedSelectedSkipOutro.checked = selectSkip.includes('outro'); - pipedSelectedSkipPreview.checked = selectSkip.includes('preview'); - autoplay.checked = r.youtubeAutoplay; - pipedSelectedSkipInteraction.checked = selectSkip.includes('interaction'); - pipedSelectedSkipSelfpromo.checked = selectSkip.includes('selfpromo'); - pipedSelectedSkipMusicOfftopic.checked = selectSkip.includes('music_offtopic'); - pipedSelectedSkipPoiHighlight.checked = selectSkip.includes('poi_highlight'); - pipedSelectedSkipFiller.checked = selectSkip.includes('filler'); - pipedListen.checked = r.youtubeListen; - pipedQuality.value = r.pipedQuality; - pipedBufferGoal.value = r.pipedBufferGoal; - pipedRegion.value = r.pipedRegion; - pipedHomepage.value = r.pipedHomepage; - pipedComments.checked = r.pipedComments; - pipedMinimizeDescription.checked = r.pipedMinimizeDescription; - pipedWatchHistory.checked = r.pipedWatchHistory; - pipedEnabledCodecs.value = r.pipedEnabledCodecs; - pipedDisableLBRY.checked = r.pipedDisableLBRY; - pipedProxyLBRY.checked = r.pipedProxyLBRY; - - volume.value = r.youtubeVolume; - volumeValue.textContent = `${r.youtubeVolume}%`; - } -); - -commonHelper.processDefaultCustomInstances('youtube', 'piped', 'normal', document); -commonHelper.processDefaultCustomInstances('youtube', 'piped', 'tor', document); - -let latencyPipedElement = document.getElementById("latency-piped"); -let latencyPipedLabel = document.getElementById("latency-piped-label"); -latencyPipedElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyPipedElement.addEventListener("click", reloadWindow); - await youtubeHelper.init(); - let redirects = youtubeHelper.getRedirects(); - const oldHtml = latencyPipedLabel.innerHTML; - latencyPipedLabel.innerHTML = '...'; - commonHelper.testLatency(latencyPipedLabel, redirects.piped.normal).then(r => { - browser.storage.local.set({ pipedLatency: r }); - latencyPipedLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('youtube', 'piped', 'normal', document); - latencyPipedElement.removeEventListener("click", reloadWindow); - }); - } -); diff --git a/src/pages/options/youtube/pipedMaterial.js b/src/pages/options/youtube/pipedMaterial.js deleted file mode 100644 index 3dc0e677..00000000 --- a/src/pages/options/youtube/pipedMaterial.js +++ /dev/null @@ -1,125 +0,0 @@ -import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js"; -import commonHelper from "../../../assets/javascripts/helpers/common.js"; - -let pipedMaterialElement = document.getElementById('pipedMaterial'); -let listenElement = pipedMaterialElement.getElementsByClassName("listen")[0]; -let disableLBRYElement = pipedMaterialElement.getElementsByClassName("disableLBRY")[0]; -let proxyLBRYElement = pipedMaterialElement.getElementsByClassName("proxyLBRY")[0]; -let sponsorblockElement = pipedMaterialElement.getElementsByClassName("sponsorblock")[0]; -let skipToLastPointElement = pipedMaterialElement.getElementsByClassName("skipToLastPoint")[0]; - -let selectedSkipSponsorElement = pipedMaterialElement.getElementsByClassName("selectedSkip-sponsor")[0]; -let selectedSkipIntroElement = pipedMaterialElement.getElementsByClassName("selectedSkip-intro")[0]; -let selectedSkipOutroElement = pipedMaterialElement.getElementsByClassName("selectedSkip-outro")[0]; -let selectedSkipPreviewElement = pipedMaterialElement.getElementsByClassName("selectedSkip-preview")[0]; -let selectedSkipInteractionElement = pipedMaterialElement.getElementsByClassName("selectedSkip-interaction")[0]; -let selectedSkipSelfpromoElement = pipedMaterialElement.getElementsByClassName("selectedSkip-selfpromo")[0]; -let selectedSkipMusicOfftopicElement = pipedMaterialElement.getElementsByClassName("selectedSkip-music_offtopic")[0]; - -let autoplayElement = pipedMaterialElement.getElementsByClassName("youtubeAutoplay")[0]; - -let volumeElement = pipedMaterialElement.getElementsByClassName("volume")[0]; -let volumeValueElement = pipedMaterialElement.getElementsByClassName("volume-value")[0]; - -volumeElement.addEventListener("input", () => volumeValueElement.textContent = `${volumeElement.value}%`); - -let selectSkip = []; -function selectSkipModify(value, boolean) { - if (boolean && !selectSkip.includes(value)) { - selectSkip.push(value); - } - else if (!boolean) { - let i = selectSkip.indexOf(value); - if (i > -1) selectSkip.splice(i, 1); - } -} -pipedMaterialElement.addEventListener("change", async () => { - console.log("changed piped settings"); - - selectSkipModify('sponsors', selectedSkipSponsorElement.checked); - selectSkipModify('intro', selectedSkipIntroElement.checked); - selectSkipModify('outro', selectedSkipOutroElement.checked); - selectSkipModify('preview', selectedSkipPreviewElement.checked); - selectSkipModify('interaction', selectedSkipInteractionElement.checked); - selectSkipModify('selfpromo', selectedSkipSelfpromoElement.checked); - selectSkipModify('music_offtopic', selectedSkipMusicOfftopicElement.checked); - - await browser.storage.local.set({ - youtubeListen: listenElement.checked, - pipedDisableLBRY: disableLBRYElement.checked, - pipedProxyLBRY: proxyLBRYElement.checked, - pipedSponsorblock: sponsorblockElement.checked, - pipedSkipToLastPoint: skipToLastPointElement.checked, - pipedSelectedSkipSponsor: selectedSkipSponsorElement.checked, - pipedSelectedSkipIntro: selectedSkipIntroElement.checked, - pipedSelectedSkipOutro: selectedSkipOutroElement.checked, - youtubeAutoplay: autoplayElement.checked, - youtubeVolume: volumeElement.value, - pipedSelectedSkipPreview: selectedSkipPreviewElement.checked, - pipedSelectedSkipInteraction: selectedSkipInteractionElement.checked, - pipedSelectedSkipSelfpromo: selectedSkipSelfpromoElement.checked, - pipedSelectedSkipMusicOfftopic: selectedSkipMusicOfftopicElement.checked, - - pipedSponsorblock: sponsorblockElement.checked, - pipedMaterialSkipToLastPoint: skipToLastPointElement.checked, - pipedSelectedSkip: selectSkip, - }); - init(); -}); - -browser.storage.local.get( - [ - "youtubeAutoplay", - "youtubeVolume", - "youtubeListen", - - "pipedDisableLBRY", - "pipedProxyLBRY", - "pipedSelectedSkip", - "pipedSponsorblock", - - "pipedMaterialSkipToLastPoint", - ], - r => { - autoplayElement.checked = r.youtubeAutoplay; - - listenElement.checked = r.youtubeListen; - disableLBRYElement.checked = r.pipedDisableLBRY; - proxyLBRYElement.checked = r.pipedProxyLBRY; - sponsorblockElement.checked = r.pipedSponsorblock; - skipToLastPointElement.checked = r.pipedMaterialSkipToLastPoint; - - selectSkip = r.pipedSelectedSkip; - selectedSkipSponsorElement.checked = selectSkip.includes('sponsors'); - selectedSkipIntroElement.checked = selectSkip.includes('intro'); - selectedSkipOutroElement.checked = selectSkip.includes('outro'); - selectedSkipPreviewElement.checked = selectSkip.includes('preview'); - selectedSkipInteractionElement.checked = selectSkip.includes('interaction'); - selectedSkipSelfpromoElement.checked = selectSkip.includes('selfpromo'); - selectedSkipMusicOfftopicElement.checked = selectSkip.includes('music_offtopic'); - - volumeElement.value = r.youtubeVolume; - volumeValueElement.textContent = `${r.youtubeVolume}%`; - }); - -commonHelper.processDefaultCustomInstances('youtube' ,'pipedMaterial', 'normal', document); -commonHelper.processDefaultCustomInstances('youtube' ,'pipedMaterial', 'tor', document); - -let latencyPipedMaterialElement = document.getElementById("latency-pipedMaterial"); -let latencyPipedMaterialLabel = document.getElementById("latency-pipedMaterial-label"); -latencyPipedMaterialElement.addEventListener("click", - async () => { - let reloadWindow = () => location.reload(); - latencyPipedMaterialElement.addEventListener("click", reloadWindow); - await youtubeHelper.init(); - let redirects = youtubeHelper.getRedirects(); - const oldHtml = latencyPipedMaterialLabel.innerHTML; - latencyPipedMaterialLabel.innerHTML = '...'; - commonHelper.testLatency(latencyPipedMaterialLabel, redirects.pipedMaterial.normal).then(r => { - browser.storage.local.set({ pipedMaterialLatency: r }); - latencyPipedMaterialLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances('youtube' ,'pipedMaterial', 'normal', document); - latencyPipedMaterialElement.removeEventListener("click", reloadWindow); - }); - } -); \ No newline at end of file diff --git a/src/pages/options/youtube/youtube.html b/src/pages/options/youtube/youtube.html index 04d6df46..6dfb9f7f 100644 --- a/src/pages/options/youtube/youtube.html +++ b/src/pages/options/youtube/youtube.html @@ -12,9 +12,9 @@
@@ -69,7 +69,6 @@ -

Embedded Videos Frontend

@@ -80,7 +79,6 @@
-
@@ -98,680 +96,8 @@
-
-

Bypass "Watch On YouTube"

- -
-
-

Enable Custom Settings (will use cookies and localStorage)

- -
-
-
-
-

Always loop

- -
-
-

Autoplay Video

- -
-
-

Play next by default

- -
-
-

Autoplay next video

- -
-
-

Always proxy videos

- -
-
-

Listen by default

- -
-
-

Default speed

- -
-
-

Preferred video quality

- -
-
-

Preferred DASH video quality

- -
-
-

- Volume:--% -

- -
-
-

Default comments

- -
-
-

- -
-
-

Default captions

- -
-
-

- -
-
-

- -
-
-

Show related videos

- -
-
-

Show annotations by default

- -
-
-

Automatically extend video description

- -
-
-

Interactive 360 degree videos (requires WebGL)

- -
-
-

Save playback position

- -
-
-

Select country

- -
-
-

Player Style

- -
-
-

Theme

- -
-
-

Thin mode

- -
-
-

Default homepage

- -
-
-

Feed menu

-   - -
-

@@ -825,323 +151,6 @@

-
-
-
-

- Volume:--% -

- -
-
-

Enable Sponsorblock

- -
-
-

Skip Sponsors

- -
-
-

Skip Intermission/Intro Animation

- -
-
-

Skip Endcards/Credits

- -
-
-

Skip Preview/Recap

- -
-
-

Skip Interaction Reminder (Subscribe)

- -
-
-

Skip Unpaid/Self Promotion(Subscribe)

- -
-
-

Skip Music: Non-Music Section(Subscribe)

- -
-
-

Skip Highlight(Subscribe)

- -
-
-

Skip Filler Tangent

- -
-
-

Theme

- -
-
-

Autoplay Video

- -
-
-

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

@@ -1194,67 +203,6 @@

-
-
-

Autoplay Video

- -
-
-

- Volume:--% -

- -
-
-

Audio Only

- -
-
-

Disable LBRY

- -
-
-

Proxy LBRY videos

- -
-
-

Enable Sponsorblock

- -
-
-

Skip to the last watched point when encountering a video already seen

- -
-
-

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

- -
-
-

Default Instances

diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js index 71ae4777..07d9ba1d 100644 --- a/src/pages/options/youtube/youtube.js +++ b/src/pages/options/youtube/youtube.js @@ -1,79 +1,80 @@ import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js"; - -let disableYoutubeElement = document.getElementById("disable-invidious"); -let youtubeFrontendElement = document.getElementById("youtube-frontend"); -let invidiousDivElement = document.getElementById("invidious"); -let pipedDivElement = document.getElementById("piped"); -let pipedMaterialDivElement = document.getElementById("pipedMaterial"); -let freetubeYatteeDivElement = document.getElementById("freetube-yatte"); -let customSettingsDivElement = document.getElementsByClassName("custom-settings"); -let youtubeEmbedFrontendElement = document.getElementById("youtube-embed-frontend"); -let enableYoutubeCustomSettingsElement = document.getElementById("enable-youtube-custom-settings"); -let OnlyEmbeddedVideoElement = document.getElementById("only-embed"); -let bypassWatchOnYoutubeElement = document.getElementById("bypass-watch-on-youtube"); -let protocolElement = document.getElementById("protocol"); +import commonHelper from "../../../assets/javascripts/helpers/common.js"; + +let disableYoutube = document.getElementById("disable-invidious"); +let youtubeFrontend = document.getElementById("youtube-frontend"); +let invidiousDiv = document.getElementById("invidious"); +let pipedDiv = document.getElementById("piped"); +let pipedMaterialDiv = document.getElementById("pipedMaterial"); +let freetubeYatteeDiv = document.getElementById("freetube-yatte"); +let youtubeEmbedFrontend = document.getElementById("youtube-embed-frontend"); +let OnlyEmbeddedVideo = document.getElementById("only-embed"); +let protoco = document.getElementById("protocol"); function changeFrontendsSettings() { - let frontend = youtubeFrontendElement.value; - - if (enableYoutubeCustomSettingsElement.checked) - for (const item of customSettingsDivElement) item.style.display = 'block'; - else - for (const item of customSettingsDivElement) item.style.display = 'none'; + let frontend = youtubeFrontend.value; if (frontend == 'invidious') { - invidiousDivElement.style.display = 'block'; - pipedDivElement.style.display = 'none'; - pipedMaterialDivElement.style.display = 'none'; - freetubeYatteeDivElement.style.display = 'none'; + invidiousDiv.style.display = 'block'; + pipedDiv.style.display = 'none'; + pipedMaterialDiv.style.display = 'none'; + freetubeYatteeDiv.style.display = 'none'; } else if (frontend == 'piped') { - invidiousDivElement.style.display = 'none'; - pipedDivElement.style.display = 'block'; - pipedMaterialDivElement.style.display = 'none'; - freetubeYatteeDivElement.style.display = 'none'; + invidiousDiv.style.display = 'none'; + pipedDiv.style.display = 'block'; + pipedMaterialDiv.style.display = 'none'; + freetubeYatteeDiv.style.display = 'none'; } else if (frontend == 'pipedMaterial') { - invidiousDivElement.style.display = 'none'; - pipedDivElement.style.display = 'none'; - pipedMaterialDivElement.style.display = 'block'; - freetubeYatteeDivElement.style.display = 'none'; + invidiousDiv.style.display = 'none'; + pipedDiv.style.display = 'none'; + pipedMaterialDiv.style.display = 'block'; + freetubeYatteeDiv.style.display = 'none'; } else if (frontend == 'freetube' || frontend == 'yatte') { - invidiousDivElement.style.display = 'none'; - pipedDivElement.style.display = 'none'; - pipedMaterialDivElement.style.display = 'none'; - freetubeYatteeDivElement.style.display = 'block'; - changeYoutubeEmbedFrontendsSettings(youtubeHelper.getYoutubeEmbedFrontend()); + invidiousDiv.style.display = 'none'; + pipedDiv.style.display = 'none'; + pipedMaterialDiv.style.display = 'none'; + freetubeYatteeDiv.style.display = 'block'; + changeYoutubeEmbedFrontendsSettings(); } } -function changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontend) { - if (youtubeEmbedFrontend == 'invidious') { - pipedDivElement.style.display = 'none'; - invidiousDivElement.style.display = 'block'; +function changeYoutubeEmbedFrontendsSettings() { + if (youtubeEmbedFrontend.value == 'invidious') { + pipedDiv.style.display = 'none'; + pipedMaterialDiv.style.display = 'none'; + invidiousDiv.style.display = 'block'; + } + if (youtubeEmbedFrontend.value == 'piped') { + pipedDiv.style.display = 'block'; + pipedMaterialDiv.style.display = 'none'; + invidiousDiv.style.display = 'none'; } - if (youtubeEmbedFrontend == 'piped') { - pipedDivElement.style.display = 'block'; - invidiousDivElement.style.display = 'none'; + if (youtubeEmbedFrontend.value == 'pipedMaterial') { + pipedDiv.style.display = 'none'; + pipedMaterialDiv.style.display = 'block'; + invidiousDiv.style.display = 'none'; } - else if (youtubeEmbedFrontend == 'youtube') { - pipedDivElement.style.display = 'none'; - invidiousDivElement.style.display = 'none'; + else if (youtubeEmbedFrontend.value == 'youtube') { + pipedDiv.style.display = 'none'; + pipedMaterialDiv.style.display = 'none'; + invidiousDiv.style.display = 'none'; } } -function changeProtocolSettings(protocol) { - let normalPipedDiv = document.getElementById('piped').getElementsByClassName("normal")[0]; - let torPipedDiv = document.getElementById('piped').getElementsByClassName("tor")[0]; +function changeProtocolSettings() { + const normalPipedDiv = document.getElementById('piped').getElementsByClassName("normal")[0]; + const torPipedDiv = document.getElementById('piped').getElementsByClassName("tor")[0]; - let normalPipedMaterialDiv = document.getElementById('pipedMaterial').getElementsByClassName("normal")[0]; - let torPipedMaterialDiv = document.getElementById('pipedMaterial').getElementsByClassName("tor")[0]; + const normalPipedMaterialDiv = document.getElementById('pipedMaterial').getElementsByClassName("normal")[0]; + const torPipedMaterialDiv = document.getElementById('pipedMaterial').getElementsByClassName("tor")[0]; - let normalInvidiousDiv = document.getElementById('invidious').getElementsByClassName("normal")[0]; - let torInvidiousDiv = document.getElementById('invidious').getElementsByClassName("tor")[0]; + const normalInvidiousDiv = document.getElementById('invidious').getElementsByClassName("normal")[0]; + const torInvidiousDiv = document.getElementById('invidious').getElementsByClassName("tor")[0]; - if (protocol == 'normal') { + if (protoco.value == 'normal') { normalInvidiousDiv.style.display = 'block'; torInvidiousDiv.style.display = 'none'; @@ -83,7 +84,7 @@ function changeProtocolSettings(protocol) { normalPipedMaterialDiv.style.display = 'block'; torPipedMaterialDiv.style.display = 'none'; } - else if (protocol == 'tor') { + else if (protoco.value == 'tor') { normalInvidiousDiv.style.display = 'none'; torInvidiousDiv.style.display = 'block'; @@ -97,56 +98,118 @@ function changeProtocolSettings(protocol) { document.addEventListener("change", async () => { await browser.storage.local.set({ - disableYoutube: !disableYoutubeElement.checked, - youtubeFrontend: youtubeFrontendElement.value, - youtubeEmbedFrontend: youtubeEmbedFrontendElement.value, - enableYoutubeCustomSettings: enableYoutubeCustomSettingsElement.checked, - OnlyEmbeddedVideo: OnlyEmbeddedVideoElement.value, - bypassWatchOnYoutube: bypassWatchOnYoutubeElement.checked, - youtubeProtocol: protocolElement.value, + disableYoutube: !disableYoutube.checked, + youtubeFrontend: youtubeFrontend.value, + youtubeEmbedFrontend: youtubeEmbedFrontend.value, + OnlyEmbeddedVideo: OnlyEmbeddedVideo.value, + youtubeProtocol: protoco.value, }) - changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontendElement.value); - changeProtocolSettings(protocolElement.value); + changeProtocolSettings(); + changeYoutubeEmbedFrontendsSettings(); changeFrontendsSettings(); }) browser.storage.local.get( [ "disableYoutube", - "enableYoutubeCustomSettings", "OnlyEmbeddedVideo", "youtubeRedirects", "youtubeFrontend", - "alwaysUsePreferred", "youtubeEmbedFrontend", "youtubeProtocol", - "bypassWatchOnYoutube", ], r => { - disableYoutubeElement.checked = !r.disableYoutube; - enableYoutubeCustomSettingsElement.checked = r.enableYoutubeCustomSettings; + disableYoutube.checked = !r.disableYoutube; + OnlyEmbeddedVideo.value = r.OnlyEmbeddedVideo; + youtubeFrontend.value = r.youtubeFrontend; + protoco.value = r.youtubeProtocol; - OnlyEmbeddedVideoElement.value = r.OnlyEmbeddedVideo; - bypassWatchOnYoutubeElement.checked = r.bypassWatchOnYoutube; - - let frontend = r.youtubeFrontend; - youtubeFrontendElement.value = frontend; changeFrontendsSettings(); + changeProtocolSettings(); - let protocol = r.youtubeProtocol; - protocolElement.value = protocol; - changeProtocolSettings(protocol); + youtubeEmbedFrontend.value = youtubeEmbedFrontend.value + if (r.youtubeFrontend == "freetube" || r.youtubeFrontend == "yatte") changeYoutubeEmbedFrontendsSettings() + } +); - let youtubeEmbedFrontend = r.youtubeEmbedFrontend; - youtubeEmbedFrontendElement.value = youtubeEmbedFrontend - if (frontend == "freetube" || frontend == "yatte") { - changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontend) - }; +const invidiousForm = invidiousDiv.getElementsByTagName('form')[0]; +const invidiousCookies = invidiousForm.getElementsByTagName('input')[0]; +invidiousForm.addEventListener('submit', async event => { + event.preventDefault(); + const url = new URL(invidiousCookies.value); + youtubeHelper.initInvidiousCookies(url); +}); + +// const pipedForm = pipedDiv.getElementsByTagName('form')[0]; +// const pipedCookies = pipedForm.getElementsByTagName('input')[0]; +// pipedForm.addEventListener('submit', async event => { +// event.preventDefault(); +// const url = new URL(pipedCookies.value); +// youtubeHelper.initPipedLocalStorage(url); +// }); + +commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'normal', document); +commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'tor', document); +commonHelper.processDefaultCustomInstances('youtube', 'pipedMaterial', 'normal', document); +commonHelper.processDefaultCustomInstances('youtube', 'pipedMaterial', 'tor', document); +commonHelper.processDefaultCustomInstances('youtube', 'piped', 'normal', document); +commonHelper.processDefaultCustomInstances('youtube', 'piped', 'tor', document); + + +let latencyInvidiousElement = document.getElementById("latency-invidious"); +let latencyInvidiousLabel = document.getElementById("latency-invidious-label"); +latencyInvidiousElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyInvidiousElement.addEventListener("click", reloadWindow); + await youtubeHelper.init(); + let redirects = youtubeHelper.getRedirects(); + const oldHtml = latencyInvidiousLabel.innerHTML; + latencyInvidiousLabel.innerHTML = '...'; + commonHelper.testLatency(latencyInvidiousLabel, redirects.invidious.normal).then(r => { + browser.storage.local.set({ invidiousLatency: r }); + latencyInvidiousLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances('youtube', 'invidious', 'normal', document); + latencyInvidiousElement.removeEventListener("click", reloadWindow); + }); } ); +let latencyPipedMaterialElement = document.getElementById("latency-pipedMaterial"); +let latencyPipedMaterialLabel = document.getElementById("latency-pipedMaterial-label"); +latencyPipedMaterialElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyPipedMaterialElement.addEventListener("click", reloadWindow); + await youtubeHelper.init(); + let redirects = youtubeHelper.getRedirects(); + const oldHtml = latencyPipedMaterialLabel.innerHTML; + latencyPipedMaterialLabel.innerHTML = '...'; + commonHelper.testLatency(latencyPipedMaterialLabel, redirects.pipedMaterial.normal).then(r => { + browser.storage.local.set({ pipedMaterialLatency: r }); + latencyPipedMaterialLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances('youtube', 'pipedMaterial', 'normal', document); + latencyPipedMaterialElement.removeEventListener("click", reloadWindow); + }); + } +); -window.onblur = () => { - youtubeHelper.initInvidiousCookies(); -} \ No newline at end of file +let latencyPipedElement = document.getElementById("latency-piped"); +let latencyPipedLabel = document.getElementById("latency-piped-label"); +latencyPipedElement.addEventListener("click", + async () => { + let reloadWindow = () => location.reload(); + latencyPipedElement.addEventListener("click", reloadWindow); + await youtubeHelper.init(); + let redirects = youtubeHelper.getRedirects(); + const oldHtml = latencyPipedLabel.innerHTML; + latencyPipedLabel.innerHTML = '...'; + commonHelper.testLatency(latencyPipedLabel, redirects.piped.normal).then(r => { + browser.storage.local.set({ pipedLatency: r }); + latencyPipedLabel.innerHTML = oldHtml; + commonHelper.processDefaultCustomInstances('youtube', 'piped', 'normal', document); + latencyPipedElement.removeEventListener("click", reloadWindow); + }); + } +); diff --git a/src/pages/options/youtube/youtube.pug b/src/pages/options/youtube/youtube.pug index be88aac8..45c7f173 100644 --- a/src/pages/options/youtube/youtube.pug +++ b/src/pages/options/youtube/youtube.pug @@ -21,8 +21,6 @@ body.option(dir="auto") option(value="freetube") FreeTube option(value="yatte") Yattee - hr - #freetube-yatte .some-block.option-block h4(data-localise="__MSG_embeddedVids__") Embedded Videos Frontend @@ -31,7 +29,6 @@ body.option(dir="auto") option(value="piped") Piped option(value="pipedMaterial") Piped-Material option(value="youtube") Youtube - hr #invidious-piped-pipedMaterial .some-block.option-block @@ -47,278 +44,7 @@ body.option(dir="auto") option(value="onlyEmbedded" data-localise="__MSG_onlyEmbedded__") Only Embedded option(value="onlyNotEmbedded" data-localise="__MSG_onlyNotEmbedded__") Only Not Embedded - .some-block.option-block - h4(data-localise="__MSG_bypassYoutube__") Bypass "Watch On YouTube" - input#bypass-watch-on-youtube(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_enableCustom__") Enable Custom Settings (will use cookies and localStorage) - input#enable-youtube-custom-settings(type="checkbox") - #invidious - .custom-settings - hr - .some-block.option-block - h4(data-localise="__MSG_alwaysLoop__") Always loop - input.video_loop(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_autoplayVid__") Autoplay Video - input.youtubeAutoplay(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_playNext__") Play next by default - input.continue(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_autoplayNext__") Autoplay next video - input.continue_autoplay(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_alwaysProxy__") Always proxy videos - input.local(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_listenByDefault__") Listen by default - input.listen(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_defaultSpeed__") Default speed - select.speed - option 2.0 - option 1.75 - option 1.5 - option 1.25 - option 1.0 - option 0.75 - option 0.5 - option 0.25 - - .some-block.option-block - h4(data-localise="__MSG_prefQuality__") Preferred video quality - select.quality - option(value="hd720") 720p - option(value="medium") 480p - option(value="dash" data-localise="__MSG_dash__") DASH (adaptive quality) - - .some-block.option-block - h4(data-localise="__MSG_prefDashQuality__") Preferred DASH video quality - select.quality_dash - option(value="auto" data-localise="__MSG_auto__") Auto - option(value="best" data-localise="__MSG_best__") Best - option(value="4320p") 4320p - option(value="2160p") 2160p - option(value="1440p") 1440p - option(value="1080p") 1080p - option(value="720p") 720p - option(value="480p") 480p - option(value="360p") 360p - option(value="240p") 240p - option(value="144p") 144p - option(value="worst" data-localise="__MSG_worst__") Worst - - .some-block.option-block - h4 - x(data-localise="__MSG_volume__") Volume: - span.volume-value --% - input.volume(type="range" min="0" max="100" step="1") - - .some-block.option-block - h4(data-localise="__MSG_defaultComments__") Default comments - select(class="comments[0]") - option(value="" data-localise="__MSG_none__") none - option(value="youtube") YouTube - option(value="reddit") Reddit - .some-block.option-block - h4 - select(class="comments[1]") - option(value="" data-localise="__MSG_none__") none - option(value="youtube") YouTube - option(value="reddit") Reddit - - .some-block.option-block - h4(data-localise="__MSG_defaultCaptions__") Default captions - select(class="captions[0]") - include ../../widgets/captions_options.pug - - .some-block.option-block - h4 - select(class="captions[1]") - include ../../widgets/captions_options.pug - - .some-block.option-block - h4 - select(class="captions[2]") - include ../../widgets/captions_options.pug - - .some-block.option-block - h4(data-localise="__MSG_showRelated__") Show related videos - input.related_videos(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_showAnnotations__") Show annotations by default - input.annotations(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_autoExtendDesc__") Automatically extend video description - input.extend_desc(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_interactive360__") Interactive 360 degree videos (requires WebGL) - input.vr_mode(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_savePlaybackPos__") Save playback position - input.save_player_pos(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_region__") Select country - select.region - option(value="AE") AE - option(value="AR") AR - option(value="AT") AT - option(value="AU") AU - option(value="AZ") AZ - option(value="BA") BA - option(value="BD") BD - option(value="BE") BE - option(value="BG") BG - option(value="BH") BH - option(value="BO") BO - option(value="BR") BR - option(value="BY") BY - option(value="CA") CA - option(value="CH") CH - option(value="CL") CL - option(value="CO") CO - option(value="CR") CR - option(value="CY") CY - option(value="CZ") CZ - option(value="DE") DE - option(value="DK") DK - option(value="DO") DO - option(value="DZ") DZ - option(value="EC") EC - option(value="EE") EE - option(value="EG") EG - option(value="ES") ES - option(value="FI") FI - option(value="FR") FR - option(value="GB") GB - option(value="GE") GE - option(value="GH") GH - option(value="GR") GR - option(value="GT") GT - option(value="HK") HK - option(value="HN") HN - option(value="HR") HR - option(value="HU") HU - option(value="ID") ID - option(value="IE") IE - option(value="IL") IL - option(value="IN") IN - option(value="IQ") IQ - option(value="IS") IS - option(value="IT") IT - option(value="JM") JM - option(value="JO") JO - option(value="JP") JP - option(value="KE") KE - option(value="KR") KR - option(value="KW") KW - option(value="KZ") KZ - option(value="LB") LB - option(value="LI") LI - option(value="LK") LK - option(value="LT") LT - option(value="LU") LU - option(value="LV") LV - option(value="LY") LY - option(value="MA") MA - option(value="ME") ME - option(value="MK") MK - option(value="MT") MT - option(value="MX") MX - option(value="MY") MY - option(value="NG") NG - option(value="NI") NI - option(value="NL") NL - option(value="NO") NO - option(value="NP") NP - option(value="NZ") NZ - option(value="OM") OM - option(value="PA") PA - option(value="PE") PE - option(value="PG") PG - option(value="PH") PH - option(value="PK") PK - option(value="PL") PL - option(value="PR") PR - option(value="PT") PT - option(value="PY") PY - option(value="QA") QA - option(value="RO") RO - option(value="RS") RS - option(value="RU") RU - option(value="SA") SA - option(value="SE") SE - option(value="SG") SG - option(value="SI") SI - option(value="SK") SK - option(value="SN") SN - option(value="SV") SV - option(value="TH") TH - option(value="TN") TN - option(value="TR") TR - option(value="TW") TW - option(value="TZ") TZ - option(value="UA") UA - option(value="UG") UG - option(value="US") US - option(value="UY") UY - option(value="VE") VE - option(value="VN") VN - option(value="YE") YE - option(value="ZA") ZA - option(value="ZW") ZW - - .some-block.option-block - h4(data-localise="__MSG_playerStyle__") Player Style - select.player_style - option(value="invidious" data-localise="__MSG_invidious__") Invidious - option(value="youtube" data-localise="__MSG_youtube__") YouTube - - .some-block.option-block - h4(data-localise="__MSG_theme__") Theme - select.dark_mode - option(value="") auto - option(value="light") light - option(value="dark") dark - - .some-block.option-block - h4(data-localise="__MSG_thin_mode__") Thin mode - input.thin_mode(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_default_home__") Default homepage - select.default_home - option(value="") Search - option(value="Popular") Popular - option(value="Trending") Trending - - .some-block.option-block - h4(data-localise="__MSG_feedMenu__") Feed menu - select(class="feed_menu[0]") - option(value="") Search - option(value="Popular") Popular - option(value="Trending") Trending - - |  - - select(class="feed_menu[1]") - option(value="") Search - option(value="Popular") Popular - option(value="Trending") Trending hr .normal include ../../widgets/instances.pug @@ -331,318 +57,6 @@ body.option(dir="auto") #piped hr - .custom-settings - hr - .some-block.option-block - h4 - x(data-localise="__MSG_volume__") Volume: - span.volume-value --% - input.volume(type="range" min="0" max="100" step="1") - - .some-block.option-block - h4(data-localise="__MSG_enableSponsorBlock__") Enable Sponsorblock - input.sponsorblock(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipSponsors__") Skip Sponsors - input.selectedSkip-sponsor(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipIntermission__") Skip Intermission/Intro Animation - input.selectedSkip-intro(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skripEndcars__") Skip Endcards/Credits - input.selectedSkip-outro(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skripPreview__") Skip Preview/Recap - input.selectedSkip-preview(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipReminder__") Skip Interaction Reminder (Subscribe) - input.selectedSkip-interaction(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipUnpaidPromo__") Skip Unpaid/Self Promotion(Subscribe) - input.selectedSkip-selfpromo(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipMusic__") Skip Music: Non-Music Section(Subscribe) - input.selectedSkip-music_offtopic(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipHighlight__") Skip Highlight(Subscribe) - input.selectedSkip-poi_highlight(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipFiller__") Skip Filler Tangent - input.selectedSkip-filler(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_theme__") Theme - select.ddlTheme - option(value="auto") Auto - option(value="dark") Dark - option(value="light") Light - - .some-block.option-block - h4(data-localise="__MSG_autoplayVid__") Autoplay Video - input.youtubeAutoplay(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_audioOnly__") Audio Only - input.listen(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_defaultQuality__") Default Quality - select.quality - option(value="0") Auto - option(value="144") 144p - option(value="240") 240p - option(value="360") 360p - option(value="480") 480p - option(value="720") 720p - option(value="1080") 1080p - option(value="1440") 1440p - option(value="2160") 2160p - option(value="4320") 4320p - - .some-block.option-block - h4(data-localise="__MSG_bufferingGoal__") Buffering Goal (in seconds) - input.bufferGoal(type="number" min="10") - - .some-block.option-block - h4(data-localise="__MSG_countrySelection__") Country Selection - select.region - option(value="AF") Afghanistan - option(value="AL") Albania - option(value="DZ") Algeria - option(value="AD") Andorra - option(value="AO") Angola - option(value="AG") Antigua and Barbuda - option(value="AR") Argentina - option(value="AM") Armenia - option(value="AU") Australia - option(value="AT") Austria - option(value="AZ") Azerbaijan - option(value="BS") Bahamas - option(value="BH") Bahrain - option(value="BD") Bangladesh - option(value="BB") Barbados - option(value="BY") Belarus - option(value="BE") Belgium - option(value="BZ") Belize - option(value="BJ") Benin - option(value="BT") Bhutan - option(value="BO") Bolivia (Plurinational State of) - option(value="BA") Bosnia and Herzegovina - option(value="BW") Botswana - option(value="BR") Brazil - option(value="BN") Brunei Darussalam - option(value="BG") Bulgaria - option(value="BF") Burkina Faso - option(value="BI") Burundi - option(value="CV") Cabo Verde - option(value="KH") Cambodia - option(value="CM") Cameroon - option(value="CA") Canada - option(value="CF") Central African Republic - option(value="TD") Chad - option(value="CL") Chile - option(value="CN") China - option(value="CO") Colombia - option(value="KM") Comoros - option(value="CG") Congo - option(value="CD") Congo, Democratic Republic of the - option(value="CR") Costa Rica - option(value="CI") Côte d'Ivoire - option(value="HR") Croatia - option(value="CU") Cuba - option(value="CY") Cyprus - option(value="CZ") Czechia - option(value="DK") Denmark - option(value="DJ") Djibouti - option(value="DM") Dominica - option(value="DO") Dominican Republic - option(value="EC") Ecuador - option(value="EG") Egypt - option(value="SV") El Salvador - option(value="GQ") Equatorial Guinea - option(value="ER") Eritrea - option(value="EE") Estonia - option(value="SZ") Eswatini - option(value="ET") Ethiopia - option(value="FJ") Fiji - option(value="FI") Finland - option(value="FR") France - option(value="GA") Gabon - option(value="GM") Gambia - option(value="GE") Georgia - option(value="DE") Germany - option(value="GH") Ghana - option(value="GR") Greece - option(value="GD") Grenada - option(value="GT") Guatemala - option(value="GN") Guinea - option(value="GW") Guinea-Bissau - option(value="GY") Guyana - option(value="HT") Haiti - option(value="HN") Honduras - option(value="HU") Hungary - option(value="IS") Iceland - option(value="IN") India - option(value="ID") Indonesia - option(value="IR") Iran (Islamic Republic of) - option(value="IQ") Iraq - option(value="IE") Ireland - option(value="IL") Israel - option(value="IT") Italy - option(value="JM") Jamaica - option(value="JP") Japan - option(value="JO") Jordan - option(value="KZ") Kazakhstan - option(value="KE") Kenya - option(value="KI") Kiribati - option(value="KP") Korea (Democratic People's Republic of) - option(value="KR") Korea, Republic of - option(value="KW") Kuwait - option(value="KG") Kyrgyzstan - option(value="LA") Lao People's Democratic Republic - option(value="LV") Latvia - option(value="LB") Lebanon - option(value="LS") Lesotho - option(value="LR") Liberia - option(value="LY") Libya - option(value="LI") Liechtenstein - option(value="LT") Lithuania - option(value="LU") Luxembourg - option(value="MG") Madagascar - option(value="MW") Malawi - option(value="MY") Malaysia - option(value="MV") Maldives - option(value="ML") Mali - option(value="MT") Malta - option(value="MH") Marshall Islands - option(value="MR") Mauritania - option(value="MU") Mauritius - option(value="MX") Mexico - option(value="FM") Micronesia (Federated States of) - option(value="MD") Moldova, Republic of - option(value="MC") Monaco - option(value="MN") Mongolia - option(value="ME") Montenegro - option(value="MA") Morocco - option(value="MZ") Mozambique - option(value="MM") Myanmar - option(value="NA") Namibia - option(value="NR") Nauru - option(value="NP") Nepal - option(value="NL") Netherlands - option(value="NZ") New Zealand - option(value="NI") Nicaragua - option(value="NE") Niger - option(value="NG") Nigeria - option(value="MK") North Macedonia - option(value="NO") Norway - option(value="OM") Oman - option(value="PK") Pakistan - option(value="PW") Palau - option(value="PA") Panama - option(value="PG") Papua New Guinea - option(value="PY") Paraguay - option(value="PE") Peru - option(value="PH") Philippines - option(value="PL") Poland - option(value="PT") Portugal - option(value="QA") Qatar - option(value="RO") Romania - option(value="RU") Russian Federation - option(value="RW") Rwanda - option(value="KN") Saint Kitts and Nevis - option(value="LC") Saint Lucia - option(value="VC") Saint Vincent and the Grenadines - option(value="WS") Samoa - option(value="SM") San Marino - option(value="ST") Sao Tome and Principe - option(value="SA") Saudi Arabia - option(value="SN") Senegal - option(value="RS") Serbia - option(value="SC") Seychelles - option(value="SL") Sierra Leone - option(value="SG") Singapore - option(value="SK") Slovakia - option(value="SI") Slovenia - option(value="SB") Solomon Islands - option(value="SO") Somalia - option(value="ZA") South Africa - option(value="SS") South Sudan - option(value="ES") Spain - option(value="LK") Sri Lanka - option(value="SD") Sudan - option(value="SR") Suriname - option(value="SE") Sweden - option(value="CH") Switzerland - option(value="SY") Syrian Arab Republic - option(value="TJ") Tajikistan - option(value="TZ") Tanzania, United Republic of - option(value="TH") Thailand - option(value="TL") Timor-Leste - option(value="TG") Togo - option(value="TO") Tonga - option(value="TT") Trinidad and Tobago - option(value="TN") Tunisia - option(value="TR") Turkey - option(value="TM") Turkmenistan - option(value="TV") Tuvalu - option(value="UG") Uganda - option(value="UA") Ukraine - option(value="AE") United Arab Emirates - option(value="GB") United Kingdom of Great Britain and Northern Ireland - option(value="US") United States of America - option(value="UY") Uruguay - option(value="UZ") Uzbekistan - option(value="VU") Vanuatu - option(value="VE") Venezuela (Bolivarian Republic of) - option(value="VN") Viet Nam - option(value="YE") Yemen - option(value="ZM") Zambia - option(value="ZW") Zimbabwe - - .some-block.option-block - h4(data-localise="__MSG_defaultHomepage__") Default Homepage - select.homepage - option(value="trending" data-localise="__MSG_trending__") Trending - option(value="feed" data-localise="__MSG_feed__") Feed - - .some-block.option-block - h4(data-localise="__MSG_showComments__") Show Comments - input.comments(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_minimizeDesc__") Minimize Description by default - input.minimizeDescription(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_storeHistory__") Store Watch History - input.watchHistory(type="checkbox") - - - .some-block.option-block - h4(data-localise="__MSG_enabledCodecs__") Enabled Codecs (Multiple) - select.enabledCodecs - option(value="av1") AV1 - option(value="vp9") VP9 - option(value="avc") AVC (h.264) - - .some-block.option-block - h4(data-localise="__MSG_disableLBRY__") Disable LBRY for Streaming - input.disableLBRY(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_enableProxyLBRY__") Enable Proxy for LBRY - input.proxyLBRY(type="checkbox") - .normal include ../../widgets/instances.pug +instances('https://piped.com') @@ -653,67 +67,6 @@ body.option(dir="auto") #pipedMaterial hr - .custom-settings - .some-block.option-block - h4(data-localise="__MSG_autoplayVid__") Autoplay Video - input.youtubeAutoplay(type="checkbox") - - .some-block.option-block - h4 - x(data-localise="__MSG_volume__") Volume: - span.volume-value --% - input.volume(type="range" min="0" max="100" step="1") - - .some-block.option-block - h4(data-localise="__MSG_audioOnly__") Audio Only - input.listen(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_disableLBRY__") Disable LBRY - input.disableLBRY(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_proxyLBRY__") Proxy LBRY videos - input.proxyLBRY(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_enableSponsorBlock__") Enable Sponsorblock - input.sponsorblock(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipNote__") Skip to the last watched point when encountering a video already seen - input.skipToLastPoint(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipSponsors__") Skip Sponsors - input.selectedSkip-sponsor(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipIntermission__") Skip Intermission/Intro Animation - input.selectedSkip-intro(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skripEndcars__") Skip Endcards/Credits - input.selectedSkip-outro(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skripPreview__") Skip Preview/Recap - input.selectedSkip-preview(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipReminder__") Skip Interaction Reminder (Subscribe) - input.selectedSkip-interaction(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipUnpaidPromo__") Skip Unpaid/Self Promotion - input.selectedSkip-selfpromo(type="checkbox") - - .some-block.option-block - h4(data-localise="__MSG_skipMusic__") Skip Music: Non-Music Section - input.selectedSkip-music_offtopic(type="checkbox") - - hr - .normal include ../../widgets/instances.pug +instances('https://piped-material.com') -- cgit 1.4.1