aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-12-07 10:51:43 +0300
committerManeraKai <manerakai@protonmail.com>2022-12-07 10:51:43 +0300
commitf454ced9490309f37199c2a47dcd8cbc7e976798 (patch)
tree894c1b18a7a30ed1406257830f768a1917ef126b /src/pages
parentFixed Bypass not working https://github.com/libredirect/libredirect/issues/475 (diff)
downloadlibredirect-f454ced9490309f37199c2a47dcd8cbc7e976798.zip
Removed LatencyTest, AutoRedirect, Unify, DisableInstance
Diffstat (limited to '')
-rw-r--r--src/pages/background/background.js55
-rw-r--r--src/pages/errors/instance_offline.html39
-rw-r--r--src/pages/errors/instance_offline.js20
-rw-r--r--src/pages/options/widgets/general.ejs31
-rw-r--r--src/pages/options/widgets/general.js36
-rw-r--r--src/pages/options/widgets/services.ejs10
-rw-r--r--src/pages/options/widgets/services.js1
-rw-r--r--src/pages/popup/popup.ejs102
-rw-r--r--src/pages/popup/popup.js43
9 files changed, 51 insertions, 286 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 3a695048..2db6dc0d 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -89,47 +89,9 @@ browser.tabs.onRemoved.addListener(tabId => {
}
})
-async function redirectOfflineInstance(url, tabId) {
- let newUrl = await servicesHelper.switchInstance(url, true)
-
- if (newUrl) {
- if (counter >= 5) {
- browser.tabs.update(tabId, {
- url: `/pages/errors/instance_offline.html?url=${encodeURIComponent(newUrl)}`,
- })
- counter = 0
- } else {
- browser.tabs.update(tabId, { url: newUrl })
- counter++
- }
- }
-}
-let counter = 0
-
-function isAutoRedirect() {
- return new Promise(resolve => browser.storage.local.get("options", r => resolve(r.options.autoRedirect == true)))
-}
-
-browser.webRequest.onResponseStarted.addListener(
- async details => {
- if (!(await isAutoRedirect())) return null
- if (details.type == "main_frame" && details.statusCode >= 500) redirectOfflineInstance(new URL(details.url), details.tabId)
- },
- { urls: ["<all_urls>"] }
-)
-
-browser.webRequest.onErrorOccurred.addListener(
- async details => {
- if (!(await isAutoRedirect())) return
- if (details.type == "main_frame") redirectOfflineInstance(new URL(details.url), details.tabId)
- },
- { urls: ["<all_urls>"] }
-)
-
browser.commands.onCommand.addListener(command => {
if (command === "switchInstance") utils.switchInstance()
else if (command == "copyRaw") utils.copyRaw()
- else if (command == "unify") utils.unify()
})
browser.contextMenus.create({
@@ -150,12 +112,6 @@ browser.contextMenus.create({
contexts: ["browser_action"],
})
-browser.contextMenus.create({
- id: "unify",
- title: browser.i18n.getMessage("unifySettings"),
- contexts: ["browser_action"],
-})
-
try {
browser.contextMenus.create({
id: "toggleTab",
@@ -207,10 +163,6 @@ browser.contextMenus.onClicked.addListener((info, tab) => {
utils.copyRaw()
resolve()
return
- case "unify":
- utils.unify()
- resolve()
- return
case "toggleTab":
if (tabIdRedirects[tab.id] != undefined) {
tabIdRedirects[tab.id] = !tabIdRedirects[tab.id]
@@ -253,9 +205,4 @@ browser.webRequest.onHeadersReceived.addListener(
},
{ urls: ["<all_urls>"] },
["blocking", "responseHeaders"]
-)
-
-browser.runtime.onMessage.addListener((message, sender, sendResponse) => {
- if (message.function === "unify") utils.unify(false).then(r => sendResponse({ response: r }))
- return true
-})
+) \ No newline at end of file
diff --git a/src/pages/errors/instance_offline.html b/src/pages/errors/instance_offline.html
deleted file mode 100644
index a74caec2..00000000
--- a/src/pages/errors/instance_offline.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta http-equiv="X-UA-Compatible" content="IE=edge" />
- <meta name="viewport" content="width=device-width, initial-scale=1" />
- <title data-localise="__MSG_instanceIsOff__">Instance is offline</title>
- <link href="../stylesheets/styles.css" rel="stylesheet" />
- <style>
- body {
- margin: 0;
- padding: 0;
- height: 100vh;
- width: 100vw;
- flex-wrap: wrap;
- justify-content: center;
- align-items: center;
- font-size: 30px;
- display: flex;
- }
-
- div {
- text-align: center;
- }
- </style>
- </head>
-
- <body>
- <div>
- <p id="message">
- <span data-localise="__MSG_instanceOffline__">This instance is offline, you'll be redirected after</span>
- <span id="number">2</span> <x data-localise="__MSG_sec__">seconds</x>
- </p>
- <button id="cancel" data-localise="__MSG_cancel__">Cancel</button>
- </div>
-
- <script src="instance_offline.js" type="module"></script>
- </body>
-</html>
diff --git a/src/pages/errors/instance_offline.js b/src/pages/errors/instance_offline.js
deleted file mode 100644
index fadb7681..00000000
--- a/src/pages/errors/instance_offline.js
+++ /dev/null
@@ -1,20 +0,0 @@
-import localise from "../../assets/javascripts/localise.js"
-
-const params = new Proxy(new URLSearchParams(window.location.search), {
- get: (searchParams, prop) => searchParams.get(prop),
-})
-
-let number = document.getElementById("number")
-setTimeout(() => (number.innerHTML = "1"), 1000)
-setTimeout(() => {
- number.innerHTML = "0"
- if (!isCanceled) window.location = params.url
-}, 2000)
-
-let isCanceled = false
-document.getElementById("cancel").addEventListener("click", () => {
- isCanceled = true
- document.getElementById("message").innerHTML = browser.i18n.getMessage("redirectionCanceled")
-})
-
-localise.localisePage()
diff --git a/src/pages/options/widgets/general.ejs b/src/pages/options/widgets/general.ejs
index fef052df..6bb15bca 100644
--- a/src/pages/options/widgets/general.ejs
+++ b/src/pages/options/widgets/general.ejs
@@ -14,37 +14,6 @@
</div>
<div class="some-block option-block">
- <h4 data-localise="__MSG_network__">Network</h4>
- <select id="network">
- <% for (const network in config.networks) { -%>
- <option value="<%= network %>"><%= config.networks[network].name %></option>
- <% }; %>
- </select>
- </div>
-
- <div id="network-fallback">
- <div class="some-block option-block">
- <h4 data-localise="__MSG_networkFallback__">Fallback to clearnet if no instances are available for the current network</h4>
- <input id="network-fallback-checkbox" type="checkbox" />
- </div>
- </div>
-
- <div class="some-block option-block">
- <h4 data-localise="__MSG_autoRedirect__"></h4>
- <input id="auto-redirect" type="checkbox" />
- </div>
-
- <form>
- <div class="some-block option-block">
- <h4 data-localise="__MSG_latencyThreshold">Latency Threshold</h4>
- <output id="latency-output" for="latencyInput" name="latencyOutput"></output>
- <input id="latency-input" type="range" min="50" max="5000" value="1000" name="latencyInput" step="50" />
- </div>
- </form>
-
- <hr>
-
- <div class="some-block option-block">
<h4 data-localise="__MSG_exclude_from_redirecting_">Excluded from redirecting</h4>
</div>
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index d55f8f0d..a8eb11fb 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -121,37 +121,12 @@ resetSettings.addEventListener("click", async () => {
})
})
-let autoRedirectElement = document.getElementById("auto-redirect")
-autoRedirectElement.addEventListener("change", event => {
- setOption("autoRedirect", "checkbox", event)
-})
-
let themeElement = document.getElementById("theme")
themeElement.addEventListener("change", event => {
setOption("theme", "select", event)
location.reload()
})
-let networkElement = document.getElementById("network")
-networkElement.addEventListener("change", event => {
- setOption("network", "select", event)
- location.reload()
-})
-
-let networkFallbackCheckbox = document.getElementById("network-fallback-checkbox")
-networkFallbackCheckbox.addEventListener("change", event => {
- setOption("networkFallback", "checkbox", event)
-})
-
-let latencyOutput = document.getElementById("latency-output")
-let latencyInput = document.getElementById("latency-input")
-latencyInput.addEventListener("change", event => {
- setOption("latencyThreshold", "range", event)
-})
-latencyInput.addEventListener("input", event => {
- latencyOutput.value = event.target.value
-})
-
let nameCustomInstanceInput = document.getElementById("exceptions-custom-instance")
let instanceTypeElement = document.getElementById("exceptions-custom-instance-type")
let instanceType = "url"
@@ -173,20 +148,9 @@ for (const service in config.services) {
}
browser.storage.local.get("options", r => {
- autoRedirectElement.checked = r.options.autoRedirect
themeElement.value = r.options.theme
- networkElement.value = r.options.network
- networkFallbackCheckbox.checked = r.options.networkFallback
- latencyOutput.value = r.options.latencyThreshold
let options = r.options
- //let networkFallbackElement = document.getElementById("network-fallback")
- if (networkElement.value == "clearnet") {
- networkFallbackCheckbox.disabled = true
- } else {
- networkFallbackCheckbox.disabled = false
- }
-
instanceTypeElement.addEventListener("change", event => {
instanceType = event.target.options[instanceTypeElement.selectedIndex].value
if (instanceType == "url") {
diff --git a/src/pages/options/widgets/services.ejs b/src/pages/options/widgets/services.ejs
index 109f6689..ea93b1ce 100644
--- a/src/pages/options/widgets/services.ejs
+++ b/src/pages/options/widgets/services.ejs
@@ -44,16 +44,6 @@
<% for (const frontend in config.services[service].frontends) { -%> <% if (config.services[service].frontends[frontend].instanceList) { _%>
<div id="<%= frontend %>">
<% for (const network in config.networks) { -%>
- <div class="buttons buttons-inline">
- <label class="button button-inline" id="latency-<%= frontend %>-label" for="latency-<%= frontend %>">
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
- <path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
- </svg>
- &nbsp;
- <x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
- </label>
- <input class="button button-inline" id="latency-<%= frontend %>" style="display: none" />
- </div>
<div class="<%= network %>">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
diff --git a/src/pages/options/widgets/services.js b/src/pages/options/widgets/services.js
index 12904130..351d45e5 100644
--- a/src/pages/options/widgets/services.js
+++ b/src/pages/options/widgets/services.js
@@ -108,7 +108,6 @@ for (const service in config.services) {
for (const network in config.networks) {
utils.processDefaultCustomInstances(service, frontend, network, document)
}
- utils.latency(service, frontend, document, location)
}
}
}
diff --git a/src/pages/popup/popup.ejs b/src/pages/popup/popup.ejs
index e6cc6fca..72c96d60 100644
--- a/src/pages/popup/popup.ejs
+++ b/src/pages/popup/popup.ejs
@@ -1,55 +1,53 @@
<!DOCTYPE html>
<html lang="en">
- <head>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <link href="../stylesheets/styles.css" rel="stylesheet">
- <link href="./style.css" rel="stylesheet">
- </head>
- <body dir="auto">
- <div class="current_site">
- <div class="some-block" id="instance-div"><a class="title prevent">
- <%- include('src/assets/images/instance-icon.svg', {services: services}) -%>
- <h4 id="instance"></h4>
- </a>
- <span id="end"><input type="checkbox" id="instance-enabled"/></span>
- </div>
- <%- include('src/pages/widgets/switches', {services: services}) -%>
- <div id="current_site_divider">
- <hr>
- </div>
+
+<head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1">
+ <link href="../stylesheets/styles.css" rel="stylesheet">
+ <link href="./style.css" rel="stylesheet">
+</head>
+
+<body dir="auto">
+ <div class="current_site">
+ <%- include('src/pages/widgets/switches', {services: services}) -%>
+ <div id="current_site_divider">
+ <hr>
</div>
- <div class="all_sites">
- <%- include('src/pages/widgets/switches', {services: services}) -%>
- </div>
- <hr>
- <div class="some-block" id="change_instance_div"><a class="title button prevent" id="change_instance">
- <h4 data-localise="__MSG_switchInstance__">Change Instance</h4>
- <svg xmlns="http://www.w3.org/2000/svg" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
- <path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"></path>
- </svg></a></div>
- <div class="some-block" id="copy_raw_div" title="Copy the original redirected link"> <a class="title button prevent" id="copy_raw">
- <h4 data-localise="__MSG_copyRaw__">Copy Raw</h4>
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
- <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path>
- </svg></a></div>
- <div class="some-block" id="unify_div" title="Unify preferences across all selected instances"><a class="title button prevent" id="unify">
- <h4 data-localise="__MSG_unifySettings__">Unify Settings</h4>
- <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
- <path d="M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1zM8 13h8v-2H8v2zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5z"></path>
- </svg></a></div>
- <div class="some-block"><a class="title button prevent" id="more-options">
- <h4 data-localise="__MSG_settings__">Settings</h4>
- <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
- <path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
- </svg></a></div>
- <div class="some-block"><a class="title button" id="about" href="/pages/options/index.html#about">
- <h4 data-localise="__MSG_about__">About</h4>
- <svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" fill="currentColor">
- <path d="M11 17h2v-6h-2Zm1-8q.425 0 .713-.288Q13 8.425 13 8t-.287-.713Q12.425 7 12 7t-.712.287Q11 7.575 11 8t.288.712Q11.575 9 12 9Zm0 13q-2.075 0-3.9-.788-1.825-.787-3.175-2.137-1.35-1.35-2.137-3.175Q2 14.075 2 12t.788-3.9q.787-1.825 2.137-3.175 1.35-1.35 3.175-2.138Q9.925 2 12 2t3.9.787q1.825.788 3.175 2.138 1.35 1.35 2.137 3.175Q22 9.925 22 12t-.788 3.9q-.787 1.825-2.137 3.175-1.35 1.35-3.175 2.137Q14.075 22 12 22Zm0-2q3.35 0 5.675-2.325Q20 15.35 20 12q0-3.35-2.325-5.675Q15.35 4 12 4 8.65 4 6.325 6.325 4 8.65 4 12q0 3a.35 2.325 5.675Q8.65 20 12 20Zm0-8Z"></path>
- </svg></a></div>
- <div class="space"></div>
- <script type="module" src="../options/init.js"></script>
- <script type="module" src="./popup.js"></script>
- </body>
-</html>
+ </div>
+ <div class="all_sites">
+ <%- include('src/pages/widgets/switches', {services: services}) -%>
+ </div>
+ <hr>
+ <div class="some-block" id="change_instance_div">
+ <a class="title button prevent" id="change_instance">
+ <h4 data-localise="__MSG_switchInstance__">Change Instance</h4>
+ <svg xmlns="http://www.w3.org/2000/svg" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
+ <path d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z"></path>
+ </svg>
+ </a>
+ </div>
+ <div class="some-block" id="copy_raw_div" title="Copy the original redirected link"> <a class="title button prevent" id="copy_raw">
+ <h4 data-localise="__MSG_copyRaw__">Copy Raw</h4>
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
+ <path d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"></path>
+ </svg>
+ </a></div>
+ <div class="some-block"><a class="title button prevent" id="more-options">
+ <h4 data-localise="__MSG_settings__">Settings</h4>
+ <svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
+ <path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
+ </svg>
+ </a></div>
+ <div class="some-block"><a class="title button" id="about" href="/pages/options/index.html#about">
+ <h4 data-localise="__MSG_about__">About</h4>
+ <svg xmlns="http://www.w3.org/2000/svg" height="24" width="24" fill="currentColor">
+ <path d="M11 17h2v-6h-2Zm1-8q.425 0 .713-.288Q13 8.425 13 8t-.287-.713Q12.425 7 12 7t-.712.287Q11 7.575 11 8t.288.712Q11.575 9 12 9Zm0 13q-2.075 0-3.9-.788-1.825-.787-3.175-2.137-1.35-1.35-2.137-3.175Q2 14.075 2 12t.788-3.9q.787-1.825 2.137-3.175 1.35-1.35 3.175-2.138Q9.925 2 12 2t3.9.787q1.825.788 3.175 2.138 1.35 1.35 2.137 3.175Q22 9.925 22 12t-.788 3.9q-.787 1.825-2.137 3.175-1.35 1.35-3.175 2.137Q14.075 22 12 22Zm0-2q3.35 0 5.675-2.325Q20 15.35 20 12q0-3.35-2.325-5.675Q15.35 4 12 4 8.65 4 6.325 6.325 4 8.65 4 12q0 3a.35 2.325 5.675Q8.65 20 12 20Zm0-8Z"></path>
+ </svg>
+ </a></div>
+ <div class="space"></div>
+ <script type="module" src="../options/init.js"></script>
+ <script type="module" src="./popup.js"></script>
+</body>
+
+</html> \ No newline at end of file
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 88c1433b..1ac804d0 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -39,7 +39,6 @@ const currSite = document.getElementsByClassName("current_site")[0]
function setDivs() {
return new Promise(resolve => {
- divs.instance = document.getElementById("instance")
for (const service in config.services) {
divs[service] = {}
divs[service].toggle = {}
@@ -58,7 +57,6 @@ const currentSiteIsFrontend = document.getElementById("current_site_divider")
browser.storage.local.get(["options", "redirects"], r => {
browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
- document.getElementById("instance-div").classList.add("hide")
for (const service in config.services) {
if (!r.options.popupServices.includes(service)) allSites.getElementsByClassName(service)[0].classList.add("hide")
else allSites.getElementsByClassName(service)[0].classList.remove("hide")
@@ -75,7 +73,6 @@ browser.storage.local.get(["options", "redirects"], r => {
url = new URL(tabs[0].url)
} catch {
currentSiteIsFrontend.classList.add("hide")
- document.getElementById("unify_div").style.display = "none"
return
}
@@ -89,51 +86,11 @@ browser.storage.local.get(["options", "redirects"], r => {
service = service[0]
let isCustom = false
for (const network in config.networks) if (r.options[frontend][network].custom.indexOf(instance) > -1) isCustom = true
- if (!isCustom) {
- divs.instance.innerHTML = instance.replace(/https?:\/{2}/, "")
- let tmp
- let instanceNetwork
- for (const network in config.networks) {
- tmp = r.redirects[frontend][network].indexOf(instance)
- if (tmp > -1) {
- const instanceDiv = document.getElementById("instance-enabled")
- tmp = r.options[frontend][network].enabled.indexOf(instance)
- if (tmp > -1) instanceDiv.checked = true
- else instanceDiv.checked = false
- instanceNetwork = network
- instanceDiv.addEventListener("change", () => {
- browser.storage.local.get("options", r => {
- // Although options would be available in this context, it is fetched again to make sure it is up to date
- let options = r.options
- if (instanceDiv.checked) options[frontend][instanceNetwork].enabled.push(instance)
- else options[frontend][instanceNetwork].enabled.splice(options[frontend][instanceNetwork].enabled.indexOf(instance), 1)
- browser.storage.local.set({ options })
- })
- })
- break
- }
- }
- document.getElementById("instance-div").classList.remove("hide")
- }
}
divs[service].current.classList.remove("hide")
divs[service].all.classList.add("hide")
- if (frontend && config.services[service].frontends[frontend].preferences && !config.services[service].frontends[frontend].preferences.token) {
- const unify = document.getElementById("unify")
- const textElement = document.getElementById("unify").getElementsByTagName("h4")[0]
- unify.addEventListener("click", () => {
- const oldHtml = textElement.innerHTML
- textElement.innerHTML = "..."
- browser.runtime.sendMessage({ function: "unify" }, response => {
- if (response && response.response) textElement.innerHTML = oldHtml
- })
- })
- } else {
- document.getElementById("unify_div").style.display = "none"
- }
} else {
currentSiteIsFrontend.classList.add("hide")
- document.getElementById("unify_div").style.display = "none"
}
})
})