about summary refs log tree commit diff stats
path: root/src/pages/popup/popup.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-07-27 17:44:04 +0200
committerManeraKai <manerakai@protonmail.com>2022-07-27 17:44:04 +0200
commita9a7dba5a329eb17e23ba08802406a4e2e2cb836 (patch)
tree2cb69c855b36e82128a00e5895d5f5409d5e0a5e /src/pages/popup/popup.js
parentMerge branch 'BobIsMyManager-librex' (diff)
parent, (diff)
downloadlibredirect-a9a7dba5a329eb17e23ba08802406a4e2e2cb836.zip
Merge pull request 'Squashed a few bugs' (#10) from BobIsMyManager/libredirect:master into master
Reviewed-on: https://codeberg.org/LibRedirect/libredirect/pulls/10
Diffstat (limited to 'src/pages/popup/popup.js')
-rw-r--r--src/pages/popup/popup.js705
1 files changed, 410 insertions, 295 deletions
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 5e7b2336..465080c5 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -1,330 +1,445 @@
-"use strict";
-window.browser = window.browser || window.chrome;
-
-import utils from "../../assets/javascripts/utils.js";
-import generalHelper from "../../assets/javascripts/general.js";
-
-import youtubeHelper from "../../assets/javascripts/youtube/youtube.js";
-import youtubeMusicHelper from "../../assets/javascripts/youtubeMusic.js";
-import twitterHelper from "../../assets/javascripts/twitter.js";
-import instagramHelper from "../../assets/javascripts/instagram.js";
-import redditHelper from "../../assets/javascripts/reddit.js";
-import searchHelper from "../../assets/javascripts/search.js";
-import translateHelper from "../../assets/javascripts/translate/translate.js";
-import mapsHelper from "../../assets/javascripts/maps.js";
-import wikipediaHelper from "../../assets/javascripts/wikipedia.js";
-import mediumHelper from "../../assets/javascripts/medium.js";
-import quoraHelper from "../../assets/javascripts/quora.js";
-import libremdbHelper from "../../assets/javascripts/imdb.js";
-import reutersHelper from "../../assets/javascripts/reuters.js";
-import imgurHelper from "../../assets/javascripts/imgur.js";
-import tiktokHelper from "../../assets/javascripts/tiktok.js";
-import sendTargetsHelper from "../../assets/javascripts/sendTargets.js";
-import peertubeHelper from "../../assets/javascripts/peertube.js";
-import lbryHelper from "../../assets/javascripts/lbry.js";
-
+"use strict"
+window.browser = window.browser || window.chrome
+
+import utils from "../../assets/javascripts/utils.js"
+import generalHelper from "../../assets/javascripts/general.js"
+
+import youtubeHelper from "../../assets/javascripts/youtube/youtube.js"
+import youtubeMusicHelper from "../../assets/javascripts/youtubeMusic.js"
+import twitterHelper from "../../assets/javascripts/twitter.js"
+import instagramHelper from "../../assets/javascripts/instagram.js"
+import redditHelper from "../../assets/javascripts/reddit.js"
+import searchHelper from "../../assets/javascripts/search.js"
+import translateHelper from "../../assets/javascripts/translate/translate.js"
+import mapsHelper from "../../assets/javascripts/maps.js"
+import wikipediaHelper from "../../assets/javascripts/wikipedia.js"
+import mediumHelper from "../../assets/javascripts/medium.js"
+import quoraHelper from "../../assets/javascripts/quora.js"
+import libremdbHelper from "../../assets/javascripts/imdb.js"
+import reutersHelper from "../../assets/javascripts/reuters.js"
+import imgurHelper from "../../assets/javascripts/imgur.js"
+import tiktokHelper from "../../assets/javascripts/tiktok.js"
+import sendTargetsHelper from "../../assets/javascripts/sendTargets.js"
+import peertubeHelper from "../../assets/javascripts/peertube.js"
+import lbryHelper from "../../assets/javascripts/lbry.js"
 
 utils.unify(true).then(r => {
-  if (!r) document.getElementById('unify_div').style.display = 'none';
-  else {
-    const unify = document.getElementById('unify');
-    const textElement = document.getElementById('unify').getElementsByTagName('h4')[0]
-    unify.addEventListener("click", () => {
-      const oldHtml = textElement.innerHTML;
-      textElement.innerHTML = '...';
-      browser.runtime.sendMessage({ function: 'unify' },
-        response => { if (response && response.response) textElement.innerHTML = oldHtml })
-    }
-    );
-  }
+	if (!r) document.getElementById("unify_div").style.display = "none"
+	else {
+		const unify = document.getElementById("unify")
+		const textElement = document.getElementById("unify").getElementsByTagName("h4")[0]
+		unify.addEventListener("click", () => {
+			const oldHtml = textElement.innerHTML
+			textElement.innerHTML = "..."
+			browser.runtime.sendMessage({ function: "unify" }, response => {
+				if (response && response.response) textElement.innerHTML = oldHtml
+			})
+		})
+	}
 })
 
 utils.switchInstance(true).then(r => {
-  if (!r) document.getElementById("change_instance_div").style.display = 'none';
-  else document.getElementById("change_instance").addEventListener("click", () => utils.switchInstance(false));
-});
+	if (!r) document.getElementById("change_instance_div").style.display = "none"
+	else document.getElementById("change_instance").addEventListener("click", () => utils.switchInstance(false))
+})
 
 utils.copyRaw(true).then(r => {
-  if (!r) document.getElementById('copy_raw_div').style.display = 'none';
-  else {
-    const copy_raw = document.getElementById('copy_raw');
-    copy_raw.addEventListener("click", () => utils.copyRaw(false, copy_raw));
-  }
+	if (!r) document.getElementById("copy_raw_div").style.display = "none"
+	else {
+		const copy_raw = document.getElementById("copy_raw")
+		copy_raw.addEventListener("click", () => utils.copyRaw(false, copy_raw))
+	}
 })
