about summary refs log tree commit diff stats
path: root/src/pages/options
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/options')
-rw-r--r--src/pages/options/index.html17
-rw-r--r--src/pages/options/widgets/general.js25
2 files changed, 26 insertions, 16 deletions
diff --git a/src/pages/options/index.html b/src/pages/options/index.html
index 2549566c..5421bb81 100644
--- a/src/pages/options/index.html
+++ b/src/pages/options/index.html
@@ -84,7 +84,7 @@
   <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
 </svg>
 
-    <a href="#uploadFiles" data-localise="__MSG_uploadFiles__">Send Files</a></div>
+    <a href="#sendFiles" data-localise="__MSG_sendFiles__">Send Files</a></div>
     <div class="title"><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>
@@ -150,11 +150,6 @@
       </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">
@@ -323,9 +318,9 @@
   <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
 </svg>
 
-    <x data-localise="__MSG_uploadFiles__">Send Files</x>
+    <x data-localise="__MSG_sendFiles__">Send Files</x>
       </div>
-      <input id="uploadFiles" type="checkbox">
+      <input id="sendFiles" type="checkbox">
     </div>
     
 </div>
@@ -3139,14 +3134,14 @@
   </div>
         
 </section>
-<section class="option-block" id="uploadFiles_page">
+<section class="option-block" id="sendFiles_page">
   <div class="some-block option-block">
-    <h1 data-localise="__MSG_uploadFiles__">Send Files</h1>
+    <h1 data-localise="__MSG_sendFiles__">Send Files</h1>
   </div>
   <hr>
   <div class="some-block option-block">
     <h4 data-localise="__MSG_enable__">Enable</h4>
-    <input id="uploadFiles-enabled" type="checkbox">
+    <input id="sendFiles-enabled" type="checkbox">
   </div>
       <hr>
       <div id="send">
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()