aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-10-02 15:10:36 +0100
committerHygna <hygna@proton.me>2022-10-02 15:10:36 +0100
commite8a67e91729e9ade89bb7f6f9e1c8bf2f4d64ea2 (patch)
tree7072e7544cafd55821f8b8685958129705f96ae3 /src/pages
parentUnify Localstorage (diff)
downloadlibredirect-e8a67e91729e9ade89bb7f6f9e1c8bf2f4d64ea2.zip
Squashed a few bugs
Diffstat (limited to '')
-rw-r--r--src/pages/background/background.js47
-rw-r--r--src/pages/options/index.html5
-rw-r--r--src/pages/options/widgets/general.js1
-rw-r--r--src/pages/popup/popup.js43
4 files changed, 57 insertions, 39 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 5e164d58..eba436cb 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -3,11 +3,23 @@
import generalHelper from "../../assets/javascripts/general.js"
import utils from "../../assets/javascripts/utils.js"
import servicesHelper from "../../assets/javascripts/services.js"
-import initHelper from "../../assets/javascripts/init.js"
window.browser = window.browser || window.chrome
-browser.runtime.onInstalled.addListener(async details => {
+function initDefaults() {
+ browser.storage.local.clear(() => {
+ fetch("/instances/blacklist.json")
+ .then(response => response.text())
+ .then(async data => {
+ browser.storage.local.set({ blacklists: JSON.parse(data) }, async () => {
+ await generalHelper.initDefaults()
+ await servicesHelper.initDefaults()
+ })
+ })
+ })
+}
+
+browser.runtime.onInstalled.addListener(details => {
// if (details.reason == 'install' || (details.reason == "update" && details.previousVersion != browser.runtime.getManifest().version)) {
// if (details.reason == "update")
// browser.storage.local.get(null, r => {
@@ -24,27 +36,22 @@ browser.runtime.onInstalled.addListener(async details => {
initDefaults()
break
case "update":
- switch (details.previousVersion) {
- case "2.2.1":
- initDefaults()
- break
- }
+ fetch("/instances/blacklist.json")
+ .then(response => response.text())
+ .then(async data => {
+ browser.storage.local.set({ blacklists: JSON.parse(data) }, async () => {
+ switch (details.previousVersion) {
+ case "2.2.1":
+ await generalHelper.initDefaults()
+ await servicesHelper.initDefaults()
+ await servicesHelper.upgradeOptions()
+ break
+ }
+ })
+ })
}
})
-function initDefaults() {
- browser.storage.local.clear(() => {
- fetch("/instances/blacklist.json")
- .then(response => response.text())
- .then(async data => {
- browser.storage.local.set({ blacklists: JSON.parse(data) }, async () => {
- await generalHelper.initDefaults()
- await initHelper.initDefaults()
- })
- })
- })
-}
-
let BYPASSTABs = []
browser.webRequest.onBeforeRequest.addListener(
details => {
diff --git a/src/pages/options/index.html b/src/pages/options/index.html
index 384b32bd..2549566c 100644
--- a/src/pages/options/index.html
+++ b/src/pages/options/index.html
@@ -150,6 +150,11 @@
</button>
</div>
</form>
+ <div class="buttons buttons-inline"><a class="button button-inline" id="test">
+ <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
+ <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path>
+ </svg>
+ Test Test Yes Yes</a>&nbsp; &nbsp;</div>
<div class="checklist" id="exceptions-custom-checklist"></div>
<div class="buttons buttons-inline"><a class="button button-inline" id="update-instances">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index cd5cfb47..1a2f44c6 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -58,6 +58,7 @@ function exportSettings() {
exportSettings()
document.getElementById("general_page").addEventListener("click", exportSettings)
+document.getElementById("test").addEventListener("click", servicesHelper.upgradeOptions)
let importSettingsElement = document.getElementById("import-settings")
let importSettingsElementText = document.getElementById("import_settings_text")
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 5a5ccb53..9899e79e 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -2,25 +2,11 @@
window.browser = window.browser || window.chrome
import utils from "../../assets/javascripts/utils.js"
-import generalHelper from "../../assets/javascripts/general.js"
+// import generalHelper from "../../assets/javascripts/general.js"
import serviceHelper from "../../assets/javascripts/services.js"
-utils.switchInstance(true).then(r => {
- if (!r) document.getElementById("change_instance_div").style.display = "none"
- else document.getElementById("change_instance").addEventListener("click", () => utils.switchInstance(false))
-})
-
-utils.copyRaw(true).then(r => {
- if (!r) document.getElementById("copy_raw_div").style.display = "none"
- else {
- const copy_raw = document.getElementById("copy_raw")
- copy_raw.addEventListener("click", () => utils.copyRaw(false, copy_raw))
- }
-})
-document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage())
-
-let config
-let divs = {}
+let config,
+ divs = {}
async function getConfig() {
return new Promise(resolve => {
@@ -35,6 +21,20 @@ async function getConfig() {
await getConfig()
+utils.switchInstance(true).then(r => {
+ if (!r) document.getElementById("change_instance_div").style.display = "none"
+ else document.getElementById("change_instance").addEventListener("click", () => utils.switchInstance(false))
+})
+
+utils.copyRaw(true, null, config).then(r => {
+ if (!r) document.getElementById("copy_raw_div").style.display = "none"
+ else {
+ const copy_raw = document.getElementById("copy_raw")
+ copy_raw.addEventListener("click", () => utils.copyRaw(false, copy_raw))
+ }
+})
+document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage())
+
const allSites = document.getElementsByClassName("all_sites")[0]
const currSite = document.getElementsByClassName("current_site")[0]
@@ -78,11 +78,16 @@ browser.storage.local.get("options", r => {
return
}
- const [service, frontend] = serviceHelper.computeService(url, true)
+ let service = await serviceHelper.computeService(url, true)
+ let frontend
if (service) {
+ if (service[1]) {
+ frontend = service[1]
+ service = frontend[0]
+ }
divs[service].current.classList.remove("hide")
divs[service].all.classList.add("hide")
- if (config.services[service].frontends[frontend].preferences) {
+ if (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", () => {