-document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage());
+document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage())
+
+const allSites = document.getElementsByClassName("all_sites")[0]
+const currSite = document.getElementsByClassName("current_site")[0]
 
-const allSites = document.getElementsByClassName('all_sites')[0];
-const currSite = document.getElementsByClassName('current_site')[0];
+const disableTwitterCurrentSite = currSite.getElementsByClassName("disable-nitter")[0]
+const disableTwitterAllSites = allSites.getElementsByClassName("disable-nitter")[0]
 
-const disableTwitterCurrentSite = currSite.getElementsByClassName("disable-nitter")[0];
-const disableTwitterAllSites = allSites.getElementsByClassName("disable-nitter")[0];
+const disableYoutubeCurrentSite = currSite.getElementsByClassName("disable-youtube")[0]
+const disableYoutubeAllSites = allSites.getElementsByClassName("disable-youtube")[0]
 
-const disableYoutubeCurrentSite = currSite.getElementsByClassName("disable-youtube")[0];
-const disableYoutubeAllSites = allSites.getElementsByClassName("disable-youtube")[0];
+const disableYoutubeMusicCurrentSite = currSite.getElementsByClassName("disable-youtubeMusic")[0]
+const disableYoutubeMusicAllSites = allSites.getElementsByClassName("disable-youtubeMusic")[0]
 
-const disableYoutubeMusicCurrentSite = currSite.getElementsByClassName("disable-youtubeMusic")[0];
-const disableYoutubeMusicAllSites = allSites.getElementsByClassName("disable-youtubeMusic")[0];
+const disableInstagramCurrentSite = currSite.getElementsByClassName("disable-bibliogram")[0]
+const disableInstagramAllSites = allSites.getElementsByClassName("disable-bibliogram")[0]
 
-const disableInstagramCurrentSite = currSite.getElementsByClassName("disable-bibliogram")[0];
-const disableInstagramAllSites = allSites.getElementsByClassName("disable-bibliogram")[0];
+const disableMapsCurrentSite = currSite.getElementsByClassName("disable-osm")[0]
+const disableMapsAllSites = allSites.getElementsByClassName("disable-osm")[0]
 
-const disableMapsCurrentSite = currSite.getElementsByClassName("disable-osm")[0];
-const disableMapsAllSites = allSites.getElementsByClassName("disable-osm")[0];
+const disableRedditCurrentSite = currSite.getElementsByClassName("disable-reddit")[0]
+const disableRedditAllSites = allSites.getElementsByClassName("disable-reddit")[0]
 
-const disableRedditCurrentSite = currSite.getElementsByClassName("disable-reddit")[0];
-const disableRedditAllSites = allSites.getElementsByClassName("disable-reddit")[0];
+const disableSearchCurrentSite = currSite.getElementsByClassName("disable-search")[0]
+const disableSearchAllSites = allSites.getElementsByClassName("disable-search")[0]
 
-const disableSearchCurrentSite = currSite.getElementsByClassName("disable-search")[0];
-const disableSearchAllSites = allSites.getElementsByClassName("disable-search")[0];
+const disableTranslateCurrentSite = currSite.getElementsByClassName("disable-translate")[0]
+const disableTranslateAllSites = allSites.getElementsByClassName("disable-translate")[0]
 
-const disableTranslateCurrentSite = currSite.getElementsByClassName("disable-translate")[0];
-const disableTranslateAllSites = allSites.getElementsByClassName("disable-translate")[0];
+const disableWikipediaCurrentSite = currSite.getElementsByClassName("disable-wikipedia")[0]
+const disableWikipediaAllSites = allSites.getElementsByClassName("disable-wikipedia")[0]
 
-const disableWikipediaCurrentSite = currSite.getElementsByClassName("disable-wikipedia")[0];
-const disableWikipediaAllSites = allSites.getElementsByClassName("disable-wikipedia")[0];
+const disableMediumCurrentSite = currSite.getElementsByClassName("disable-medium")[0]
+const disableMediumAllSites = allSites.getElementsByClassName("disable-medium")[0]
 
-const disableMediumCurrentSite = currSite.getElementsByClassName("disable-medium")[0];
-const disableMediumAllSites = allSites.getElementsByClassName("disable-medium")[0];
+const disableQuoraCurrentSite = currSite.getElementsByClassName("disable-quora")[0]
+const disableQuoraAllSites = allSites.getElementsByClassName("disable-quora")[0]
 
-const disableQuoraCurrentSite = currSite.getElementsByClassName("disable-quora")[0];
-const disableQuoraAllSites = allSites.getElementsByClassName("disable-quora")[0];
+const disableImdbCurrentSite = currSite.getElementsByClassName("disable-imdb")[0]
+const disableImdbAllSites = allSites.getElementsByClassName("disable-imdb")[0]
 
-const disableImdbCurrentSite = currSite.getElementsByClassName("disable-imdb")[0];
-const disableImdbAllSites = allSites.getElementsByClassName("disable-imdb")[0];
+const disableReutersCurrentSite = currSite.getElementsByClassName("disable-reuters")[0]
+const disableReutersAllSites = allSites.getElementsByClassName("disable-reuters")[0]
 
