diff --git a/src/pages/options/index.js b/src/pages/options/index.js
index 2cb28bd8..1256c9b1 100644
--- a/src/pages/options/index.js
+++ b/src/pages/options/index.js
@@ -180,34 +180,37 @@ async function processCustomInstances(frontend, document) {
}
function createList(frontend, networks, document, redirects, blacklist) {
- for (const network in networks) {
- const checklist = document.getElementById(frontend)
- .getElementsByClassName(network)[0]
- .getElementsByClassName("checklist")[0]
+ for (const network in networks) {
+ const checklist = document.getElementById(frontend)
+ .getElementsByClassName(network)[0]
+ .getElementsByClassName("checklist")[0]
- if (!redirects[frontend]) {
- checklist.innerHTML = '
No instances found.
'
- break
- }
- const instances = redirects[frontend][network]
- if (!instances || instances.length === 0) continue
+ if (!redirects[frontend]) {
+ checklist.innerHTML = 'No instances found.
'
+ break
+ }
- document.getElementById(frontend)
- .getElementsByClassName("custom-instance")[0]
- .placeholder = redirects[frontend].clearnet[0]
+ const instances = redirects[frontend][network]
+ if (!instances || instances.length === 0) continue
- const sortedInstances = instances
- .sort((a, b) => (blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b)))
+ document.getElementById(frontend)
+ .getElementsByClassName("custom-instance")[0]
+ .placeholder = redirects[frontend].clearnet[0]
- const content = sortedInstances
- .map(x => {
- const cloudflare = blacklist.cloudflare.includes(x) ?
- `
+ const warnings = [cloudflare].join(" ")
+ return `
${x}${warnings}
@@ -217,32 +220,27 @@ function createList(frontend, networks, document, redirects, blacklist) {
`
- })
+ })
- checklist.innerHTML = [
- `
+ checklist.innerHTML = [
+ `
${utils.camelCase(network)}
`,
- ...content,
- "
"
- ].join("\n
\n")
+ ...content,
+ "
"
+ ].join("\n
\n")
- for (const instance of instances) {
- checklist.getElementsByClassName(`add-${instance}`)[0]
- .addEventListener("click", async () => {
- let options = await utils.getOptions()
- let customInstances = options[frontend]
- if (!customInstances.includes(instance)) {
- customInstances.push(instance)
- options = await utils.getOptions()
- options[frontend] = customInstances
- browser.storage.local.set({options}, () => {
- calcCustomInstances(frontend)
- })
- }
- })
- }
- }
+ for (const instance of instances) {
+ checklist.getElementsByClassName(`add-${instance}`)[0]
+ .addEventListener("click", async () => {
+ let options = await utils.getOptions()
+ if (!options[frontend].includes(instance)) {
+ options[frontend].push(instance)
+ browser.storage.local.set({ options }, () => calcCustomInstances(frontend))
+ }
+ })
+ }
+ }
}
const r = window.location.href.match(/#(.*)/)