about summary refs log tree commit diff stats
path: root/src/pages/options
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
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')
-rw-r--r--src/pages/options/index.js65
-rw-r--r--src/pages/options/new_release.html1
-rw-r--r--src/pages/options/widgets/general.js17
-rw-r--r--src/pages/options/widgets/services.pug7
4 files changed, 48 insertions, 42 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
diff --git a/src/pages/options/new_release.html b/src/pages/options/new_release.html
new file mode 100644
index 00000000..953f61d4
--- /dev/null
+++ b/src/pages/options/new_release.html
@@ -0,0 +1 @@
+Many things happenned in the past months. LibRedirect has gone through some hard decisions; removed Unify Settings, Test Latency, 
\ No newline at end of file
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index 63938d78..f08d8313 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -57,19 +57,16 @@ importSettingsElement.addEventListener("change", () => {
 	reader.readAsText(file)
 	reader.onload = async () => {
 		const data = JSON.parse(reader.result)
-		if ("theme" in data && "disableImgur" in data && "imgurRedirects" in data) {
+		if (
+			"theme" in data
+			&& data.version == browser.runtime.getManifest().version
+		) {
 			browser.storage.local.clear(async () => {
 				await generalHelper.initDefaults()
 				await servicesHelper.initDefaults()
-				await servicesHelper.upgradeOptions()
-				location.reload()
-			})
-		} else if ("version" in data) {
-			let options = data
-			delete options.version
-			browser.storage.local.set({ options: data }, async () => {
-				await servicesHelper.processUpdate()
-				location.reload()
+				browser.storage.local.set({ options: data }, () => {
+					location.reload()
+				})
 			})
 		} else {
 			console.log("incompatible settings")
diff --git a/src/pages/options/widgets/services.pug b/src/pages/options/widgets/services.pug
index 22b8ab2d..5bda5d3f 100644
--- a/src/pages/options/widgets/services.pug
+++ b/src/pages/options/widgets/services.pug
@@ -49,7 +49,10 @@ each val, service in services
                                 svg(xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor")
                                     path(d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z")
 
-                    div(class="checklist custom-checklist")                    
+                    div(class="checklist custom-checklist")  
+
                     each val, network in networks
                         div(class=network)
-                            div(class="checklist")
\ No newline at end of file
+                            div(class="checklist")
+                                if (network == 'clearnet')
+                                    div(class="some-block option-block") Loading...
\ No newline at end of file