aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-09-25 17:27:43 +0100
committerHygna <hygna@proton.me>2022-09-25 17:27:43 +0100
commit03f242fe11091455b717168a5221c14e84779988 (patch)
tree3683560d9cb574c7e07c700bd29b2646f905f4ba /src/pages
parentFix some error in runtime.onInstalled (diff)
downloadlibredirect-03f242fe11091455b717168a5221c14e84779988.zip
Started work on instance switching
Diffstat (limited to '')
-rw-r--r--src/pages/background/background.js22
-rw-r--r--src/pages/options/widgets/general.js41
-rw-r--r--src/pages/popup/popup.js10
3 files changed, 34 insertions, 39 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 1f5bf24f..7ee1358e 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -2,12 +2,10 @@
import generalHelper from "../../assets/javascripts/general.js"
import utils from "../../assets/javascripts/utils.js"
-
import servicesHelper from "../../assets/javascripts/services.js"
window.browser = window.browser || window.chrome
-
browser.runtime.onInstalled.addListener(details => {
function initDefaults() {
fetch("/instances/blacklist.json")
@@ -53,26 +51,6 @@ browser.webRequest.onBeforeRequest.addListener(
return null
}
- /*
- let newUrl = youtubeMusicHelper.redirect(url, details.type)
- if (!newUrl) newUrl = youtubeHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = twitterHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = instagramHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = mapsHelper.redirect(url, initiator)
- if (!newUrl) newUrl = redditHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = mediumHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = quoraHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = libremdbHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = reutersHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = imgurHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = tiktokHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = sendTargetsHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = peertubeHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = lbryHelper.redirect(url, details.type, initiator)
- if (!newUrl) newUrl = translateHelper.redirect(url)
- if (!newUrl) newUrl = searchHelper.redirect(url)
- if (!newUrl) newUrl = wikipediaHelper.redirect(url)
- */
let newUrl = servicesHelper.redirect(url, details.type, initiator)
if (details.frameAncestors && details.frameAncestors.length > 0 && generalHelper.isException(new URL(details.frameAncestors[0].url))) newUrl = null
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index 9dac9bfd..2249f830 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -15,6 +15,20 @@ updateInstancesElement.addEventListener("click", async () => {
} else updateInstancesElement.innerHTML = "Failed Miserabely"
})
+let config
+
+async function getConfig() {
+ return new Promise(resolve => {
+ fetch("/config/config.json")
+ .then(response => response.text())
+ .then(data => {
+ const tmp = JSON.parse(data)
+ config = tmp.config
+ resolve()
+ })
+ })
+}
+
let exportSettingsElement = document.getElementById("export-settings")
function exportSettings() {
@@ -111,17 +125,20 @@ let nameCustomInstanceInput = document.getElementById("exceptions-custom-instanc
let instanceTypeElement = document.getElementById("exceptions-custom-instance-type")
let instanceType = "url"
-let popupFrontends
-for (const frontend of generalHelper.allPopupFrontends)
- document.getElementById(frontend).addEventListener("change", event => {
- if (event.target.checked && !popupFrontends.includes(frontend)) popupFrontends.push(frontend)
- else if (popupFrontends.includes(frontend)) {
- var index = popupFrontends.indexOf(frontend)
- if (index !== -1) popupFrontends.splice(index, 1)
+let popupServices
+
+await getConfig()
+
+for (const service in config.services) {
+ document.getElementById(service).addEventListener("change", event => {
+ if (event.target.checked && !popupServices.includes(service)) popupServices.push(service)
+ else if (popupServices.includes(service)) {
+ var index = popupServices.indexOf(service)
+ if (index !== -1) popupServices.splice(index, 1)
}
- browser.storage.local.set({ popupFrontends })
+ browser.storage.local.set({ popupServices })
})
-
+}
// const firstPartyIsolate = document.getElementById('firstPartyIsolate');
// firstPartyIsolate.addEventListener("change", () => browser.storage.local.set({ firstPartyIsolate: firstPartyIsolate.checked }))
@@ -214,9 +231,9 @@ browser.storage.local.get(
calcExceptionsCustomInstances()
})
- browser.storage.local.get("popupFrontends", r => {
- popupFrontends = r.popupFrontends
- for (const frontend of generalHelper.allPopupFrontends) document.getElementById(frontend).checked = popupFrontends.includes(frontend)
+ browser.storage.local.get("popupServices", r => {
+ popupServices = r.popupServices
+ for (const service in config.services) document.getElementById(service).checked = popupServices.includes(service)
})
}
)
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index a2e001d3..fce451cb 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -69,12 +69,12 @@ function getEnabled() {
})
}
-browser.storage.local.get("popupFrontends", r => {
+browser.storage.local.get("popupServices", r => {
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")
+ for (const service in config.services) {
+ if (!r.popupServices.includes(service)) allSites.getElementsByClassName(service)[0].classList.add("hide")
+ else allSites.getElementsByClassName(service)[0].classList.remove("hide")
+ currSite.getElementsByClassName(service)[0].classList.add("hide")
}
await getEnabled()