about summary refs log tree commit diff stats
path: root/src/assets/javascripts
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-06 07:51:18 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-06 07:51:18 +0300
commit85aadc0eb6988e3c2e3e8d504ebf84bbf9180759 (patch)
tree54c2f7e1f14b766c6d81df1fc020963aa573b1b5 /src/assets/javascripts
parentCleaning code (diff)
downloadlibredirect-85aadc0eb6988e3c2e3e8d504ebf84bbf9180759.zip
Added default and custom instances to piped
Diffstat (limited to 'src/assets/javascripts')
-rw-r--r--src/assets/javascripts/data.js1
-rw-r--r--src/assets/javascripts/helpers/youtube/youtube.js53
2 files changed, 45 insertions, 9 deletions
diff --git a/src/assets/javascripts/data.js b/src/assets/javascripts/data.js
index a4e37ca7..bf0666ba 100644
--- a/src/assets/javascripts/data.js
+++ b/src/assets/javascripts/data.js
@@ -7,7 +7,6 @@ function setTheme(val) {
 };
 
 export default {
-    exceptions,
     theme,
     setTheme,
 }
\ No newline at end of file
diff --git a/src/assets/javascripts/helpers/youtube/youtube.js b/src/assets/javascripts/helpers/youtube/youtube.js
index b6588808..192a8ff7 100644
--- a/src/assets/javascripts/helpers/youtube/youtube.js
+++ b/src/assets/javascripts/helpers/youtube/youtube.js
@@ -61,7 +61,7 @@ function setInvidiousRedirects(val) {
   console.log("invidiousRedirects: ", val)
 }
 
-let invidiousRedirectsChecks = redirects.invidious.normal;
+let invidiousRedirectsChecks;
 const getInvidiousRedirectsChecks = () => invidiousRedirectsChecks;
 function setInvidiousRedirectsChecks(val) {
   invidiousRedirectsChecks = val;
@@ -77,6 +77,22 @@ function setInvidiousCustomRedirects(val) {
   console.log("invidiousCustomRedirects: ", val)
 }
 
+let pipedRedirectsChecks;
+const getPipedRedirectsChecks = () => pipedRedirectsChecks;
+function setPipedRedirectsChecks(val) {
+  pipedRedirectsChecks = val;
+  browser.storage.sync.set({ pipedRedirectsChecks })
+  console.log("pipedRedirectsChecks: ", val)
+}
+
+let pipedCustomRedirects = [];
+const getPipedCustomRedirects = () => pipedCustomRedirects;
+function setPipedCustomRedirects(val) {
+  pipedCustomRedirects = val;
+  browser.storage.sync.set({ pipedCustomRedirects })
+  console.log("pipedCustomRedirects: ", val)
+}
+
 function setPipedRedirects(val) {
   redirects.piped = val;
   browser.storage.sync.set({ youtubeRedirects: redirects })
@@ -209,13 +225,11 @@ async function init() {
       "youtubeFrontend",
       "invidiousRedirectsChecks",
       "invidiousCustomRedirects",
+      "pipedRedirectsChecks",
+      "pipedCustomRedirects",
     ]);
   if (result.youtubeRedirects) redirects = result.youtubeRedirects;
 
-  if (result.invidiousRedirectsChecks) invidiousRedirectsChecks = result.invidiousRedirectsChecks;
-
-  if (result.invidiousCustomRedirects) invidiousCustomRedirects = result.invidiousCustomRedirects;
-
   frontend = result.youtubeFrontend ?? 'piped';
   disableYoutube = result.disableYoutube ?? false;
 
@@ -228,6 +242,12 @@ async function init() {
   invidiousSubtitles = result.invidiousSubtitles || '';
   invidiousAutoplay = result.invidiousAutoplay ?? 'DEFAULT';
 
+  invidiousRedirectsChecks = result.invidiousRedirectsChecks ?? [...redirects.invidious.normal];
+  invidiousCustomRedirects = result.invidiousCustomRedirects ?? [];
+
+  pipedRedirectsChecks = result.pipedRedirectsChecks ?? [...redirects.invidious.normal];
+  pipedCustomRedirects = result.pipedCustomRedirects ?? [];
+
   persistInvidiousPrefs = result.persistInvidiousPrefs ?? false;
 }
 
@@ -253,6 +273,7 @@ function redirect(url, initiator, type) {
   )
     return null;
 
+
   if (url.hostname == "studio.youtube.com") return null;
 
   if (url.pathname.match(/iframe_api/) || url.pathname.match(/www-widgetapi/)) return null; // Don't redirect YouTube Player API.
@@ -272,7 +293,12 @@ function redirect(url, initiator, type) {
     if (invidiousSubtitles.trim() != '') url.searchParams.append("subtitles", invidiousSubtitles);
     if (invidiousAutoplay != "DEFAULT") url.searchParams.append("autoplay", invidiousAutoplay);
 
-    let randomInstance = commonHelper.getRandomInstance([...invidiousRedirectsChecks, ...invidiousCustomRedirects])
+    let instancesList = [...invidiousRedirectsChecks, ...invidiousCustomRedirects];
+
+    if (instancesList.length === 0)
+      return null;
+
+    let randomInstance = commonHelper.getRandomInstance(instancesList)
 
     return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
 
@@ -280,12 +306,17 @@ function redirect(url, initiator, type) {
 
     if (invidiousOnlyEmbeddedVideo && type !== "sub_frame") return null;
 
+    let instancesList = [...pipedRedirectsChecks, ...pipedCustomRedirects];
+
+    if (instancesList.length === 0)
+      return null;
+
+    let randomInstance = commonHelper.getRandomInstance(instancesList)
+
     if (invidiousTheme != "DEFAULT") url.searchParams.append("theme", invidiousTheme);
     if (invidiousVolume != "--") url.searchParams.append("volume", invidiousVolume / 100);
     if (invidiousAutoplay != "DEFAULT") url.searchParams.append("playerAutoPlay", invidiousAutoplay);
 
-    let randomInstance = commonHelper.getRandomInstance(redirects.piped.normal);
-
     if (url.hostname.endsWith("youtube.com") || url.hostname.endsWith("youtube-nocookie.com") || invidiousHostNames().includes(url.hostname))
       return `${randomInstance}${url.pathname.replace("/shorts/", "/watch?v=")}${url.search}`;
 
@@ -345,5 +376,11 @@ export default {
   getInvidiousCustomRedirects,
   setInvidiousCustomRedirects,
 
+  getPipedRedirectsChecks,
+  setPipedRedirectsChecks,
+
+  getPipedCustomRedirects,
+  setPipedCustomRedirects,
+
   init,
 };