about summary refs log tree commit diff stats
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/options/index.html17
-rw-r--r--src/pages/options/widgets/general.js25
-rw-r--r--src/pages/popup/popup.html12
-rw-r--r--src/pages/popup/popup.js6
4 files changed, 35 insertions, 25 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()
diff --git a/src/pages/popup/popup.html b/src/pages/popup/popup.html
index 56e4ca14..b5076635 100644
--- a/src/pages/popup/popup.html
+++ b/src/pages/popup/popup.html
@@ -107,13 +107,13 @@
     <h4 data-localise="__MSG_maps__">Maps</h4></a>
   <input class="maps-enabled" type="checkbox"/>
 </div>
-<div class="uploadFiles some-block"><a class="title" href="https://send.libredirect.invalid">
+<div class="sendFiles some-block"><a class="title" href="https://send.libredirect.invalid">
     <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
   <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>
 
-    <h4 data-localise="__MSG_uploadFiles__">Send Files</h4></a>
-  <input class="uploadFiles-enabled" type="checkbox"/>
+    <h4 data-localise="__MSG_sendFiles__">Send Files</h4></a>
+  <input class="sendFiles-enabled" type="checkbox"/>
 </div>
 
       <div id="current_site_divider">
@@ -220,13 +220,13 @@
     <h4 data-localise="__MSG_maps__">Maps</h4></a>
   <input class="maps-enabled" type="checkbox"/>
 </div>
-<div class="uploadFiles some-block"><a class="title" href="https://send.libredirect.invalid">
+<div class="sendFiles some-block"><a class="title" href="https://send.libredirect.invalid">
     <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
   <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>
 
-    <h4 data-localise="__MSG_uploadFiles__">Send Files</h4></a>
-  <input class="uploadFiles-enabled" type="checkbox"/>
+    <h4 data-localise="__MSG_sendFiles__">Send Files</h4></a>
+  <input class="sendFiles-enabled" type="checkbox"/>
 </div>
 
     </div>
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 05dd70f7..ed1546c7 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -26,7 +26,7 @@ utils.switchInstance(true).then(r => {
 	else document.getElementById("change_instance").addEventListener("click", () => utils.switchInstance(false))
 })
 
-utils.copyRaw(true, null, config).then(r => {
+utils.copyRaw(true).then(r => {
 	if (!r) document.getElementById("copy_raw_div").style.display = "none"
 	else {
 		const copy_raw = document.getElementById("copy_raw")
@@ -81,13 +81,13 @@ browser.storage.local.get("options", r => {
 		let service = await serviceHelper.computeService(url, true)
 		let frontend
 		if (service) {
-			if (service[1]) {
+			if (service[0]) {
 				frontend = service[1]
 				service = service[0]
 			}
 			divs[service].current.classList.remove("hide")
 			divs[service].all.classList.add("hide")
-			if (config.services[service].frontends[frontend].preferences && !config.services[service].frontends[frontend].preferences.token) {
+			if (frontend && 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", () => {