diff options
Diffstat (limited to 'src/pages')
-rw-r--r-- | src/pages/background/background.js | 22 | ||||
-rw-r--r-- | src/pages/options/widgets/general.js | 41 | ||||
-rw-r--r-- | src/pages/popup/popup.js | 10 |
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() |