aboutsummaryrefslogtreecommitdiffstats
path: root/src/assets
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/helpers/twitter.js28
-rw-r--r--src/assets/javascripts/helpers/youtube/invidious-preferences.js28
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js132
3 files changed, 63 insertions, 125 deletions
diff --git a/src/assets/javascripts/helpers/twitter.js b/src/assets/javascripts/helpers/twitter.js
index caf6541d..ba301ad4 100644
--- a/src/assets/javascripts/helpers/twitter.js
+++ b/src/assets/javascripts/helpers/twitter.js
@@ -199,18 +199,26 @@ function isNitter(url, type) {
let theme;
let applyThemeToSites;
-function initNitterCookies(url) {
- let protocolHost = `${url.protocol}//${url.host}`;
+function initNitterCookies() {
let themeValue;
if (theme == 'light') themeValue = 'Twitter';
if (theme == 'dark') themeValue = 'Twitter Dark';
-
- if (applyThemeToSites && themeValue != 'DEFAULT')
- browser.cookies.set({
- url: protocolHost,
- name: "theme",
- value: themeValue
- })
+ if (applyThemeToSites && themeValue != 'DEFAULT') {
+ let allInstances = [...redirects.nitter.normal, ...redirects.nitter.tor, ...nitterNormalCustomRedirects, ...nitterTorCustomRedirects]
+ let checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects, ...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
+ for (const item of allInstances)
+ if (!checkedInstances.includes(item))
+ browser.cookies.remove({
+ url: instanceUrl,
+ name: "theme",
+ })
+ for (const instanceUrl of checkedInstances)
+ browser.cookies.set({
+ url: instanceUrl,
+ name: "theme",
+ value: themeValue
+ })
+ }
}
async function init() {
@@ -259,6 +267,8 @@ async function init() {
nitterTorRedirectsChecks = r.nitterTorRedirectsChecks ?? [...redirects.nitter.tor];
nitterTorCustomRedirects = r.nitterTorCustomRedirects ?? [];
+ initNitterCookies();
+
resolve();
}
);
diff --git a/src/assets/javascripts/helpers/youtube/invidious-preferences.js b/src/assets/javascripts/helpers/youtube/invidious-preferences.js
index 22a7dc71..b25900b8 100644
--- a/src/assets/javascripts/helpers/youtube/invidious-preferences.js
+++ b/src/assets/javascripts/helpers/youtube/invidious-preferences.js
@@ -21,31 +21,7 @@ browser.storage.local.get(
"OnlyEmbeddedVideo",
"theme",
"invidiousVideoQuality",
- ], (result) => {
- let prefs = getCookie();
- let oldPrefs = { ...prefs };
-
- if (result.invidiousAlwaysProxy !== undefined && prefs.local !== result.invidiousAlwaysProxy)
- prefs.local = result.invidiousAlwaysProxy;
-
- if (result.invidiousVideoQuality !== undefined && prefs.quality !== result.invidiousVideoQuality)
- prefs.quality = result.invidiousVideoQuality;
-
- if (result.theme !== undefined && prefs.dark_mode !== result.theme)
- prefs.dark_mode = result.theme;
-
- if (result.youtubeVolume !== undefined && prefs.volume !== result.youtubeVolume)
- prefs.volume = result.youtubeVolume;
-
- if (result.invidiousPlayerStyle !== undefined && prefs.player_style !== result.invidiousPlayerStyle)
- prefs.player_style = result.invidiousPlayerStyle;
-
- if (result.invidiousSubtitles !== undefined && prefs.subtitles === result.invidiousSubtitles)
- prefs.subtitles = result.invidiousSubtitles;
-
- if (result.youtubeAutoplay !== undefined && prefs.autoplay !== result.youtubeAutoplay)
- prefs.autoplay = result.youtubeAutoplay;
-
- if (prefs != oldPrefs) document.cookie = `PREFS=${encodeURIComponent(JSON.stringify(prefs))}`;
+ ],
+ r => {
}
)
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index 50a16024..0ab77df6 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -537,87 +537,6 @@ function isPipedorInvidious(url, type, frontend) {
].includes(protocolHost);
}
-let applyThemeToSites;
-function addUrlParams(url) {
- let protocolHost = `${url.protocol}//${url.host}`;
- let isChanged = false;
- console.log("Adding URL Params", protocolHost);
- console.log("searchParams", url.searchParams);
- let oldParams = { ...url.searchParams };
- if (
- [
- ...redirects.invidious.normal,
- ...redirects.invidious.tor,
- ...invidiousNormalCustomRedirects,
- ...invidiousTorCustomRedirects
- ].includes(protocolHost)
- ) {
-
- if (applyThemeToSites && !url.searchParams.has("dark_mode") && theme != 'DEFAULT') {
- if (theme == 'dark') url.searchParams.append("dark_mode", true);
- else if (theme == 'light') url.searchParams.append("dark_mode", false);
- isChanged = true;
- }
-
- if (!url.searchParams.has("volume") && volume != "--") {
- url.searchParams.append("volume", volume);
- isChanged = true;
- }
-
- if (!url.searchParams.has("autoplay") && autoplay != "DEFAULT") {
- url.searchParams.append("autoplay", autoplay);
- isChanged = true;
- }
-
- if (!url.searchParams.has("local") && invidiousAlwaysProxy != "DEFAULT") {
- url.searchParams.append("local", invidiousAlwaysProxy);
- isChanged = true;
- }
-
- if (!url.searchParams.has("quality") && invidiousVideoQuality != "DEFAULT") {
- url.searchParams.append("quality", invidiousVideoQuality);
- isChanged = true;
- }
-
- if (!url.searchParams.has("player_style") && invidiousPlayerStyle != "DEFAULT") {
- url.searchParams.append("player_style", invidiousPlayerStyle);
- isChanged = true;
- };
-
- if (!url.searchParams.has("subtitles") && invidiousSubtitles.trim() != '') {
- url.searchParams.append("subtitles", invidiousSubtitles);
- isChanged = true;
- }
- }
- else if (
- [
- ...redirects.piped.normal,
- ...redirects.piped.tor,
- ...pipedNormalCustomRedirects,
- ...pipedTorCustomRedirects,
- ].includes(protocolHost)
- ) {
-
- if (!url.searchParams.has("theme") && theme != "DEFAULT") {
- url.searchParams.append("theme", theme);
- isChanged = true;
- }
-
- if (!url.searchParams.has("volume") && volume != "--") {
- url.searchParams.append("volume", volume / 100);
- isChanged = true;
- }
-
- if (!url.searchParams.has("playerAutoPlay") && autoplay != "DEFAULT") {
- url.searchParams.append("playerAutoPlay", autoplay);
- isChanged = true;
- }
- }
-
- if (isChanged) return url.href;
- else return;
-}
-
function initPipedLocalStorage(tabId) {
browser.tabs.executeScript(
tabId,
@@ -638,14 +557,46 @@ function initPipedMaterialLocalStorage(tabId) {
);
}
-function initInvidiousCookies(tabId) {
- browser.tabs.executeScript(
- tabId,
- {
- file: "/assets/javascripts/helpers/youtube/invidious-preferences.js",
- runAt: "document_start"
- }
- );
+let applyThemeToSites;
+function initInvidiousCookies() {
+ console.log("initInvidiousCookies");
+
+ let prefs = {};
+ if (invidiousAlwaysProxy != "DEFAULT") prefs.local = invidiousAlwaysProxy == 'true';
+ if (invidiousVideoQuality != "DEFAULT") prefs.quality = invidiousVideoQuality;
+ if (applyThemeToSites && theme != "DEFAULT") prefs.dark_mode = theme;
+ if (volume != "--") prefs.volume = parseInt(volume);
+ if (invidiousPlayerStyle != "DEFAULT") prefs.player_style = invidiousPlayerStyle;
+ if (invidiousSubtitles != "DEFAULT") prefs.subtitles = invidiousSubtitles;
+ if (autoplay != "DEFAULT") prefs.autoplay = autoplay == 'true';
+
+ let allInstances = [
+ ...redirects.invidious.normal,
+ ...redirects.invidious.tor,
+ ...invidiousNormalCustomRedirects,
+ ...invidiousTorCustomRedirects,
+ ]
+
+ let checkedInstances = [
+ ...invidiousNormalRedirectsChecks,
+ ...invidiousNormalCustomRedirects,
+ ...invidiousTorRedirectsChecks,
+ ...invidiousTorCustomRedirects,
+ ];
+
+ for (const item of allInstances)
+ if (!checkedInstances.includes(item))
+ browser.cookies.remove({
+ url: item,
+ name: "PREFS",
+ })
+
+ for (const instanceUrl of checkedInstances)
+ browser.cookies.set({
+ url: instanceUrl,
+ name: "PREFS",
+ value: encodeURIComponent(JSON.stringify(prefs))
+ })
}
async function init() {
@@ -741,6 +692,8 @@ async function init() {
if (r.youtubeEmbedExceptions) exceptions = r.youtubeEmbedExceptions;
+ initInvidiousCookies();
+
resolve();
});
});
@@ -769,7 +722,6 @@ export default {
changeInstance,
isPipedorInvidious,
- addUrlParams,
getDisable,
setDisable,