about summary refs log tree commit diff stats
path: root/src/pages/options/index.js
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2023-01-18 18:14:00 +0300
committerManeraKai <manerakai@protonmail.com>2023-01-18 18:14:00 +0300
commit26624ea716f96b14b49be3e5ded1279932a3ee6f (patch)
tree534f3fb2d5efbca141a431cadb8606644562cc2d /src/pages/options/index.js
parentFixed /new not redirecting in reddit + removed simpleertube completely (diff)
downloadlibredirect-26624ea716f96b14b49be3e5ded1279932a3ee6f.zip
Modified the settings convertion for the next release
Diffstat (limited to 'src/pages/options/index.js')
-rw-r--r--src/pages/options/index.js65
1 files changed, 35 insertions, 30 deletions
diff --git a/src/pages/options/index.js b/src/pages/options/index.js
index 68f45d6a..81cccb44 100644
--- a/src/pages/options/index.js
+++ b/src/pages/options/index.js
@@ -65,8 +65,10 @@ function loadPage(path) {
 			divs[service][option].addEventListener("change", () => {
 				browser.storage.local.get("options", r => {
 					let options = r.options
-					if (typeof config.services[service].options[option] == "boolean") options[service][option] = divs[service][option].checked
-					else options[service][option] = divs[service][option].value
+					if (typeof config.services[service].options[option] == "boolean")
+						options[service][option] = divs[service][option].checked
+					else
+						options[service][option] = divs[service][option].value
 					browser.storage.local.set({ options })
 					changeFrontendsSettings(service)
 				})
@@ -167,38 +169,41 @@ async function processDefaultCustomInstances(frontend, document) {
 
 function createList(frontend, networks, document, redirects, blacklist) {
 	for (const network in networks) {
-		if (redirects[frontend][network].length > 0) {
-			document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML = [
-				`
-			<div class="some-block option-block">
-				<h4>${utils.camelCase(network)}</h4>
-			</div>
-			`,
-				...redirects[frontend][network]
-					.sort((a, b) =>
-						(blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b))
-						||
-						(blacklist.authenticate.includes(a) && !blacklist.authenticate.includes(b))
-					)
-					.map(x => {
-						const cloudflare = blacklist.cloudflare.includes(x) ? ' <span style="color:red;">cloudflare</span>' : ""
-						const authenticate = blacklist.authenticate.includes(x) ? ' <span style="color:orange;">authenticate</span>' : ""
-
-						let warnings = [cloudflare, authenticate].join(" ")
-						return `
-					<div>
-						<x>
-							<a href="${x}" target="_blank">${x}</a>${warnings}
-						</x>
-					  </div>`
-					}),
-				'<br>'
-			].join("\n<hr>\n")
+		if (redirects[frontend]) {
+			if (redirects[frontend][network].length > 0) {
+				document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML = [
+					`
+				<div class="some-block option-block">
+					<h4>${utils.camelCase(network)}</h4>
+				</div>
+				`,
+					...redirects[frontend][network]
+						.sort((a, b) =>
+							(blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b))
+						)
+						.map(x => {
+							const cloudflare = blacklist.cloudflare.includes(x) ? ' <a target="_blank" href="https://libredirect.github.io/docs.html#instances"><span style="color:red;">cloudflare</span></a>' : ""
+
+							let warnings = [cloudflare].join(" ")
+							return `
+						<div>
+							<x>
+								<a href="${x}" target="_blank">${x}</a>${warnings}
+							</x>
+						  </div>`
+						}),
+					'<br>'
+				].join("\n<hr>\n")
+			}
+		} else {
+			document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML =
+				`<div class="some-block option-block">No instances found...</div>`
+			break
 		}
+
 	}
 }
 
-
 const r = window.location.href.match(/#(.*)/)
 if (r) loadPage(r[1])
 else loadPage("general")
\ No newline at end of file