diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-03-13 18:06:53 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-03-13 18:06:53 +0300 |
commit | fbbc82d0f28e42ac34e96cc0dffd6d0470df78b2 (patch) | |
tree | 8a15a099c727b6d3d8fd1dc6e954aefa60d09ab8 /src/assets | |
parent | Preserve unsupported settings #104 (diff) | |
download | libredirect-fbbc82d0f28e42ac34e96cc0dffd6d0470df78b2.zip |
Added a button for enabling cookies #104
Diffstat (limited to 'src/assets')
4 files changed, 108 insertions, 125 deletions
diff --git a/src/assets/javascripts/helpers/youtube/invidious-options.js b/src/assets/javascripts/helpers/youtube/invidious-options.js index 201a8709..ea45ae01 100644 --- a/src/assets/javascripts/helpers/youtube/invidious-options.js +++ b/src/assets/javascripts/helpers/youtube/invidious-options.js @@ -153,23 +153,22 @@ export async function invidiousInit() { "invidiousSavePlayerPos", ], r => { - invidiousQuality = r.invidiousQuality ?? 'DEFAULT'; - invidiousAlwaysProxy = r.invidiousAlwaysProxy ?? 'DEFAULT'; - invidiousPlayerStyle = r.invidiousPlayerStyle ?? 'DEFAULT'; - invidiousVideoLoop = r.invidiousVideoLoop ?? 'DEFAULT'; - invidiousContinueAutoplay = r.invidiousContinueAutoplay ?? 'DEFAULT'; - invidiousContinue = r.invidiousContinue ?? 'DEFAULT'; - invidiousListen = r.invidiousListen ?? 'DEFAULT'; - invidiousSpeed = r.invidiousSpeed ?? 'DEFAULT'; - invidiousQualityDash = r.invidiousQualityDash ?? 'DEFAULT'; - invidiousComments = r.invidiousComments ?? ['DEFAULT', 'DEFAULT']; - invidiousCaptions = r.invidiousCaptions ?? ['DEFAULT', 'DEFAULT', 'DEFAULT']; - invidiousRelatedVideos = r.invidiousRelatedVideos ?? 'DEFAULT'; - invidiousAnnotations = r.invidiousAnnotations ?? 'DEFAULT'; - invidiousExtendDesc = r.invidiousExtendDesc ?? 'DEFAULT'; - invidiousVrMode = r.invidiousVrMode ?? 'DEFAULT'; - invidiousSavePlayerPos = r.invidiousSavePlayerPos ?? 'DEFAULT'; - + invidiousVideoLoop = r.invidiousVideoLoop ?? false; + invidiousAlwaysProxy = r.invidiousAlwaysProxy ?? false; + invidiousPlayerStyle = r.invidiousPlayerStyle ?? 'invidious'; + invidiousQuality = r.invidiousQuality ?? 'hd720'; + invidiousContinueAutoplay = r.invidiousContinueAutoplay ?? true; + invidiousContinue = r.invidiousContinue ?? false; + invidiousListen = r.invidiousListen ?? false; + invidiousSpeed = r.invidiousSpeed ?? '1.0'; + invidiousQualityDash = r.invidiousQualityDash ?? 'auto'; + invidiousComments = r.invidiousComments ?? ['youtube', '']; + invidiousCaptions = r.invidiousCaptions ?? ['', '', '']; + invidiousRelatedVideos = r.invidiousRelatedVideos ?? true; + invidiousAnnotations = r.invidiousAnnotations ?? false; + invidiousExtendDesc = r.invidiousExtendDesc ?? false; + invidiousVrMode = r.invidiousVrMode ?? true; + invidiousSavePlayerPos = r.invidiousSavePlayerPos ?? false; resolve(); } diff --git a/src/assets/javascripts/helpers/youtube/piped-preferences.js b/src/assets/javascripts/helpers/youtube/piped-preferences.js index 6edd5ba2..f4b41e5c 100644 --- a/src/assets/javascripts/helpers/youtube/piped-preferences.js +++ b/src/assets/javascripts/helpers/youtube/piped-preferences.js @@ -3,37 +3,16 @@ window.browser = window.browser || window.chrome; browser.storage.local.get( [ "theme", - "applyThemeToSites", - "youtubeVolume", "youtubeAutoplay" ], r => { - let applyThemeToSites = r.applyThemeToSites ?? false; - - if ( - applyThemeToSites && - r.theme != "DEFAULT" && - localStorage.getItem("theme") != r.theme - ) - localStorage.setItem("theme", r.theme); + let theme = r.theme ?? "dark"; + let youtubeAutoplay = r.youtubeAutoplay ?? false; + let youtubeVolume = r.youtubeVolume ?? 100; - if ( - r.youtubeVolume != "--" && - localStorage.getItem("volume") != r.youtubeVolume - ) - localStorage.setItem("volume", r.youtubeVolume / 100); - - if ( - r.youtubeAutoplay != "DEFAULT" && - localStorage.getItem("playerAutoPlay") != r.youtubeAutoplay - ) - localStorage.setItem("playerAutoPlay", r.youtubeAutoplay); + localStorage.setItem("theme", theme); + localStorage.setItem("volume", youtubeVolume / 100); + localStorage.setItem("playerAutoPlay", youtubeAutoplay); } -) - -window.onunload = () => { - localStorage.removeItem("theme"); - localStorage.removeItem("volume"); - localStorage.removeItem("playerAutoPlay"); -}; +) \ No newline at end of file diff --git a/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js b/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js index e244cb47..94d54dd3 100644 --- a/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js +++ b/src/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js @@ -3,23 +3,22 @@ window.browser = window.browser || window.chrome; browser.storage.local.get( [ "theme", - "applyThemeToSites", + "youtubeVolume", "youtubeAutoplay", ], r => { - let applyThemeToSites = r.applyThemeToSites ?? false; - let theme = r.theme ?? "DEFAULT"; - let youtubeAutoplay = r.youtubeAutoplay ?? "DEFAULT"; + let theme = r.theme ?? "dark"; + let youtubeAutoplay = r.youtubeAutoplay ?? false; + let youtubeVolume = r.youtubeVolume ?? 100; let prefs = {}; if (localStorage.getItem("PREFERENCES")) prefs = JSON.parse(localStorage.getItem("PREFERENCES")); - if (applyThemeToSites && theme == 'dark') prefs.darkMode = true; - if (applyThemeToSites && theme == 'light') prefs.darkMode = false; + if (theme == 'dark') prefs.darkMode = true; + if (theme == 'light') prefs.darkMode = false; - if (youtubeAutoplay != "DEFAULT") prefs.playerAutoplay = youtubeAutoplay == 'true'; - - console.log("prefs", JSON.stringify(prefs)); + prefs.playerAutoplay = youtubeAutoplay == 'true'; + prefs.volume = youtubeVolume / 100; localStorage.setItem("PREFERENCES", JSON.stringify(prefs)); } diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js index 596f6d96..1f4bf298 100644 --- a/src/assets/javascripts/helpers/youtube/youtube.js +++ b/src/assets/javascripts/helpers/youtube/youtube.js @@ -247,6 +247,14 @@ function setDisable(val) { console.log("disableYoutube: ", disable) } +let enableCustomSettings; +const getEnableCustomSettings = () => enableCustomSettings; +function setEnableCustomSettings(val) { + enableCustomSettings = val; + browser.storage.local.set({ enableYoutubeCustomSettings: enableCustomSettings }) + console.log("enableYoutubeCustomSettings: ", enableCustomSettings) +} + let protocol; const getProtocol = () => protocol; function setProtocol(val) { @@ -554,23 +562,25 @@ function isPipedorInvidious(url, type, frontend) { } function initPipedLocalStorage(tabId) { - browser.tabs.executeScript( - tabId, - { - file: "/assets/javascripts/helpers/youtube/piped-preferences.js", - runAt: "document_start" - } - ); + if (enableCustomSettings) + browser.tabs.executeScript( + tabId, + { + file: "/assets/javascripts/helpers/youtube/piped-preferences.js", + runAt: "document_start" + } + ); } function initPipedMaterialLocalStorage(tabId) { - browser.tabs.executeScript( - tabId, - { - file: "/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js", - runAt: "document_start" - } - ); + if (enableCustomSettings) + browser.tabs.executeScript( + tabId, + { + file: "/assets/javascripts/helpers/youtube/pipedMaterial-preferences.js", + runAt: "document_start" + } + ); } function initInvidiousCookies() { @@ -582,64 +592,57 @@ function initInvidiousCookies() { ...invidiousTorCustomRedirects, ]; - for (const instanceUrl of checkedInstances) - browser.cookies.get( - { - url: instanceUrl, - name: "PREFS", - }, - cookie => { - let prefs = {}; - if (cookie) { - prefs = JSON.parse(decodeURIComponent(cookie.value)); - browser.cookies.remove({ url: instanceUrl, name: "PREFS" }); - } - - if (invidiousAlwaysProxy != "DEFAULT") prefs.local = invidiousAlwaysProxy == 'true'; - if (applyThemeToSites && theme != "DEFAULT") prefs.dark_mode = theme; - if (invidiousVideoLoop != "DEFAULT") prefs.video_loop = invidiousVideoLoop == 'true'; - if (invidiousContinueAutoplay != "DEFAULT") prefs.continue_autoplay = invidiousContinueAutoplay == 'true'; - if (invidiousContinue != "DEFAULT") prefs.continue = invidiousContinue == 'true'; - if (invidiousListen != "DEFAULT") prefs.listen = invidiousListen == 'true'; - if (invidiousSpeed != "DEFAULT") prefs.speed = parseFloat(invidiousSpeed); - if (invidiousQuality != "DEFAULT") prefs.quality = invidiousQuality; - if (invidiousQualityDash != "DEFAULT") prefs.quality_dash = invidiousQualityDash; - - if (invidiousComments[0] != "DEFAULT" || invidiousComments[1] != "DEFAULT") prefs.comments = [] + if (enableCustomSettings) + for (const instanceUrl of checkedInstances) + browser.cookies.get( + { + url: instanceUrl, + name: "PREFS", + }, + cookie => { + let prefs = {}; + if (cookie) { + prefs = JSON.parse(decodeURIComponent(cookie.value)); + browser.cookies.remove({ url: instanceUrl, name: "PREFS" }); + } + + prefs.local = invidiousAlwaysProxy == 'true'; + prefs.dark_mode = theme; + prefs.video_loop = invidiousVideoLoop == 'true'; + prefs.continue_autoplay = invidiousContinueAutoplay == 'true'; + prefs.continue = invidiousContinue == 'true'; + prefs.listen = invidiousListen == 'true'; + prefs.speed = parseFloat(invidiousSpeed); + prefs.quality = invidiousQuality; + prefs.quality_dash = invidiousQualityDash; + + prefs.comments = []; + prefs.comments[0] = invidiousComments[0]; + prefs.comments[1] = invidiousComments[1]; + + + prefs.captions = []; + prefs.captions[0] = invidiousCaptions[0]; + prefs.captions[1] = invidiousCaptions[1]; + prefs.captions[2] = invidiousCaptions[2]; + + prefs.related_videos = invidiousRelatedVideos == 'true'; + prefs.annotations = invidiousAnnotations == 'true' + prefs.extend_desc = invidiousExtendDesc == 'true'; + prefs.vr_mode = invidiousVrMode == 'true'; + prefs.save_player_pos = invidiousSavePlayerPos == 'true'; + + prefs.volume = parseInt(volume); + prefs.player_style = invidiousPlayerStyle; + prefs.autoplay = autoplay == 'true'; - if (invidiousComments[0] != "DEFAULT") prefs.comments[0] = invidiousComments[0]; - else if (invidiousComments[1] != "DEFAULT") prefs.comments[0] = "" - if (invidiousComments[1] != "DEFAULT") prefs.comments[1] = invidiousComments[1]; - else if (invidiousComments[0] != "DEFAULT") prefs.comments[1] = "" - - if (invidiousCaptions[0] != "DEFAULT" || invidiousCaptions[1] != "DEFAULT" || invidiousCaptions[2] != "DEFAULT") prefs.captions = []; - - if (invidiousCaptions[0] != "DEFAULT") prefs.captions[0] = invidiousCaptions[0]; - else if (invidiousCaptions[1] != "DEFAULT" || invidiousCaptions[2] != "DEFAULT") prefs.captions[0] = ""; - - if (invidiousCaptions[1] != "DEFAULT") prefs.captions[1] = invidiousCaptions[1]; - else if (invidiousCaptions[0] != "DEFAULT" || invidiousCaptions[2] != "DEFAULT") prefs.captions[1] = ""; - - if (invidiousCaptions[2] != "DEFAULT") prefs.captions[2] = invidiousCaptions[2]; - else if (invidiousCaptions[0] != "DEFAULT" || invidiousCaptions[1] != "DEFAULT") prefs.captions[2] = ""; - - if (invidiousRelatedVideos != "DEFAULT") prefs.related_videos = invidiousRelatedVideos == 'true'; - if (invidiousAnnotations != "DEFAULT") prefs.annotations = invidiousAnnotations == 'true'; - if (invidiousExtendDesc != "DEFAULT") prefs.extend_desc = invidiousExtendDesc == 'true'; - if (invidiousVrMode != "DEFAULT") prefs.vr_mode = invidiousVrMode == 'true'; - if (invidiousSavePlayerPos != "DEFAULT") prefs.save_player_pos = invidiousSavePlayerPos == 'true'; - - if (volume != "--") prefs.volume = parseInt(volume); - if (invidiousPlayerStyle != "DEFAULT") prefs.player_style = invidiousPlayerStyle; - if (autoplay != "DEFAULT") prefs.autoplay = autoplay == 'true'; - - if (Object.entries(prefs).length !== 0) browser.cookies.set({ url: instanceUrl, name: "PREFS", value: encodeURIComponent(JSON.stringify(prefs)) }) - }) + } + ) } async function init() { @@ -651,8 +654,8 @@ async function init() { browser.storage.local.get( [ "theme", - "applyThemeToSites", "disableYoutube", + "enableYoutubeCustomSettings", "OnlyEmbeddedVideo", "youtubeVolume", "youtubeAutoplay", @@ -689,15 +692,15 @@ async function init() { if (r.youtubeRedirects) redirects = r.youtubeRedirects; disable = r.disableYoutube ?? false; + enableCustomSettings = r.enableYoutubeCustomSettings ?? false; protocol = r.youtubeProtocol ?? 'normal'; frontend = r.youtubeFrontend ?? 'invidious'; youtubeEmbedFrontend = r.youtubeEmbedFrontend ?? 'invidious'; - theme = r.theme ?? 'DEFAULT'; - applyThemeToSites = r.applyThemeToSites ?? false; + theme = r.theme ?? 'dark'; - volume = r.youtubeVolume ?? '--'; - autoplay = r.youtubeAutoplay ?? 'DEFAULT'; + volume = r.youtubeVolume ?? 100; + autoplay = r.youtubeAutoplay ?? false; OnlyEmbeddedVideo = r.OnlyEmbeddedVideo ?? 'both'; @@ -773,6 +776,9 @@ export default { getDisable, setDisable, + getEnableCustomSettings, + setEnableCustomSettings, + getProtocol, setProtocol, |