From 486b92af5faa28f2535b245d2dbfe0a34ea2dd30 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Sun, 8 Jan 2023 11:05:45 +0300 Subject: Optimized the getList and getBlacklist functions --- src/pages/options/index.js | 86 +++++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 39 deletions(-) (limited to 'src/pages/options') diff --git a/src/pages/options/index.js b/src/pages/options/index.js index 006b5248..68f45d6a 100644 --- a/src/pages/options/index.js +++ b/src/pages/options/index.js @@ -86,13 +86,23 @@ function loadPage(path) { for (const frontend in config.services[service].frontends) { if (config.services[service].frontends[frontend].instanceList) { - processDefaultCustomInstances(frontend, config.networks, document) + processDefaultCustomInstances(frontend, document) } } + + !async function () { + const blacklist = await utils.getBlacklist() + const redirects = await utils.getList() + for (const frontend in config.services[service].frontends) { + if (config.services[service].frontends[frontend].instanceList) { + createList(frontend, config.networks, document, redirects, blacklist) + } + } + }() } } -async function processDefaultCustomInstances(frontend, networks, document) { +async function processDefaultCustomInstances(frontend, document) { let customInstances = [] let options await new Promise(async resolve => @@ -103,42 +113,6 @@ async function processDefaultCustomInstances(frontend, networks, document) { }) ) - !async function () { - const blacklist = utils.getBlacklist() - const redirects = utils.getList() - - for (const network in networks) { - if (redirects[frontend][network].length > 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)) - || - (blacklist.authenticate.includes(a) && !blacklist.authenticate.includes(b)) - ) - .map(x => { - const cloudflare = blacklist.cloudflare.includes(x) ? ' cloudflare' : "" - const authenticate = blacklist.authenticate.includes(x) ? ' authenticate' : "" - - let warnings = [cloudflare, authenticate].join(" ") - return ` -
- - ${x}${warnings} - -
` - }), - '
' - ].join("\n
\n") - } - } - }() - localise.localisePage() function calcCustomInstances() { @@ -191,6 +165,40 @@ async function processDefaultCustomInstances(frontend, networks, 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 = [ + ` +
+

${utils.camelCase(network)}

+
+ `, + ...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) ? ' cloudflare' : "" + const authenticate = blacklist.authenticate.includes(x) ? ' authenticate' : "" + + let warnings = [cloudflare, authenticate].join(" ") + return ` +
+ + ${x}${warnings} + +
` + }), + '
' + ].join("\n
\n") + } + } +} + + const r = window.location.href.match(/#(.*)/) if (r) loadPage(r[1]) -else loadPage("general") +else loadPage("general") \ No newline at end of file -- cgit 1.4.1