aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/background/background.js4
-rw-r--r--src/pages/popup/popup.js135
2 files changed, 67 insertions, 72 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index dbc788f2..d5160ff2 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -15,7 +15,9 @@ browser.runtime.onInstalled.addListener(async details => {
}
}
else if (details.reason == "update") {
- await servicesHelper.upgradeOptions()
+ if (details.previousVersion == '2.3.4') {
+ await servicesHelper.upgradeOptions()
+ }
// await servicesHelper.processUpdate()
}
browser.runtime.openOptionsPage()
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 56c0c3cc..560aea9d 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -4,20 +4,18 @@ window.browser = window.browser || window.chrome
import servicesHelper from "../../assets/javascripts/services.js"
import utils from "../../assets/javascripts/utils.js"
-let config,
- divs = {}
-
-config = await utils.getConfig()
-
servicesHelper.switchInstance().then(r => {
- if (!r) document.getElementById("change_instance_div").style.display = "none"
- else document.getElementById("change_instance").addEventListener("click", async () => {
- browser.tabs.update({ url: await servicesHelper.switchInstance() })
- })
+ if (!r)
+ document.getElementById("change_instance_div").style.display = "none"
+ else
+ document.getElementById("change_instance").addEventListener("click", async () => {
+ browser.tabs.update({ url: await servicesHelper.switchInstance() })
+ })
})
servicesHelper.copyRaw(true).then(r => {
- if (!r) document.getElementById("copy_raw_div").style.display = "none"
+ if (!r)
+ document.getElementById("copy_raw_div").style.display = "none"
else {
const copy_raw = document.getElementById("copy_raw")
copy_raw.addEventListener("click", () => servicesHelper.copyRaw(false, copy_raw))
@@ -28,78 +26,73 @@ document.getElementById("more-options").addEventListener("click", () => browser.
const allSites = document.getElementsByClassName("all_sites")[0]
const currSite = document.getElementsByClassName("current_site")[0]
-function setDivs() {
- return new Promise(resolve => {
- for (const service in config.services) {
- divs[service] = {}
- divs[service].toggle = {}
- divs[service].current = currSite.getElementsByClassName(service)[0]
- divs[service].all = allSites.getElementsByClassName(service)[0]
- divs[service].toggle.current = currSite.getElementsByClassName(service + "-enabled")[0]
- divs[service].toggle.all = allSites.getElementsByClassName(service + "-enabled")[0]
- }
- resolve()
- })
-}
+const config = await utils.getConfig()
-await setDivs()
+let divs = {}
+for (const service in config.services) {
+ divs[service] = {}
+ divs[service].toggle = {}
+ divs[service].current = currSite.getElementsByClassName(service)[0]
+ divs[service].all = allSites.getElementsByClassName(service)[0]
+ divs[service].toggle.current = currSite.getElementsByClassName(service + "-enabled")[0]
+ divs[service].toggle.all = allSites.getElementsByClassName(service + "-enabled")[0]
+}
const currentSiteIsFrontend = document.getElementById("current_site_divider")
-browser.storage.local.get(["options"], r => {
- browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
- 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")
- currSite.getElementsByClassName(service)[0].classList.add("hide")
- }
+browser.tabs.query({ active: true, currentWindow: true }, async tabs => {
+ let options = await utils.getOptions()
+ for (const service in config.services) {
+ if (!options.popupServices.includes(service))
+ allSites.getElementsByClassName(service)[0].classList.add("hide")
+ else
+ allSites.getElementsByClassName(service)[0].classList.remove("hide")
+ currSite.getElementsByClassName(service)[0].classList.add("hide")
+ }
- for (const service in config.services) {
- divs[service].toggle.all.checked = r.options[service].enabled
- divs[service].toggle.current.checked = r.options[service].enabled
- }
+ for (const service in config.services) {
+ divs[service].toggle.all.checked = options[service].enabled
+ divs[service].toggle.current.checked = options[service].enabled
+ }
- let url
- try {
- url = new URL(tabs[0].url)
- } catch {
- currentSiteIsFrontend.classList.add("hide")
- return
- }
+ let url
+ try {
+ url = new URL(tabs[0].url)
+ } catch {
+ currentSiteIsFrontend.classList.add("hide")
+ return
+ }
- let service = await servicesHelper.computeService(url, true)
- let frontend
- let instance
- if (service) {
- if (typeof service != "string") {
- instance = service[2]
- frontend = service[1]
- service = service[0]
- let isCustom = false
- for (const network in config.networks) if (r.options[frontend].indexOf(instance) > -1) isCustom = true
- }
- divs[service].current.classList.remove("hide")
- divs[service].all.classList.add("hide")
- } else {
- currentSiteIsFrontend.classList.add("hide")
+ let service = await servicesHelper.computeService(url, true)
+ let frontend
+ let instance
+ if (service) {
+ if (typeof service != "string") {
+ instance = service[2]
+ frontend = service[1]
+ service = service[0]
+ let isCustom = false
+ for (const network in config.networks)
+ if (options[frontend].indexOf(instance) > -1)
+ isCustom = true
}
- })
+ divs[service].current.classList.remove("hide")
+ divs[service].all.classList.add("hide")
+ } else {
+ currentSiteIsFrontend.classList.add("hide")
+ }
})
for (const service in config.services) {
- divs[service].toggle.all.addEventListener("change", () => {
- browser.storage.local.get("options", r => {
- let options = r.options
- options[service].enabled = divs[service].toggle.all.checked
- browser.storage.local.set({ options })
- })
+ divs[service].toggle.all.addEventListener("change", async () => {
+ let options = await utils.getOptions()
+ options[service].enabled = divs[service].toggle.all.checked
+ browser.storage.local.set({ options })
})
- divs[service].toggle.current.addEventListener("change", () => {
- browser.storage.local.get("options", r => {
- let options = r.options
- options[service].enabled = divs[service].toggle.current.checked
- browser.storage.local.set({ options })
- })
+ divs[service].toggle.current.addEventListener("change", async () => {
+ let options = await utils.getOptions()
+ options[service].enabled = divs[service].toggle.current.checked
+ browser.storage.local.set({ options })
})
}
@@ -110,4 +103,4 @@ for (const a of document.getElementsByTagName("a")) {
e.preventDefault()
}
})
-}
+} \ No newline at end of file