diff options
author | ManeraKai <manerakai@protonmail.com> | 2023-01-08 11:05:45 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2023-01-08 11:05:45 +0300 |
commit | 486b92af5faa28f2535b245d2dbfe0a34ea2dd30 (patch) | |
tree | 60448730528babe1d5cb05a075516c7358fd4129 /src/pages/options/index.js | |
parent | Redirect all embeds in tab to same instance https://github.com/libredirect/li... (diff) | |
download | libredirect-486b92af5faa28f2535b245d2dbfe0a34ea2dd30.zip |
Optimized the getList and getBlacklist functions
Diffstat (limited to 'src/pages/options/index.js')
-rw-r--r-- | src/pages/options/index.js | 86 |
1 files changed, 47 insertions, 39 deletions
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 = [ - ` - <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") - } - } - }() - 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 = [ + ` + <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") + } + } +} + + const r = window.location.href.match(/#(.*)/) if (r) loadPage(r[1]) -else loadPage("general") +else loadPage("general") \ No newline at end of file |