-const disableReutersCurrentSite = currSite.getElementsByClassName("disable-reuters")[0];
-const disableReutersAllSites = allSites.getElementsByClassName("disable-reuters")[0];
+const disablePeertubeTargetsCurrentSite = currSite.getElementsByClassName("disable-peertube")[0]
+const disablePeertubeTargetsAllSites = allSites.getElementsByClassName("disable-peertube")[0]
 
-const disablePeertubeTargetsCurrentSite = currSite.getElementsByClassName("disable-peertube")[0];
-const disablePeertubeTargetsAllSites = allSites.getElementsByClassName("disable-peertube")[0];
+const disableLbryTargetsCurrentSite = currSite.getElementsByClassName("disable-lbry")[0]
+const disableLbryTargetsAllSites = allSites.getElementsByClassName("disable-lbry")[0]
 
-const disableLbryTargetsCurrentSite = currSite.getElementsByClassName("disable-lbry")[0];
-const disableLbryTargetsAllSites = allSites.getElementsByClassName("disable-lbry")[0];
+const disableSendTargetsCurrentSite = currSite.getElementsByClassName("disable-sendTargets")[0]
+const disableSendTargetsAllSites = allSites.getElementsByClassName("disable-sendTargets")[0]
 
-const disableSendTargetsCurrentSite = currSite.getElementsByClassName("disable-sendTargets")[0];
-const disableSendTargetsAllSites = allSites.getElementsByClassName("disable-sendTargets")[0];
+const disableImgurCurrentSite = currSite.getElementsByClassName("disable-imgur")[0]
+const disableImgurAllSites = allSites.getElementsByClassName("disable-imgur")[0]
 
-const disableImgurCurrentSite = currSite.getElementsByClassName("disable-imgur")[0];
-const disableImgurAllSites = allSites.getElementsByClassName("disable-imgur")[0];
+const disableTiktokCurrentSite = currSite.getElementsByClassName("disable-tiktok")[0]
+const disableTiktokAllSites = allSites.getElementsByClassName("disable-tiktok")[0]
 
