diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-05-03 16:45:14 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-05-03 16:45:29 +0300 |
commit | a78d6cdd04d491fcc773a4530d7887eee2ba4a59 (patch) | |
tree | 4784be6bdd47a0da9af535961a90e26e02393ae3 /src/pages/options | |
parent | Update README.md (diff) | |
download | libredirect-a78d6cdd04d491fcc773a4530d7887eee2ba4a59.zip |
Restructuring and simplifying code #229
Diffstat (limited to 'src/pages/options')
-rw-r--r-- | src/pages/options/imgur/imgur.js | 84 | ||||
-rw-r--r-- | src/pages/options/instagram/instagram.js | 73 | ||||
-rw-r--r-- | src/pages/options/reddit/reddit.js | 166 | ||||
-rw-r--r-- | src/pages/options/youtube/invidious.js | 190 | ||||
-rw-r--r-- | src/pages/options/youtube/piped.js | 144 | ||||
-rw-r--r-- | src/pages/options/youtube/pipedMaterial.js | 118 | ||||
-rw-r--r-- | src/pages/options/youtube/youtube.js | 62 |
7 files changed, 361 insertions, 476 deletions
diff --git a/src/pages/options/imgur/imgur.js b/src/pages/options/imgur/imgur.js index 11ebcebc..8d4428cf 100644 --- a/src/pages/options/imgur/imgur.js +++ b/src/pages/options/imgur/imgur.js @@ -2,18 +2,15 @@ import imgurHelper from "../../../assets/javascripts/helpers/imgur.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableImgurElement = document.getElementById("disable-imgur"); -disableImgurElement.addEventListener("change", - (event) => imgurHelper.setDisable(!event.target.checked) -); - let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - event => { - let protocol = event.target.options[protocolElement.selectedIndex].value - imgurHelper.setProtocol(protocol); - changeProtocolSettings(protocol); - } -); + +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableImgur: !disableImgurElement.checked, + imgurProtocol: protocolElement.value, + }); + init(); +}) function changeProtocolSettings(protocol) { let normalDiv = document.getElementsByClassName("normal")[0]; @@ -36,50 +33,45 @@ function changeProtocolSettings(protocol) { } } -imgurHelper.init().then(() => { - disableImgurElement.checked = !imgurHelper.getDisable(); +function init() { + imgurHelper.init().then(() => { + browser.storage.local.get( + [ + "disableImgur", + "imgurProtocol", + ], + r => { + disableImgurElement.checked = !r.disableImgur; + protocol.value = r.imgurProtocol; + changeProtocolSettings(r.imgurProtocol); + } + ); - let protocol = imgurHelper.getProtocol(); - console.log('protocol', protocol); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - browser.storage.local.get("rimgoLatency").then(r => { commonHelper.processDefaultCustomInstances( 'rimgo', 'normal', imgurHelper, - document, - imgurHelper.getRimgoNormalRedirectsChecks, - imgurHelper.setRimgoNormalRedirectsChecks, - imgurHelper.getRimgoNormalCustomRedirects, - imgurHelper.setRimgoNormalCustomRedirects, - r.rimgoLatency + document ); - }); - commonHelper.processDefaultCustomInstances( - 'rimgo', - 'tor', - imgurHelper, - document, - imgurHelper.getRimgoTorRedirectsChecks, - imgurHelper.setRimgoTorRedirectsChecks, - imgurHelper.getRimgoTorCustomRedirects, - imgurHelper.setRimgoTorCustomRedirects - ); + commonHelper.processDefaultCustomInstances( + 'rimgo', + 'tor', + imgurHelper, + document + ); + + commonHelper.processDefaultCustomInstances( + 'rimgo', + 'i2p', + imgurHelper, + document + ); + }); +} +init(); - commonHelper.processDefaultCustomInstances( - 'rimgo', - 'i2p', - imgurHelper, - document, - imgurHelper.getRimgoI2pRedirectsChecks, - imgurHelper.setRimgoI2pRedirectsChecks, - imgurHelper.getRimgoI2pCustomRedirects, - imgurHelper.setRimgoI2pCustomRedirects - ); -}); let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); diff --git a/src/pages/options/instagram/instagram.js b/src/pages/options/instagram/instagram.js index 867a5ddc..7dcd5607 100644 --- a/src/pages/options/instagram/instagram.js +++ b/src/pages/options/instagram/instagram.js @@ -2,18 +2,15 @@ import instagramHelper from "../../../assets/javascripts/helpers/instagram.js"; import commonHelper from "../../../assets/javascripts/helpers/common.js"; let disableInstagramElement = document.getElementById("disable-bibliogram"); -disableInstagramElement.addEventListener("change", - (event) => instagramHelper.setDisable(!event.target.checked) -); +let protocolElement = document.getElementById("protocol"); -let protocolElement = document.getElementById("protocol") -protocolElement.addEventListener("change", - (event) => { - let protocol = event.target.options[protocolElement.selectedIndex].value - instagramHelper.setProtocol(protocol); - changeProtocolSettings(protocol); - } -); +document.addEventListener("change", async () => { + await browser.storage.local.set({ + disableInstagram: disableInstagramElement.checked, + instagramProtocol: protocolElement.value, + }) + changeProtocolSettings(protocolElement.value); +}) function changeProtocolSettings(protocol) { let normalDiv = document.getElementsByClassName("normal")[0]; @@ -28,41 +25,23 @@ function changeProtocolSettings(protocol) { } } -instagramHelper.init().then(() => { - disableInstagramElement.checked = !instagramHelper.getDisable(); +browser.storage.local.get( + [ + "disableInstagram", + "instagramProtocol" + ], + r => { - let protocol = instagramHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); + disableInstagramElement.checked = !r.disableInstagram; + let protocol = r.instagramProtocol; + protocolElement.value = protocol; + changeProtocolSettings(protocol); - browser.storage.local.get("bibliogramLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'bibliogram', - 'normal', - instagramHelper, - document, - instagramHelper.getBibliogramNormalRedirectsChecks, - instagramHelper.setBibliogramNormalRedirectsChecks, - instagramHelper.getBibliogramNormalCustomRedirects, - instagramHelper.setBibliogramNormalCustomRedirects, - r.bibliogramLatency, - ) + commonHelper.processDefaultCustomInstances('bibliogram', 'normal', instagramHelper, document) + commonHelper.processDefaultCustomInstances('bibliogram', 'tor', instagramHelper, document) }) - commonHelper.processDefaultCustomInstances( - 'bibliogram', - 'tor', - instagramHelper, - document, - instagramHelper.getBibliogramTorRedirectsChecks, - instagramHelper.setBibliogramTorRedirectsChecks, - instagramHelper.getBibliogramTorCustomRedirects, - instagramHelper.setBibliogramTorCustomRedirects - ) -}) - - let latencyElement = document.getElementById("latency"); let latencyLabel = document.getElementById("latency-label"); latencyElement.addEventListener("click", @@ -76,17 +55,7 @@ latencyElement.addEventListener("click", commonHelper.testLatency(latencyLabel, redirects.bibliogram.normal).then(r => { browser.storage.local.set({ bibliogramLatency: r }); latencyLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'bibliogram', - 'normal', - instagramHelper, - document, - instagramHelper.getBibliogramNormalRedirectsChecks, - instagramHelper.setBibliogramNormalRedirectsChecks, - instagramHelper.getBibliogramNormalCustomRedirects, - instagramHelper.setBibliogramNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('bibliogram', 'normal', instagramHelper, document); latencyElement.removeEventListener("click", reloadWindow); }); } diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js index 91160ecf..47bd1856 100644 --- a/src/pages/options/reddit/reddit.js +++ b/src/pages/options/reddit/reddit.js @@ -45,7 +45,6 @@ document.addEventListener("change", async () => { init(); }) - window.onblur = () => { redditHelper.initLibredditCookies(); redditHelper.initTedditCookies(); @@ -93,100 +92,53 @@ function changeFrontendsSettings(frontend) { } } function init() { - redditHelper.init().then(() => { - browser.storage.local.get( - [ - "disableReddit", - "bypassWatchOnReddit", - "redditProtocol", - "redditFrontend", - - "enableLibredditCustomSettings", - - "redditTheme", - "redditFrontPage", - "redditLayout", - "redditWide", - "redditPostSort", - "redditCommentSort", - "redditShowNsfw", - "redditAutoplayVideos", - "redditUseHls", - "redditHideHlsNotification", - ], - r => { - disableRedditElement.checked = !r.disableReddit - bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit - protocolElement.value = r.redditProtocol - redditFrontendElement.value = r.redditFrontend - enableLibredditSettingsElement.checked = r.enableLibredditCustomSettings - changeFrontendsSettings(r.redditFrontend); - changeProtocolSettings(r.redditProtocol); - - theme.value = r.redditTheme; - front_page.value = r.redditFrontPage; - layout.value = r.redditLayout; - wide.checked = r.redditWide; - post_sort.value = r.redditPostSort; - comment_sort.value = r.redditCommentSort; - show_nsfw.checked = r.redditShowNsfw; - autoplay_videos.checked = r.redditAutoplayVideos; - use_hls.checked = r.redditUseHls; - hide_hls_notification.checked = r.redditHideHlsNotification; - } - ) - - browser.storage.local.get("libredditLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'libreddit', - 'normal', - redditHelper, - document, - redditHelper.getLibredditNormalRedirectsChecks, - redditHelper.setLibredditNormalRedirectsChecks, - redditHelper.getLibredditNormalCustomRedirects, - redditHelper.setLibredditNormalCustomRedirects, - r.libredditLatency, - ) - }) - - commonHelper.processDefaultCustomInstances( - 'libreddit', - 'tor', - redditHelper, - document, - redditHelper.getLibredditTorRedirectsChecks, - redditHelper.setLibredditTorRedirectsChecks, - redditHelper.getLibredditTorCustomRedirects, - redditHelper.setLibredditTorCustomRedirects - ) - - browser.storage.local.get("tedditLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'teddit', - 'normal', - redditHelper, - document, - redditHelper.getTedditNormalRedirectsChecks, - redditHelper.setTedditNormalRedirectsChecks, - redditHelper.getTedditNormalCustomRedirects, - redditHelper.setTedditNormalCustomRedirects, - r.tedditLatency, - ); - }) - - commonHelper.processDefaultCustomInstances( - 'teddit', - 'tor', - redditHelper, - document, - redditHelper.getTedditTorRedirectsChecks, - redditHelper.setTedditTorRedirectsChecks, - redditHelper.getTedditTorCustomRedirects, - redditHelper.setTedditTorCustomRedirects - ); - - }) + browser.storage.local.get( + [ + "disableReddit", + "bypassWatchOnReddit", + "redditProtocol", + "redditFrontend", + + "enableLibredditCustomSettings", + + "redditTheme", + "redditFrontPage", + "redditLayout", + "redditWide", + "redditPostSort", + "redditCommentSort", + "redditShowNsfw", + "redditAutoplayVideos", + "redditUseHls", + "redditHideHlsNotification", + ], + r => { + disableRedditElement.checked = !r.disableReddit + bypassWatchOnRedditElement.checked = r.bypassWatchOnReddit + protocolElement.value = r.redditProtocol + redditFrontendElement.value = r.redditFrontend + enableLibredditSettingsElement.checked = r.enableLibredditCustomSettings + changeFrontendsSettings(r.redditFrontend); + changeProtocolSettings(r.redditProtocol); + + theme.value = r.redditTheme; + front_page.value = r.redditFrontPage; + layout.value = r.redditLayout; + wide.checked = r.redditWide; + post_sort.value = r.redditPostSort; + comment_sort.value = r.redditCommentSort; + show_nsfw.checked = r.redditShowNsfw; + autoplay_videos.checked = r.redditAutoplayVideos; + use_hls.checked = r.redditUseHls; + hide_hls_notification.checked = r.redditHideHlsNotification; + } + ) + + commonHelper.processDefaultCustomInstances('libreddit', 'normal', redditHelper, document) + commonHelper.processDefaultCustomInstances('libreddit', 'tor', redditHelper, document) + + commonHelper.processDefaultCustomInstances('teddit', 'normal', redditHelper, document); + commonHelper.processDefaultCustomInstances('teddit', 'tor', redditHelper, document); } init(); @@ -203,17 +155,7 @@ latencyLibredditElement.addEventListener("click", commonHelper.testLatency(latencyLibredditLabel, redirects.libreddit.normal).then(r => { browser.storage.local.set({ libredditLatency: r }); latencyLibredditLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'libreddit', - 'normal', - redditHelper, - document, - redditHelper.getLibredditNormalRedirectsChecks, - redditHelper.setLibredditNormalRedirectsChecks, - redditHelper.getLibredditNormalCustomRedirects, - redditHelper.setLibredditNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('libreddit', 'normal', redditHelper, document); latencyLibredditElement.removeEventListener("click", reloadWindow); }); } @@ -232,17 +174,7 @@ latencyTedditElement.addEventListener("click", commonHelper.testLatency(latencyTedditLabel, redirects.teddit.normal).then(r => { browser.storage.local.set({ tedditLatency: r }); latencyTedditLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'teddit', - 'normal', - redditHelper, - document, - redditHelper.getTedditNormalRedirectsChecks, - redditHelper.setTedditNormalRedirectsChecks, - redditHelper.getTedditNormalCustomRedirects, - redditHelper.setTedditNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('teddit', 'normal', redditHelper, document); latencyTedditElement.removeEventListener("click", reloadWindow); }); } diff --git a/src/pages/options/youtube/invidious.js b/src/pages/options/youtube/invidious.js index af94c531..d314607e 100644 --- a/src/pages/options/youtube/invidious.js +++ b/src/pages/options/youtube/invidious.js @@ -34,21 +34,27 @@ let feed_menu1 = invidious.getElementsByClassName("feed_menu[1]")[0]; volume.addEventListener("input", () => volumeValue.textContent = `${volume.value}%`); invidious.addEventListener("change", async _ => { - console.log('changed invidious settings'); - let commentsList = youtubeHelper.getInvidiousComments(); - commentsList[0] = comments0.value; - commentsList[1] = comments1.value; - - let captionsList = youtubeHelper.getInvidiousCaptions(); - captionsList[0] = captions0.value; - captionsList[1] = captions1.value; - captionsList[2] = captions2.value; - - let feedMenuList = youtubeHelper.getInvidiousFeedMenuList(); - feedMenuList[0] = feed_menu0.value; - feedMenuList[1] = feed_menu1.value; - - await youtubeHelper.setYoutubeSettings({ + 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, @@ -73,79 +79,85 @@ invidious.addEventListener("change", async _ => { invidiousThinMode: thin_mode.checked, invidiousDefaultHome: default_home.value, invidiousFeedMenuList: feedMenuList, - }); - init(); + }); + init(); + } + ) }); function init() { - youtubeHelper.init().then(() => { - videoLoop.checked = youtubeHelper.getInvidiousVideoLoop(); - - autoplay.checked = youtubeHelper.getAutoplay(); - - playerStyle.value = youtubeHelper.getInvidiousPlayerStyle(); - - continueAutoplay.checked = youtubeHelper.getInvidiousContinueAutoplay(); - invidiousContinue.checked = youtubeHelper.getInvidiousContinue(); - alwaysProxy.checked = youtubeHelper.getInvidiousAlwaysProxy(); - youtubeListen.checked = youtubeHelper.getYoutubeListen(); - - speed.value = youtubeHelper.getInvidiousSpeed(); - quality.value = youtubeHelper.getInvidiousQuality(); - qualityDash.value = youtubeHelper.getInvidiousQualityDash(); - - volume.value = youtubeHelper.getVolume(); - volumeValue.textContent = `${youtubeHelper.getVolume()}%`; - - comments0.value = youtubeHelper.getInvidiousComments()[0]; - comments1.value = youtubeHelper.getInvidiousComments()[1]; - - captions0.value = youtubeHelper.getInvidiousCaptions()[0]; - captions1.value = youtubeHelper.getInvidiousCaptions()[1]; - captions2.value = youtubeHelper.getInvidiousCaptions()[2]; - - relatedVideo.checked = youtubeHelper.getInvidiousRelatedVideos(); - annotations.checked = youtubeHelper.getInvidiousAnnotations(); - extendDesc.checked = youtubeHelper.getInvidiousExtendDesc(); - vrMode.checked = youtubeHelper.getInvidiousVrMode(); - savePlayerPos.checked = youtubeHelper.getInvidiousSavePlayerPos(); - - region.value = youtubeHelper.getInvidiousRegion(); - darkMode.value = youtubeHelper.getInvidiousDarkMode(); - thin_mode.checked = youtubeHelper.getInvidiousThinMode(); - default_home.value = youtubeHelper.getInvidiousDefaultHome(); - - feed_menu0.value = youtubeHelper.getInvidiousFeedMenuList()[0]; - feed_menu1.value = youtubeHelper.getInvidiousFeedMenuList()[1]; - - browser.storage.local.get("invidiousLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'invidious', - 'normal', - youtubeHelper, - document, - youtubeHelper.getInvidiousNormalRedirectsChecks, - youtubeHelper.setInvidiousNormalRedirectsChecks, - youtubeHelper.getInvidiousNormalCustomRedirects, - youtubeHelper.setInvidiousNormalCustomRedirects, - r.invidiousLatency - ); - }) - - commonHelper.processDefaultCustomInstances( - 'invidious', - 'tor', - youtubeHelper, - document, - youtubeHelper.getInvidiousTorRedirectsChecks, - youtubeHelper.setInvidiousTorRedirectsChecks, - youtubeHelper.getInvidiousTorCustomRedirects, - youtubeHelper.setInvidiousTorCustomRedirects - ); - }); + 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('invidious', 'normal', youtubeHelper, document); + commonHelper.processDefaultCustomInstances('invidious', 'tor', youtubeHelper, document); + } + ) } -init() +init(); let latencyInvidiousElement = document.getElementById("latency-invidious"); let latencyInvidiousLabel = document.getElementById("latency-invidious-label"); @@ -160,17 +172,7 @@ latencyInvidiousElement.addEventListener("click", commonHelper.testLatency(latencyInvidiousLabel, redirects.invidious.normal).then(r => { browser.storage.local.set({ invidiousLatency: r }); latencyInvidiousLabel.innerHTML = oldHtml; - commonHelper.processDefaultCustomInstances( - 'invidious', - 'normal', - youtubeHelper, - document, - youtubeHelper.getInvidiousNormalRedirectsChecks, - youtubeHelper.setInvidiousNormalRedirectsChecks, - youtubeHelper.getInvidiousNormalCustomRedirects, - youtubeHelper.setInvidiousNormalCustomRedirects, - r, - ); + commonHelper.processDefaultCustomInstances('invidious', 'normal', youtubeHelper, document); latencyInvidiousElement.removeEventListener("click", reloadWindow); }); } diff --git a/src/pages/options/youtube/piped.js b/src/pages/options/youtube/piped.js index a0bc45a7..6e30b8e6 100644 --- a/src/pages/options/youtube/piped.js +++ b/src/pages/options/youtube/piped.js @@ -44,7 +44,6 @@ function selectSkipModify(value, boolean) { } let selectSkip = []; piped.addEventListener("change", async () => { - console.log("changed piped settings"); let pipedEnabledCodecsResult = []; for (const opt of pipedEnabledCodecs.options) if (opt.selected) pipedEnabledCodecsResult.push(opt.value); @@ -59,7 +58,7 @@ piped.addEventListener("change", async () => { selectSkipModify('poi_highlight', pipedSelectedSkipPoiHighlight.checked); selectSkipModify('filler', pipedSelectedSkipFiller.checked); - await youtubeHelper.setYoutubeSettings({ + await browser.storage.local.set({ pipedQuality: pipedQuality.value, pipedBufferGoal: pipedBufferGoal.value, pipedRegion: pipedRegion.value, @@ -80,89 +79,78 @@ piped.addEventListener("change", async () => { init(); }); -function init() { - youtubeHelper.init().then(() => { - pipedSponsorblock.checked = youtubeHelper.getPipedSponsorblock(); - pipedDdlTheme.value = youtubeHelper.getPipedDdlTheme(); - selectSkip = youtubeHelper.getPipedSelectedSkip(); - pipedSelectedSkipSponsor.checked = selectSkip.includes('sponsor'); - pipedSelectedSkipIntro.checked = selectSkip.includes('intro'); - pipedSelectedSkipOutro.checked = selectSkip.includes('outro'); - pipedSelectedSkipPreview.checked = selectSkip.includes('preview'); - autoplay.checked = youtubeHelper.getAutoplay(); - 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 = youtubeHelper.getYoutubeListen(); - pipedQuality.value = youtubeHelper.getPipedQuality(); - pipedBufferGoal.value = youtubeHelper.getPipedBufferGoal(); - pipedRegion.value = youtubeHelper.getPipedRegion(); - pipedHomepage.value = youtubeHelper.getPipedHomepage(); - pipedComments.checked = youtubeHelper.getPipedComments(); - pipedMinimizeDescription.checked = youtubeHelper.getPipedMinimizeDescription(); - pipedWatchHistory.checked = youtubeHelper.getPipedWatchHistory(); - pipedEnabledCodecs.value = youtubeHelper.getPipedEnabledCodecs(); - pipedDisableLBRY.checked = youtubeHelper.getPipedDisableLBRY(); - pipedProxyLBRY.checked = youtubeHelper.getPipedProxyLBRY(); +async function init() { + await browser.storage.local.get( + [ + "youtubeVolume", + "youtubeAutoplay", + "youtubeListen", - volume.value = youtubeHelper.getVolume(); - volumeValue.textContent = `${youtubeHelper.getVolume()}%`; + "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; - browser.storage.local.get("pipedLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'piped', - 'normal', - youtubeHelper, - document, - youtubeHelper.getPipedNormalRedirectsChecks, - youtubeHelper.setPipedNormalRedirectsChecks, - youtubeHelper.getPipedNormalCustomRedirects, - youtubeHelper.setPipedNormalCustomRedirects, - r.pipedLatency, - ); - }); + volume.value = r.youtubeVolume; + volumeValue.textContent = `${r.youtubeVolume}%`; - commonHelper.processDefaultCustomInstances( - 'piped', - 'tor', - youtubeHelper, - document, - youtubeHelper.getPipedTorRedirectsChecks, - youtubeHelper.setPipedTorRedirectsChecks, - youtubeHelper.getPipedTorCustomRedirects, - youtubeHelper.setPipedTorCustomRedirects - ); - }); + commonHelper.processDefaultCustomInstances('piped', 'normal', youtubeHelper, document); + commonHelper.processDefaultCustomInstances('piped', 'tor', youtubeHelper, document); + } + ); } init(); 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( - 'piped', - 'normal', - youtubeHelper, - document, - youtubeHelper.getPipedNormalRedirectsChecks, - youtubeHelper.setPipedNormalRedirectsChecks, - youtubeHelper.getPipedNormalCustomRedirects, - youtubeHelper.setPipedNormalCustomRedirects, - r, - ); - latencyPipedElement.removeEventListener("click", reloadWindow); - }); - } + 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('piped', 'normal', youtubeHelper, document); + latencyPipedElement.removeEventListener("click", reloadWindow); + }); + } ); diff --git a/src/pages/options/youtube/pipedMaterial.js b/src/pages/options/youtube/pipedMaterial.js index bc31289a..7c647b18 100644 --- a/src/pages/options/youtube/pipedMaterial.js +++ b/src/pages/options/youtube/pipedMaterial.js @@ -44,7 +44,7 @@ pipedMaterialElement.addEventListener("change", async () => { selectSkipModify('selfpromo', selectedSkipSelfpromoElement.checked); selectSkipModify('music_offtopic', selectedSkipMusicOfftopicElement.checked); - await youtubeHelper.setYoutubeSettings({ + await browser.storage.local.set({ youtubeListen: listenElement.checked, pipedDisableLBRY: disableLBRYElement.checked, pipedProxyLBRY: proxyLBRYElement.checked, @@ -68,77 +68,61 @@ pipedMaterialElement.addEventListener("change", async () => { }); function init() { - youtubeHelper.init().then(() => { - autoplayElement.checked = youtubeHelper.getAutoplay(); - - listenElement.checked = youtubeHelper.getYoutubeListen(); - disableLBRYElement.checked = youtubeHelper.getPipedDisableLBRY(); - proxyLBRYElement.checked = youtubeHelper.getPipedProxyLBRY(); - sponsorblockElement.checked = youtubeHelper.getPipedSponsorblock(); - skipToLastPointElement.checked = youtubeHelper.getPipedMaterialSkipToLastPoint(); - 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 = youtubeHelper.getVolume(); - volumeValueElement.textContent = `${youtubeHelper.getVolume()}%`; - browser.storage.local.get("pipedMaterialLatency").then(r => { - commonHelper.processDefaultCustomInstances( - 'pipedMaterial', - 'normal', - youtubeHelper, - document, - youtubeHelper.getPipedMaterialNormalRedirectsChecks, - youtubeHelper.setPipedMaterialNormalRedirectsChecks, - youtubeHelper.getPipedMaterialNormalCustomRedirects, - youtubeHelper.setPipedMaterialNormalCustomRedirects, - r.pipedMaterialLatency, - ); - }); + browser.storage.local.get( + [ + "youtubeAutoplay", + "youtubeVolume", + "youtubeListen", - commonHelper.processDefaultCustomInstances( - 'pipedMaterial', - 'tor', - youtubeHelper, - document, - youtubeHelper.getPipedMaterialTorRedirectsChecks, - youtubeHelper.setPipedMaterialTorRedirectsChecks, - youtubeHelper.getPipedMaterialTorCustomRedirects, - youtubeHelper.setPipedMaterialTorCustomRedirects - ); - }); + "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('pipedMaterial', 'normal', youtubeHelper, document); + commonHelper.processDefaultCustomInstances('pipedMaterial', 'tor', youtubeHelper, document); + }); } init(); 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( - 'pipedMaterial', - 'normal', - youtubeHelper, - document, - youtubeHelper.getPipedMaterialNormalRedirectsChecks, - youtubeHelper.setPipedMaterialNormalRedirectsChecks, - youtubeHelper.getPipedMaterialNormalCustomRedirects, - youtubeHelper.setPipedMaterialNormalCustomRedirects, - r, - ); - latencyPipedMaterialElement.removeEventListener("click", reloadWindow); - }); - } + 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('pipedMaterial', 'normal', youtubeHelper, document); + latencyPipedMaterialElement.removeEventListener("click", reloadWindow); + }); + } ); \ No newline at end of file diff --git a/src/pages/options/youtube/youtube.js b/src/pages/options/youtube/youtube.js index 5f915251..71ae4777 100644 --- a/src/pages/options/youtube/youtube.js +++ b/src/pages/options/youtube/youtube.js @@ -95,9 +95,8 @@ function changeProtocolSettings(protocol) { } } - -document.addEventListener("change", () => { - youtubeHelper.setYoutubeSettings({ +document.addEventListener("change", async () => { + await browser.storage.local.set({ disableYoutube: !disableYoutubeElement.checked, youtubeFrontend: youtubeFrontendElement.value, youtubeEmbedFrontend: youtubeEmbedFrontendElement.value, @@ -111,24 +110,43 @@ document.addEventListener("change", () => { changeFrontendsSettings(); }) -youtubeHelper.init().then(() => { - disableYoutubeElement.checked = !youtubeHelper.getDisable(); - enableYoutubeCustomSettingsElement.checked = youtubeHelper.getEnableCustomSettings(); - - OnlyEmbeddedVideoElement.value = youtubeHelper.getOnlyEmbeddedVideo(); - bypassWatchOnYoutubeElement.checked = youtubeHelper.getBypassWatchOnYoutube(); - - let frontend = youtubeHelper.getFrontend(); - youtubeFrontendElement.value = frontend; - changeFrontendsSettings(); +browser.storage.local.get( + [ + "disableYoutube", + "enableYoutubeCustomSettings", + "OnlyEmbeddedVideo", + "youtubeRedirects", + "youtubeFrontend", + + "alwaysUsePreferred", + "youtubeEmbedFrontend", + "youtubeProtocol", + "bypassWatchOnYoutube", + ], + r => { + disableYoutubeElement.checked = !r.disableYoutube; + enableYoutubeCustomSettingsElement.checked = r.enableYoutubeCustomSettings; + + OnlyEmbeddedVideoElement.value = r.OnlyEmbeddedVideo; + bypassWatchOnYoutubeElement.checked = r.bypassWatchOnYoutube; + + let frontend = r.youtubeFrontend; + youtubeFrontendElement.value = frontend; + changeFrontendsSettings(); + + let protocol = r.youtubeProtocol; + protocolElement.value = protocol; + changeProtocolSettings(protocol); + + let youtubeEmbedFrontend = r.youtubeEmbedFrontend; + youtubeEmbedFrontendElement.value = youtubeEmbedFrontend + if (frontend == "freetube" || frontend == "yatte") { + changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontend) + }; + } +); - let protocol = youtubeHelper.getProtocol(); - protocolElement.value = protocol; - changeProtocolSettings(protocol); - let youtubeEmbedFrontend = youtubeHelper.getYoutubeEmbedFrontend() - youtubeEmbedFrontendElement.value = youtubeEmbedFrontend - if (frontend == "freetube" || frontend == "yatte") { - changeYoutubeEmbedFrontendsSettings(youtubeEmbedFrontend) - }; -}); +window.onblur = () => { + youtubeHelper.initInvidiousCookies(); +} \ No newline at end of file |