about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-10-02 18:23:17 +0300
committerManeraKai <manerakai@protonmail.com>2022-10-02 18:23:17 +0300
commit84e863c47752af3249210509246a84d0ddf4884b (patch)
tree4e3a6c4f3248152cdc829c604b109bcd2ea9040c /src
parentSquashed a few bugs (diff)
downloadlibredirect-84e863c47752af3249210509246a84d0ddf4884b.zip
small fix
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/services.js53
-rw-r--r--src/pages/popup/popup.js6
2 files changed, 34 insertions, 25 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index d84db4fe..279c8c21 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -376,32 +376,41 @@ function redirect(url, type, initiator) {
 	}

 }

 

-async function computeService(url, returnFrontend) {

-	fetch("/config/config.json")

-		.then(response => response.text())

-		.then(configData => {

-			const config = JSON.parse(configData)

-			browser.storage.local.get(["redirects", "options"], r => {

-				const redirects = r.redirects

-				const options = r.options

-				for (const service in config.services) {

-					if (regexArray(service, url, config)) {

-						if (returnFrontend) return [service, null]

-						else return service

-					} else {

-						for (const frontend in config.services[service].frontends) {

-							if (all(service, frontend, options, config, redirects).includes(utils.protocolHost(url))) {

-								if (returnFrontend) {

-									return [service, frontend]

-								} else return service

+function computeService(url, returnFrontend) {

+	return new Promise(resolve => {

+		fetch("/config/config.json")

+			.then(response => response.text())

+			.then(configData => {

+				const config = JSON.parse(configData)

+				browser.storage.local.get(["redirects", "options"], r => {

+					const redirects = r.redirects

+					const options = r.options

+					for (const service in config.services) {

+						if (regexArray(service, url, config)) {

+							if (returnFrontend) {

+								resolve([service, null])

+							} else {

+								resolve(service)

+							}

+							return

+						} else {

+							for (const frontend in config.services[service].frontends) {

+								if (all(service, frontend, options, config, redirects).includes(utils.protocolHost(url))) {

+									if (returnFrontend) {

+										resolve([service, frontend])

+									} else {

+										resolve(service)

+									}

+									return

+								}

 							}

 						}

 					}

-				}

-				// if (returnFrontend) return [null, null]

-				// else return null

+					// if (returnFrontend) return [null, null]

+					// else return null

+				})

 			})

-		})

+	})

 }

 

 async function switchInstance(url) {

diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 9899e79e..9231f3f5 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -58,7 +58,7 @@ const currentSiteIsFrontend = document.getElementById("current_site_divider")
 
 browser.storage.local.get("options", r => {
 	browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
-		for (const service in config.services) {
+for (const service in config.services) {
 			if (!r.options.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")
@@ -68,7 +68,7 @@ browser.storage.local.get("options", r => {
 			divs[service].toggle.all.checked = r.options[service].enabled
 			divs[service].toggle.current.checked = r.options[service].enabled
 		}
-
+		
 		let url
 		try {
 			url = new URL(tabs[0].url)
@@ -77,7 +77,7 @@ browser.storage.local.get("options", r => {
 			document.getElementById("unify_div").style.display = "none"
 			return
 		}
-
+		
 		let service = await serviceHelper.computeService(url, true)
 		let frontend
 		if (service) {