about summary refs log tree commit diff stats
path: root/src/pages/background/background.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-03-15 16:16:17 +0300
committerManeraKai <manerakai@protonmail.com>2022-03-15 16:16:17 +0300
commit3950812dd97213a06e85998e2f14e4b3c64eb369 (patch)
tree5ae2307d2b75d5fe2003917bd01c973a4cf4cecb /src/pages/background/background.js
parentReadded medium custom domin names #94 (diff)
downloadlibredirect-3950812dd97213a06e85998e2f14e4b3c64eb369.zip
Added a shortcut for chaning instance ALT+SHIFT+L #112
Diffstat (limited to 'src/pages/background/background.js')
-rw-r--r--src/pages/background/background.js47
1 files changed, 46 insertions, 1 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 8e935751..6b76177a 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -166,4 +166,49 @@ browser.tabs.onUpdated.addListener(
     if (translateHelper.isTranslateRedirects(url, 'main_frame', 'lingva')) translateHelper.initLingvaLocalStorage(tabId);
     if (instagramHelper.isBibliogram(url)) instagramHelper.initBibliogramCookies(url);
     // if (changeInfo.url && youtubeHelper.isPipedorInvidious(url, 'main_frame', 'pipedMaterial')) youtubeHelper.initPipedMaterialLocalStorage(tabId);
-  });
\ No newline at end of file
+
+    if (changeWholeInstance(url))
+      browser.tabs.executeScript(
+        tabId,
+        {
+          file: "/pages/background/shortcuts.js",
+          runAt: "document_start"
+        }
+      );
+  });
+
+function changeWholeInstance(url) {
+  let newUrl = youtubeHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = twitterHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = instagramHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = redditHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = searchHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = translateHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = mediumHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = sendTargetsHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = peertubeHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = imgurHelper.changeInstance(url);
+
+  if (!newUrl) newUrl = wikipediaHelper.changeInstance(url);
+
+  return newUrl;
+}
+
+browser.runtime.onMessage.addListener(
+  message => {
+    if (message.function === 'changeInstance') {
+      const url = new URL(message.url);
+      let newUrl = changeWholeInstance(url);
+      if (newUrl) browser.tabs.update({ url: newUrl });
+    }
+  }
+)
\ No newline at end of file