-const disableTiktokCurrentSite = currSite.getElementsByClassName("disable-tiktok")[0];
-const disableTiktokAllSites = allSites.getElementsByClassName("disable-tiktok")[0];
+const currentSiteIsFrontend = document.getElementById("current_site_divider")
 
 browser.storage.local.get(
-  [
-    "disableTwitter",
-    "disableYoutube",
-    "disableYoutubeMusic",
-    "disableInstagram",
-    "disableMaps",
-    "disableReddit",
-    "disableSearch",
-    "translateDisable",
-    "disableWikipedia",
-    "disableImgur",
-    "disableTiktok",
-    "disableMedium",
-    "disableQuora",
-    "disableImdb",
-    "disableReuters",
-    "disablePeertubeTargets",
-    "disableLbryTargets",
-    "disableSendTarget",
-    "popupFrontends",
-  ],
-  r => {
-    disableTwitterCurrentSite.checked = !r.disableTwitter; disableTwitterAllSites.checked = !r.disableTwitter;
-    disableYoutubeCurrentSite.checked = !r.disableYoutube; disableYoutubeAllSites.checked = !r.disableYoutube;
-    disableYoutubeMusicCurrentSite.checked = !r.disableYoutubeMusic; disableYoutubeMusicAllSites.checked = !r.disableYoutubeMusic;
-    disableInstagramCurrentSite.checked = !r.disableInstagram; disableInstagramAllSites.checked = !r.disableInstagram;
-    disableMapsCurrentSite.checked = !r.disableMaps; disableMapsAllSites.checked = !r.disableMaps;
-    disableRedditCurrentSite.checked = !r.disableReddit; disableRedditAllSites.checked = !r.disableReddit;
-    disableSearchCurrentSite.checked = !r.disableSearch; disableSearchAllSites.checked = !r.disableSearch;
-    disableTranslateCurrentSite.checked = !r.translateDisable; disableTranslateAllSites.checked = !r.translateDisable;
-    disableWikipediaCurrentSite.checked = !r.disableWikipedia; disableWikipediaAllSites.checked = !r.disableWikipedia;
-    disableImgurCurrentSite.checked = !r.disableImgur; disableImgurAllSites.checked = !r.disableImgur;
-    disableTiktokCurrentSite.checked = !r.disableTiktok; disableTiktokAllSites.checked = !r.disableTiktok;
-    disableMediumCurrentSite.checked = !r.disableMedium; disableMediumAllSites.checked = !r.disableMedium;
-    disableQuoraCurrentSite.checked = !r.disableQuora; disableQuoraAllSites.checked = !r.disableQuora;
-    disableImdbCurrentSite.checked = !r.disableImdb; disableImdbAllSites.checked = !r.disableImdb;
-    disableReutersCurrentSite.checked = !r.disableReuters; disableReutersAllSites.checked = !r.disableReuters;
-    disablePeertubeTargetsCurrentSite.checked = !r.disablePeertubeTargets; disablePeertubeTargetsAllSites.checked = !r.disablePeertubeTargets;
-    disableLbryTargetsCurrentSite.checked = !r.disableLbryTargets; disableLbryTargetsAllSites.checked = !r.disableLbryTargets;
-    disableSendTargetsCurrentSite.checked = !r.disableSendTarget; disableSendTargetsAllSites.checked = !r.disableSendTarget;
-
-    browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
-      for (const frontend of generalHelper.allPopupFrontends) {
-        if (!r.popupFrontends.includes(frontend))
-          allSites.getElementsByClassName(frontend)[0].classList.add("hide")
-        else
-          allSites.getElementsByClassName(frontend)[0].classList.remove("hide")
-        currSite.getElementsByClassName(frontend)[0].classList.add("hide")
-      }
-
-      let url;
-      try { url = new URL(tabs[0].url); }
-      catch { return; }
-
-      if (youtubeHelper.redirect(url, 'main_frame', false, true) || await youtubeHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('youtube')[0].classList.remove("hide");
-        allSites.getElementsByClassName('youtube')[0].classList.add("hide");
-      }
-      else if (twitterHelper.redirect(url, 'main_frame', false, true) || await twitterHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('twitter')[0].classList.remove("hide");
-        allSites.getElementsByClassName('twitter')[0].classList.add("hide");
-      }
-      else if (instagramHelper.redirect(url, 'main_frame', false, true) || await instagramHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('instagram')[0].classList.remove("hide");
-        allSites.getElementsByClassName('instagram')[0].classList.add("hide");
-      }
-      else if (mapsHelper.redirect(url, false)) {
-        currSite.getElementsByClassName('maps')[0].classList.remove("hide");
-        allSites.getElementsByClassName('maps')[0].classList.add("hide");
-      }
-      else if (redditHelper.redirect(url, 'main_frame', false, true) || await redditHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('reddit')[0].classList.remove("hide");
-        allSites.getElementsByClassName('reddit')[0].classList.add("hide");
-      }
-      else if (mediumHelper.redirect(url, 'main_frame', false, true) || await mediumHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('medium')[0].classList.remove("hide");
-        allSites.getElementsByClassName('medium')[0].classList.add("hide");
-      }
-      else if (quoraHelper.redirect(url, 'main_frame', false, true) || await quoraHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('quora')[0].classList.remove("hide");
-        allSites.getElementsByClassName('quora')[0].classList.add("hide");
-      }
-      else if (libremdbHelper.redirect(url, 'main_frame', false, true) || await libremdbHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('imdb')[0].classList.remove("hide");
-        allSites.getElementsByClassName('imdb')[0].classList.add("hide");
-      }
-      else if (reutersHelper.redirect(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('reuters')[0].classList.remove("hide");
-        allSites.getElementsByClassName('reuters')[0].classList.add("hide");
-      }
-      else if (imgurHelper.redirect(url, 'main_frame', false, true) || await imgurHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('imgur')[0].classList.remove("hide");
-        allSites.getElementsByClassName('imgur')[0].classList.add("hide");
-      }
-      else if (tiktokHelper.redirect(url, 'main_frame', false, true) || await tiktokHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('tiktok')[0].classList.remove("hide");
-        allSites.getElementsByClassName('tiktok')[0].classList.add("hide");
-      }
-      else if (sendTargetsHelper.redirect(url, 'main_frame', false, true) || await sendTargetsHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('sendTargets')[0].classList.remove("hide");
-        allSites.getElementsByClassName('sendTargets')[0].classList.add("hide");
-      }
-      else if (peertubeHelper.redirect(url, 'main_frame', false, true) || await peertubeHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('peertube')[0].classList.remove("hide");
-        allSites.getElementsByClassName('peertube')[0].classList.add("hide");
-      }
-      else if (lbryHelper.redirect(url, 'main_frame', false, true) || await lbryHelper.switchInstance(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('lbry')[0].classList.remove("hide");
-        allSites.getElementsByClassName('lbry')[0].classList.add("hide");
-      }
-      else if (translateHelper.redirect(url, true) || await translateHelper.switchInstance(url, true)) {
-        currSite.getElementsByClassName('translate')[0].classList.remove("hide");
-        allSites.getElementsByClassName('translate')[0].classList.add("hide");
-      }
-      else if (searchHelper.redirect(url, true) || await searchHelper.switchInstance(url, true)) {
-        currSite.getElementsByClassName('search')[0].classList.remove("hide");
-        allSites.getElementsByClassName('search')[0].classList.add("hide");
-      }
-      else if (wikipediaHelper.redirect(url, true) || await wikipediaHelper.switchInstance(url, true)) {
-        currSite.getElementsByClassName('wikipedia')[0].classList.remove("hide");
-        allSites.getElementsByClassName('wikipedia')[0].classList.add("hide");
-      }
-      else if (youtubeMusicHelper.redirect(url, 'main_frame', false, true)) {
-        currSite.getElementsByClassName('youtubeMusic')[0].classList.remove("hide");
-        allSites.getElementsByClassName('youtubeMusic')[0].classList.add("hide");
-      }
-    })
-  }
+	[
+		"disableTwitter",
+		"disableYoutube",
+		"disableYoutubeMusic",
+		"disableInstagram",
+		"disableMaps",
+		"disableReddit",
+		"disableSearch",
+		"translateDisable",
+		"disableWikipedia",
+		"disableImgur",
+		"disableTiktok",
+		"disableMedium",
+		"disableQuora",
+		"disableImdb",
+		"disableReuters",
+		"disablePeertubeTargets",
+		"disableLbryTargets",
+		"disableSendTarget",
+		"popupFrontends",
+	],
+	r => {
+		disableTwitterCurrentSite.checked = !r.disableTwitter
+		disableTwitterAllSites.checked = !r.disableTwitter
+		disableYoutubeCurrentSite.checked = !r.disableYoutube
+		disableYoutubeAllSites.checked = !r.disableYoutube
+		disableYoutubeMusicCurrentSite.checked = !r.disableYoutubeMusic
+		disableYoutubeMusicAllSites.checked = !r.disableYoutubeMusic
+		disableInstagramCurrentSite.checked = !r.disableInstagram
+		disableInstagramAllSites.checked = !r.disableInstagram
+		disableMapsCurrentSite.checked = !r.disableMaps
+		disableMapsAllSites.checked = !r.disableMaps
+		disableRedditCurrentSite.checked = !r.disableReddit
+		disableRedditAllSites.checked = !r.disableReddit
+		disableSearchCurrentSite.checked = !r.disableSearch
+		disableSearchAllSites.checked = !r.disableSearch
+		disableTranslateCurrentSite.checked = !r.translateDisable
+		disableTranslateAllSites.checked = !r.translateDisable
+		disableWikipediaCurrentSite.checked = !r.disableWikipedia
+		disableWikipediaAllSites.checked = !r.disableWikipedia
+		disableImgurCurrentSite.checked = !r.disableImgur
+		disableImgurAllSites.checked = !r.disableImgur
+		disableTiktokCurrentSite.checked = !r.disableTiktok
+		disableTiktokAllSites.checked = !r.disableTiktok
+		disableMediumCurrentSite.checked = !r.disableMedium
+		disableMediumAllSites.checked = !r.disableMedium
+		disableQuoraCurrentSite.checked = !r.disableQuora
+		disableQuoraAllSites.checked = !r.disableQuora
+		disableImdbCurrentSite.checked = !r.disableImdb
+		disableImdbAllSites.checked = !r.disableImdb
+		disableReutersCurrentSite.checked = !r.disableReuters
+		disableReutersAllSites.checked = !r.disableReuters
+		disablePeertubeTargetsCurrentSite.checked = !r.disablePeertubeTargets
+		disablePeertubeTargetsAllSites.checked = !r.disablePeertubeTargets
+		disableLbryTargetsCurrentSite.checked = !r.disableLbryTargets
+		disableLbryTargetsAllSites.checked = !r.disableLbryTargets
+		disableSendTargetsCurrentSite.checked = !r.disableSendTarget
+		disableSendTargetsAllSites.checked = !r.disableSendTarget
+
+		browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
+			for (const frontend of generalHelper.allPopupFrontends) {
+				if (!r.popupFrontends.includes(frontend)) allSites.getElementsByClassName(frontend)[0].classList.add("hide")
+				else allSites.getElementsByClassName(frontend)[0].classList.remove("hide")
+				currSite.getElementsByClassName(frontend)[0].classList.add("hide")
+			}
+
+			let url
+			try {
+				url = new URL(tabs[0].url)
+			} catch {
+				currentSiteIsFrontend.classList.add("hide")
+				return
+			}
+
+			if (youtubeMusicHelper.redirect(url, "main_frame", false, true) || (await youtubeMusicHelper.switchInstance(url, true))) {
+				currSite.getElementsByClassName("youtubeMusic")[0].classList.remove("hide")
+				allSites.getElementsByClassName("youtubeMusic")[0].classList.add("hide")
+			} else if (twitterHelper.redirect(url, "main_frame", false, true) || (await twitterHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("twitter")[0].classList.remove("hide")
+				allSites.getElementsByClassName("twitter")[0].classList.add("hide")
+			} else if (instagramHelper.redirect(url, "main_frame", false, true) || (await instagramHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("instagram")[0].classList.remove("hide")
+				allSites.getElementsByClassName("instagram")[0].classList.add("hide")
+			} else if (mapsHelper.redirect(url, false)) {
+				currSite.getElementsByClassName("maps")[0].classList.remove("hide")
+				allSites.getElementsByClassName("maps")[0].classList.add("hide")
+			} else if (redditHelper.redirect(url, "main_frame", false, true) || (await redditHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("reddit")[0].classList.remove("hide")
+				allSites.getElementsByClassName("reddit")[0].classList.add("hide")
+			} else if (mediumHelper.redirect(url, "main_frame", false, true) || (await mediumHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("medium")[0].classList.remove("hide")
+				allSites.getElementsByClassName("medium")[0].classList.add("hide")
+			} else if (quoraHelper.redirect(url, "main_frame", false, true) || (await quoraHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("quora")[0].classList.remove("hide")
+				allSites.getElementsByClassName("quora")[0].classList.add("hide")
+			} else if (libremdbHelper.redirect(url, "main_frame", false, true) || (await libremdbHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("imdb")[0].classList.remove("hide")
+				allSites.getElementsByClassName("imdb")[0].classList.add("hide")
+			} else if (reutersHelper.redirect(url, "main_frame", false, true)) {
+				currSite.getElementsByClassName("reuters")[0].classList.remove("hide")
+				allSites.getElementsByClassName("reuters")[0].classList.add("hide")
+			} else if (imgurHelper.redirect(url, "main_frame", false, true) || (await imgurHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("imgur")[0].classList.remove("hide")
+				allSites.getElementsByClassName("imgur")[0].classList.add("hide")
+			} else if (tiktokHelper.redirect(url, "main_frame", false, true) || (await tiktokHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("tiktok")[0].classList.remove("hide")
+				allSites.getElementsByClassName("tiktok")[0].classList.add("hide")
+			} else if (sendTargetsHelper.redirect(url, "main_frame", false, true) || (await sendTargetsHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("sendTargets")[0].classList.remove("hide")
+				allSites.getElementsByClassName("sendTargets")[0].classList.add("hide")
+			} else if (peertubeHelper.redirect(url, "main_frame", false, true) || (await peertubeHelper.switchInstance(url, true))) {
+				currSite.getElementsByClassName("peertube")[0].classList.remove("hide")
+				allSites.getElementsByClassName("peertube")[0].classList.add("hide")
+			} else if (lbryHelper.redirect(url, "main_frame", false, true) || (await lbryHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("lbry")[0].classList.remove("hide")
+				allSites.getElementsByClassName("lbry")[0].classList.add("hide")
+			} else if (translateHelper.redirect(url, true) || (await translateHelper.switchInstance(url, true))) {
+				currSite.getElementsByClassName("translate")[0].classList.remove("hide")
+				allSites.getElementsByClassName("translate")[0].classList.add("hide")
+			} else if (searchHelper.redirect(url, true) || (await searchHelper.switchInstance(url, true))) {
+				currSite.getElementsByClassName("search")[0].classList.remove("hide")
+				allSites.getElementsByClassName("search")[0].classList.add("hide")
+			} else if (wikipediaHelper.redirect(url, true) || (await wikipediaHelper.switchInstance(url, true))) {
+				currSite.getElementsByClassName("wikipedia")[0].classList.remove("hide")
+				allSites.getElementsByClassName("wikipedia")[0].classList.add("hide")
+			} else if (youtubeHelper.redirect(url, "main_frame", false, true) || (await youtubeHelper.switchInstance(url, "main_frame", false, true))) {
+				currSite.getElementsByClassName("youtube")[0].classList.remove("hide")
+				allSites.getElementsByClassName("youtube")[0].classList.add("hide")
+			} else {
+				currentSiteIsFrontend.classList.add("hide")
+			}
+		})
+	}
 )
 
 document.addEventListener("change", () => {
-  browser.storage.local.get(
-    [
-      "disableTwitter",
-      "disableYoutube",
-      "disableYoutubeMusic",
-      "disableInstagram",
-      "disableMaps",
-      "disableReddit",
-      "disableSearch",
-      "translateDisable",
-      "disableWikipedia",
-      "disableImgur",
-      "disableTiktok",
-      "disableMedium",
-      "disableQuora",
-      "disableImdb",
-      "disableReuters",
-      "disablePeertubeTargets",
-      "disableLbryTargets",
-      "disableSendTarget",
-    ],
-    r => {
-      if (!r.disableTwitter != disableTwitterCurrentSite.checked) browser.storage.local.set({ disableTwitter: !disableTwitterCurrentSite.checked })
-      else if (!r.disableTwitter != disableTwitterAllSites.checked) browser.storage.local.set({ disableTwitter: !disableTwitterAllSites.checked })
-
-      if (!r.disableYoutube != disableYoutubeCurrentSite.checked) browser.storage.local.set({ disableYoutube: !disableYoutubeCurrentSite.checked })
-      else if (!r.disableYoutube != disableYoutubeAllSites.checked) browser.storage.local.set({ disableYoutube: !disableYoutubeAllSites.checked })
-
-      if (!r.disableYoutubeMusic != disableYoutubeMusicCurrentSite.checked) browser.storage.local.set({ disableYoutubeMusic: !disableYoutubeMusicCurrentSite.checked })
-      else if (!r.disableYoutubeMusic != disableYoutubeMusicAllSites.checked) browser.storage.local.set({ disableYoutubeMusic: !disableYoutubeMusicAllSites.checked })
-
-      if (!r.disableInstagram != disableInstagramCurrentSite.checked) browser.storage.local.set({ disableInstagram: !disableInstagramCurrentSite.checked })
-      else if (!r.disableInstagram != disableInstagramAllSites.checked) browser.storage.local.set({ disableInstagram: !disableInstagramAllSites.checked })
-
-      if (!r.disableMaps != disableMapsCurrentSite.checked) browser.storage.local.set({ disableMaps: !disableMapsCurrentSite.checked })
-      else if (!r.disableMaps != disableMapsAllSites.checked) browser.storage.local.set({ disableMaps: !disableMapsAllSites.checked })
-
-      if (!r.disableReddit != disableRedditCurrentSite.checked) browser.storage.local.set({ disableReddit: !disableRedditCurrentSite.checked })
-      else if (!r.disableReddit != disableRedditAllSites.checked) browser.storage.local.set({ disableReddit: !disableRedditAllSites.checked })
-
-      if (!r.disableSearch != disableSearchCurrentSite.checked) browser.storage.local.set({ disableSearch: !disableSearchCurrentSite.checked })
-      else if (!r.disableSearch != disableSearchAllSites.checked) browser.storage.local.set({ disableSearch: !disableSearchAllSites.checked })
-
-      if (!r.translateDisable != disableTranslateCurrentSite.checked) browser.storage.local.set({ translateDisable: !disableTranslateCurrentSite.checked })
-      else if (!r.translateDisable != disableTranslateAllSites.checked) browser.storage.local.set({ translateDisable: !disableTranslateAllSites.checked })
-
-      if (!r.disableWikipedia != disableWikipediaCurrentSite.checked) browser.storage.local.set({ disableWikipedia: !disableWikipediaCurrentSite.checked })
-      else if (!r.disableWikipedia != disableWikipediaAllSites.checked) browser.storage.local.set({ disableWikipedia: !disableWikipediaAllSites.checked })
-
-      if (!r.disableImgur != disableImgurCurrentSite.checked) browser.storage.local.set({ disableImgur: !disableImgurCurrentSite.checked })
-      else if (!r.disableImgur != disableImgurAllSites.checked) browser.storage.local.set({ disableImgur: !disableImgurAllSites.checked })
-
-      if (!r.disableTiktok != disableTiktokCurrentSite.checked) browser.storage.local.set({ disableTiktok: !disableTiktokCurrentSite.checked })
-      else if (!r.disableTiktok != disableTiktokAllSites.checked) browser.storage.local.set({ disableTiktok: !disableTiktokAllSites.checked })
-
-      if (!r.disableMedium != disableMediumCurrentSite.checked) browser.storage.local.set({ disableMedium: !disableMediumCurrentSite.checked })
-      else if (!r.disableMedium != disableMediumAllSites.checked) browser.storage.local.set({ disableMedium: !disableMediumAllSites.checked })
-
-      if (!r.disableQuora != disableQuoraCurrentSite.checked) browser.storage.local.set({ disableQuora: !disableQuoraCurrentSite.checked })
-      else if (!r.disableQuora != disableQuoraAllSites.checked) browser.storage.local.set({ disableQuora: !disableQuoraAllSites.checked })
-
-      if (!r.disableImdb != disableImdbCurrentSite.checked) browser.storage.local.set({ disableImdb: !disableImdbCurrentSite.checked })
-      else if (!r.disableImdb != disableImdbAllSites.checked) browser.storage.local.set({ disableImdb: !disableImdbAllSites.checked })
-
-      if (!r.disableReuters != disableReutersCurrentSite.checked) browser.storage.local.set({ disableReuters: !disableReutersCurrentSite.checked })
-      else if (!r.disableReuters != disableReutersAllSites.checked) browser.storage.local.set({ disableReuters: !disableReutersAllSites.checked })
-
-      if (!r.disablePeertubeTargets != disablePeertubeTargetsCurrentSite.checked) browser.storage.local.set({ disablePeertubeTargets: !disablePeertubeTargetsCurrentSite.checked })
-      else if (!r.disablePeertubeTargets != disablePeertubeTargetsAllSites.checked) browser.storage.local.set({ disablePeertubeTargets: !disablePeertubeTargetsAllSites.checked })
-
-      if (!r.disableLbryTargets != disableLbryTargetsCurrentSite.checked) browser.storage.local.set({ disableLbryTargets: !disableLbryTargetsCurrentSite.checked })
-      else if (!r.disableLbryTargets != disableLbryTargetsAllSites.checked) browser.storage.local.set({ disableLbryTargets: !disableLbryTargetsAllSites.checked })
-
-      if (!r.disableSendTarget != disableSendTargetsCurrentSite.checked) browser.storage.local.set({ disableSendTarget: !disableSendTargetsCurrentSite.checked })
-      else if (!r.disableSendTarget != disableSendTargetsAllSites.checked) browser.storage.local.set({ disableSendTarget: !disableSendTargetsAllSites.checked })
-    })
+	browser.storage.local.get(
+		[
+			"disableTwitter",
+			"disableYoutube",
+			"disableYoutubeMusic",
+			"disableInstagram",
+			"disableMaps",
+			"disableReddit",
+			"disableSearch",
+			"translateDisable",
+			"disableWikipedia",
+			"disableImgur",
+			"disableTiktok",
+			"disableMedium",
+			"disableQuora",
+			"disableImdb",
+			"disableReuters",
+			"disablePeertubeTargets",
+			"disableLbryTargets",
+			"disableSendTarget",
+		],
+		r => {
+			if (!r.disableTwitter != disableTwitterCurrentSite.checked)
+				browser.storage.local.set({
+					disableTwitter: !disableTwitterCurrentSite.checked,
+				})
+			else if (!r.disableTwitter != disableTwitterAllSites.checked)
+				browser.storage.local.set({
+					disableTwitter: !disableTwitterAllSites.checked,
+				})
+
+			if (!r.disableYoutube != disableYoutubeCurrentSite.checked)
+				browser.storage.local.set({
+					disableYoutube: !disableYoutubeCurrentSite.checked,
+				})
+			else if (!r.disableYoutube != disableYoutubeAllSites.checked)
+				browser.storage.local.set({
+					disableYoutube: !disableYoutubeAllSites.checked,
+				})
+
+			if (!r.disableYoutubeMusic != disableYoutubeMusicCurrentSite.checked)
+				browser.storage.local.set({
+					disableYoutubeMusic: !disableYoutubeMusicCurrentSite.checked,
+				})
+			else if (!r.disableYoutubeMusic != disableYoutubeMusicAllSites.checked)
+				browser.storage.local.set({
+					disableYoutubeMusic: !disableYoutubeMusicAllSites.checked,
+				})
+
+			if (!r.disableInstagram != disableInstagramCurrentSite.checked)
+				browser.storage.local.set({
+					disableInstagram: !disableInstagramCurrentSite.checked,
+				})
+			else if (!r.disableInstagram != disableInstagramAllSites.checked)
+				browser.storage.local.set({
+					disableInstagram: !disableInstagramAllSites.checked,
+				})
+
+			if (!r.disableMaps != disableMapsCurrentSite.checked)
+				browser.storage.local.set({
+					disableMaps: !disableMapsCurrentSite.checked,
+				})
+			else if (!r.disableMaps != disableMapsAllSites.checked)
+				browser.storage.local.set({
+					disableMaps: !disableMapsAllSites.checked,
+				})
+
+			if (!r.disableReddit != disableRedditCurrentSite.checked)
+				browser.storage.local.set({
+					disableReddit: !disableRedditCurrentSite.checked,
+				})
+			else if (!r.disableReddit != disableRedditAllSites.checked)
+				browser.storage.local.set({
+					disableReddit: !disableRedditAllSites.checked,
+				})
+
+			if (!r.disableSearch != disableSearchCurrentSite.checked)
+				browser.storage.local.set({
+					disableSearch: !disableSearchCurrentSite.checked,
+				})
+			else if (!r.disableSearch != disableSearchAllSites.checked)
+				browser.storage.local.set({
+					disableSearch: !disableSearchAllSites.checked,
+				})
+
+			if (!r.translateDisable != disableTranslateCurrentSite.checked)
+				browser.storage.local.set({
+					translateDisable: !disableTranslateCurrentSite.checked,
+				})
+			else if (!r.translateDisable != disableTranslateAllSites.checked)
+				browser.storage.local.set({
+					translateDisable: !disableTranslateAllSites.checked,
+				})
+
+			if (!r.disableWikipedia != disableWikipediaCurrentSite.checked)
+				browser.storage.local.set({
+					disableWikipedia: !disableWikipediaCurrentSite.checked,
+				})
+			else if (!r.disableWikipedia != disableWikipediaAllSites.checked)
+				browser.storage.local.set({
+					disableWikipedia: !disableWikipediaAllSites.checked,
+				})
+
+			if (!r.disableImgur != disableImgurCurrentSite.checked)
+				browser.storage.local.set({
+					disableImgur: !disableImgurCurrentSite.checked,
+				})
+			else if (!r.disableImgur != disableImgurAllSites.checked)
+				browser.storage.local.set({
+					disableImgur: !disableImgurAllSites.checked,
+				})
+
+			if (!r.disableTiktok != disableTiktokCurrentSite.checked)
+				browser.storage.local.set({
+					disableTiktok: !disableTiktokCurrentSite.checked,
+				})
+			else if (!r.disableTiktok != disableTiktokAllSites.checked)
+				browser.storage.local.set({
+					disableTiktok: !disableTiktokAllSites.checked,
+				})
+
+			if (!r.disableMedium != disableMediumCurrentSite.checked)
+				browser.storage.local.set({
+					disableMedium: !disableMediumCurrentSite.checked,
+				})
+			else if (!r.disableMedium != disableMediumAllSites.checked)
+				browser.storage.local.set({
+					disableMedium: !disableMediumAllSites.checked,
+				})
+
+			if (!r.disableQuora != disableQuoraCurrentSite.checked)
+				browser.storage.local.set({
+					disableQuora: !disableQuoraCurrentSite.checked,
+				})
+			else if (!r.disableQuora != disableQuoraAllSites.checked)
+				browser.storage.local.set({
+					disableQuora: !disableQuoraAllSites.checked,
+				})
+
+			if (!r.disableImdb != disableImdbCurrentSite.checked)
+				browser.storage.local.set({
+					disableImdb: !disableImdbCurrentSite.checked,
+				})
+			else if (!r.disableImdb != disableImdbAllSites.checked)
+				browser.storage.local.set({
+					disableImdb: !disableImdbAllSites.checked,
+				})
+
+			if (!r.disableReuters != disableReutersCurrentSite.checked)
+				browser.storage.local.set({
+					disableReuters: !disableReutersCurrentSite.checked,
+				})
+			else if (!r.disableReuters != disableReutersAllSites.checked)
+				browser.storage.local.set({
+					disableReuters: !disableReutersAllSites.checked,
+				})
+
+			if (!r.disablePeertubeTargets != disablePeertubeTargetsCurrentSite.checked)
+				browser.storage.local.set({
+					disablePeertubeTargets: !disablePeertubeTargetsCurrentSite.checked,
+				})
+			else if (!r.disablePeertubeTargets != disablePeertubeTargetsAllSites.checked)
+				browser.storage.local.set({
+					disablePeertubeTargets: !disablePeertubeTargetsAllSites.checked,
+				})
+
+			if (!r.disableLbryTargets != disableLbryTargetsCurrentSite.checked)
+				browser.storage.local.set({
+					disableLbryTargets: !disableLbryTargetsCurrentSite.checked,
+				})
+			else if (!r.disableLbryTargets != disableLbryTargetsAllSites.checked)
+				browser.storage.local.set({
+					disableLbryTargets: !disableLbryTargetsAllSites.checked,
+				})
+
+			if (!r.disableSendTarget != disableSendTargetsCurrentSite.checked)
+				browser.storage.local.set({
+					disableSendTarget: !disableSendTargetsCurrentSite.checked,
+				})
+			else if (!r.disableSendTarget != disableSendTargetsAllSites.checked)
+				browser.storage.local.set({
+					disableSendTarget: !disableSendTargetsAllSites.checked,
+				})
+		}
+	)
 })
 
-for (const a of document.getElementsByTagName('a')) {
-  a.addEventListener('click', e => {
-    if (!a.classList.contains('prevent')) {
-      browser.tabs.create({ url: a.getAttribute('href') });
-      e.preventDefault();
-    }
-  })
+for (const a of document.getElementsByTagName("a")) {
+	a.addEventListener("click", e => {
+		if (!a.classList.contains("prevent")) {
+			browser.tabs.create({ url: a.getAttribute("href") })
+			e.preventDefault()
+		}
+	})
 }