From 6afbe6ac92c835eaeeb28190f07f9fa5092c9672 Mon Sep 17 00:00:00 2001 From: Kyryl <91323838+kirizdev@users.noreply.github.com> Date: Mon, 13 Feb 2023 18:46:42 +0000 Subject: [PATCH 1/3] Refactor createList function --- src/pages/options/index.js | 121 +++++++++++++++++++------------------ 1 file changed, 61 insertions(+), 60 deletions(-) diff --git a/src/pages/options/index.js b/src/pages/options/index.js index f122f3f..3f37d82 100644 --- a/src/pages/options/index.js +++ b/src/pages/options/index.js @@ -181,68 +181,69 @@ async function processCustomInstances(frontend, document) { } function createList(frontend, networks, document, redirects, blacklist) { - for (const network in networks) { - if (redirects[frontend]) { - if (redirects[frontend][network].length > 0) { - document.getElementById(frontend).getElementsByClassName("custom-instance")[0].placeholder = redirects[frontend].clearnet[0] - document.getElementById(frontend) - .getElementsByClassName(network)[0] - .getElementsByClassName("checklist")[0] - .innerHTML = [ - `
-

${utils.camelCase(network)}

-
`, - ...redirects[frontend][network] - .sort((a, b) => - (blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b)) - ) - .map(x => { - const cloudflare = blacklist.cloudflare.includes(x) ? - ` - cloudflare - ` : "" + for (const network in networks) { + const checklist = document.getElementById(frontend) + .getElementsByClassName(network)[0] + .getElementsByClassName("checklist")[0] - const warnings = [cloudflare].join(" ") - return `
- - ${x}${warnings} - - -
` - }), - '
' - ].join("\n
\n") + if (!redirects[frontend]) { + checklist.innerHTML = '
No instances found.
' + break + } + const instances = redirects[frontend][network] + if (!instances || instances.length === 0) continue - for (const x of redirects[frontend][network]) { - document.getElementById(frontend) - .getElementsByClassName(network)[0] - .getElementsByClassName("checklist")[0] - .getElementsByClassName(`add-${x}`)[0] - .addEventListener("click", async () => { - let options = await utils.getOptions() - let customInstances = options[frontend] - if (!customInstances.includes(x)) { - customInstances.push(x) - options = await utils.getOptions() - options[frontend] = customInstances - browser.storage.local.set({ options }, () => { - calcCustomInstances(frontend) - }) - } - }) - } - } - } else { - document.getElementById(frontend).getElementsByClassName(network)[0].getElementsByClassName("checklist")[0].innerHTML = - `
No instances found.
` - break - } + document.getElementById(frontend) + .getElementsByClassName("custom-instance")[0] + .placeholder = redirects[frontend].clearnet[0] - } + const sortedInstances = instances + .sort((a, b) => (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 `
+ + ${x}${warnings} + + +
` + }) + + checklist.innerHTML = [ + `
+

${utils.camelCase(network)}

+
`, + ...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) + }) + } + }) + } + } } const r = window.location.href.match(/#(.*)/) @@ -288,4 +289,4 @@ async function ping(frontend) { span.innerHTML = `${text}` } -} \ No newline at end of file +} From f94d79229f06e1a0befda43f6db7e9b56606fc28 Mon Sep 17 00:00:00 2001 From: Kyryl <91323838+kirizdev@users.noreply.github.com> Date: Mon, 13 Feb 2023 18:54:40 +0000 Subject: [PATCH 2/3] Remove unused import --- src/pages/options/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/options/index.js b/src/pages/options/index.js index 3f37d82..2cb28bd 100644 --- a/src/pages/options/index.js +++ b/src/pages/options/index.js @@ -1,5 +1,4 @@ import utils from "../../assets/javascripts/utils.js" -import localise from "../../assets/javascripts/localise.js" let config, options, From 6df1197bd1489f9934970ce8d5497abfbc3f3baf Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Tue, 14 Feb 2023 20:03:06 +0300 Subject: [PATCH 3/3] small tweak --- src/pages/options/index.js | 84 +++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 43 deletions(-) diff --git a/src/pages/options/index.js b/src/pages/options/index.js index 2cb28bd..1256c9b 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(/#(.*)/)