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 sortedInstances = instances + .sort((a, b) => { + return (blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b)) + }) + + const content = sortedInstances + .map(x => { + const cloudflare = blacklist.cloudflare.includes(x) ? + ` cloudflare ` : "" - const warnings = [cloudflare].join(" ") - return `
+ 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(/#(.*)/)