diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-05-19 11:03:22 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-05-19 11:03:22 +0300 |
commit | 5aa8f7a56a4b7a2bb988dcf681ca58f9c2d48357 (patch) | |
tree | fa8e740e6d0c3dfd1a1c1ada8f304e08d046bc09 | |
parent | Fixed redirections not appearing in Brave #253 (diff) | |
download | libredirect-5aa8f7a56a4b7a2bb988dcf681ca58f9c2d48357.zip |
Fixed Import Tool not working #242
-rw-r--r-- | src/assets/javascripts/helpers/common.js | 2 | ||||
-rw-r--r-- | src/pages/options/general/general.html | 2 | ||||
-rw-r--r-- | src/pages/options/general/general.js | 24 | ||||
-rw-r--r-- | src/pages/options/general/general.pug | 2 |
4 files changed, 24 insertions, 6 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js index 5ab3d2bf..5adee5c8 100644 --- a/src/assets/javascripts/helpers/common.js +++ b/src/assets/javascripts/helpers/common.js @@ -48,7 +48,7 @@ async function updateInstances() { await wholeInit(); const instances = JSON.parse(http.responseText); - brwoser.storage.local.get( + browser.storage.local.get( [ 'youtubeRedirects' ], diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html index 51011816..cb0c11ff 100644 --- a/src/pages/options/general/general.html +++ b/src/pages/options/general/general.html @@ -91,7 +91,7 @@ <path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path> </svg> <x data-localise="__MSG_updateInstances__">Update Instances</x></a> - <label class="button button-inline" for="import-settings"> + <label class="button button-inline" id="import_settings_text" for="import-settings"> <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> diff --git a/src/pages/options/general/general.js b/src/pages/options/general/general.js index 89302d5c..bcf7a521 100644 --- a/src/pages/options/general/general.js +++ b/src/pages/options/general/general.js @@ -37,16 +37,34 @@ exportSettings(); browser.storage.onChanged.addListener(exportSettings); let importSettingsElement = document.getElementById("import-settings"); +let importSettingsElementText = document.getElementById('import_settings_text'); importSettingsElement.addEventListener("change", () => { let file = importSettingsElement.files[0]; const reader = new FileReader(); reader.readAsText(file); - reader.onload = () => browser.storage.local.set({ ...JSON.parse(reader.result) }) - reader.onerror = error => reject(error); - location.reload(); + reader.onload = async () => { + const data = JSON.parse(reader.result) + if ( + "theme" in data && + "disableImgur" in data && + "cloudflareList" in data && + "imgurRedirects" in data + ) { + console.log('importing a valid file...'); + await browser.storage.local.set({ ...data }) + location.reload(); + } else + importError() + } + reader.onerror = error => importError(); } ); +function importError() { + const oldHTML = importSettingsElementText.innerHTML; + importSettingsElementText.innerHTML = '<span style="color:red;">Error!</span>'; + setTimeout(() => importSettingsElementText.innerHTML = oldHTML, 1000); +} let resetSettingsElement = document.getElementById("reset-settings"); resetSettingsElement.addEventListener("click", diff --git a/src/pages/options/general/general.pug b/src/pages/options/general/general.pug index 13e18be6..6a3b1370 100644 --- a/src/pages/options/general/general.pug +++ b/src/pages/options/general/general.pug @@ -44,7 +44,7 @@ body.option(dir="auto") | - label.button.button-inline(for="import-settings") + label#import_settings_text.button.button-inline(for="import-settings") 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") | |