about summary refs log tree commit diff stats
path: root/src/assets
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets')
-rw-r--r--src/assets/javascripts/services.js46
1 files changed, 24 insertions, 22 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 9c880432..1781c4e6 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -2,23 +2,25 @@ window.browser = window.browser || window.chrome
 

 import utils from "./utils.js"

 

-let config

+let config = {},

+	redirects = {},

+	options = {}

+let disabled, curNetwork, networkFallback, redirectType

 

-function getConfig() {

-	return new Promise(async resolve => {

-		let data

+async function getConfig() {

+	return new Promise(resolve => {

 		fetch("/config/config.json")

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

 			.then(data => {

-				data = JSON.parse(data)

+				config = JSON.parse(data)

+				resolve()

 			})

-		config = data

-		resolve()

 	})

 }

 

-let redirects = {}

-let disabled, curNetwork, networkFallback, redirectType

+function camelCase(str) {

+	return str.charAt(0).toUpperCase() + str.slice(1)

+}

 

 function init() {

 	return new Promise(async resolve => {

@@ -27,16 +29,16 @@ function init() {
 			networkFallback = r.networkFallback

 		})

 		//cur = current

-		for (service in config.services) {

-			redirects = {}

+		for (const service in config.services) {

+			options[service] = {}

 			browser.storage.local.get([`disable${camelCase(service)}`, `${service}Redirects`, `${service}RedirectType,`, `${service}Frontend`], r => {

-				disabled = r["disable" + camelCase(service)]

-				redirects = r[service + "Redirects"]

-				frontend = r[service + "Frontend"]

+				options[service].disabled = r["disable" + camelCase(service)]

+				options[service].redirects = r[service + "Redirects"]

+				options[service].frontend = r[service + "Frontend"]

 			})

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

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

 				redirects[frontend] = {}

-				for (network in config.networks) {

+				for (const network in config.networks) {

 					browser.storage.local.get([`${frontend}${camelCase(network)}RedirectsChecks`, `${frontend}${camelCase(network)}CustomRedirects`], r => {

 						redirects[frontend][network] = [...r[frontend + camelCase(network) + "RedirectsChecks"], ...r[frontend + camelCase(network) + "CustomRedirects"]]

 					})

@@ -47,7 +49,7 @@ function init() {
 	})

 }

 

-getConfig()

+await getConfig()

 console.log(config)

 init()

 browser.storage.onChanged.addListener(init)

@@ -55,7 +57,7 @@ browser.storage.onChanged.addListener(init)
 function redirect(url, type, initiator) {

 	let randomInstance, frontend

 	if (url.pathname == "/") return

-	for (service in config.services) {

+	for (const service in config.services) {

 		if (disabled && !disableOverride) continue

 		let targets = service.targets

 		if (targets == "datajson") {

@@ -368,18 +370,18 @@ function initDefaults() {
 				let dataJson = JSON.parse(data)

 				redirects = dataJson

 				browser.storage.local.get(["cloudflareBlackList", "authenticateBlackList", "offlineBlackList"], async r => {

-					for (service in config.services) {

-						for (defaultOption in service.defaults) {

+					for (const service in config.services) {

+						for (const defaultOption in service.defaults) {

 							browser.storage.local.set({

 								[defaultOption]: service.defaults[defaultOption],

 							})

 						}

-						for (frontend in service.frontends) {

+						for (const frontend in service.frontends) {

 							for (const instance of [...r.cloudflareBlackList, ...r.authenticateBlackList, ...r.offlineBlackList]) {

 								let i = redirects[frontend]["clearnet"].indexOf(instance)

 								if (i > -1) redirects[frontend]["clearnet"].splice(i, 1)

 							}

-							for (network in config.networks) {

+							for (const network in config.networks) {

 								browser.storage.local.set({

 									[frontend + camelCase(network) + "RedirectsChecks"]: [...redirects[frontend][network]],

 									[frontend + camelCase(network) + "CustomRedirects"]: [],