aboutsummaryrefslogtreecommitdiffstats
path: root/src/pages/options/widgets
diff options
context:
space:
mode:
authorHygna <hygna@proton.me>2022-10-03 06:44:49 +0100
committerHygna <hygna@proton.me>2022-10-03 06:44:49 +0100
commitc1af086c2756f401d8403b259e29f1354c5e001f (patch)
treed1bc11a485199bc80314ea7719af75dfac0529d6 /src/pages/options/widgets
parentCorrected minor mistake (diff)
downloadlibredirect-c1af086c2756f401d8403b259e29f1354c5e001f.zip
Finished options upgrading
Diffstat (limited to 'src/pages/options/widgets')
-rw-r--r--src/pages/options/widgets/general.js25
1 files changed, 20 insertions, 5 deletions
diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js
index 1a2f44c6..92632f23 100644
--- a/src/pages/options/widgets/general.js
+++ b/src/pages/options/widgets/general.js
@@ -49,16 +49,16 @@ function setOption(option, multiChoice, event) {
let exportSettingsElement = document.getElementById("export-settings")
function exportSettings() {
- browser.storage.local.get(null, result => {
- let resultString = JSON.stringify(result, null, " ")
- exportSettingsElement.href = "data:application/json;base64," + btoa(encodeURI(resultString))
+ browser.storage.local.get("options", result => {
+ result.options.version = browser.runtime.getManifest().version
+ let resultString = JSON.stringify(result.options, null, " ")
+ exportSettingsElement.href = "data:application/json;base64," + btoa(resultString)
exportSettingsElement.download = "libredirect-settings.json"
})
}
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")
@@ -70,7 +70,22 @@ importSettingsElement.addEventListener("change", () => {
reader.onload = async () => {
const data = JSON.parse(reader.result)
if ("theme" in data && "disableImgur" in data && "imgurRedirects" in data) {
- browser.storage.local.clear(() => browser.storage.local.set({ ...data }, () => location.reload()))
+ browser.storage.local.clear(() =>
+ browser.storage.local.set({ ...data }, () => {
+ 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()
+ await servicesHelper.upgradeOptions()
+ location.reload()
+ })
+ })
+ })
+ )
+ } else if ("version" in data) {
+ browser.storage.local.clear(() => browser.storage.local.set({ options: data }, () => location.reload()))
} else {
console.log("incompatible settings")
importError()