about summary refs log tree commit diff stats
path: root/src/pages/options/general
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-03-03 00:46:29 +0300
committerManeraKai <manerakai@protonmail.com>2022-03-03 00:46:29 +0300
commit01020800a2051fc9cbcc94b42b03ee0660229ed0 (patch)
treebe60b7f3089d975c38a34ff666c3fca53fc1e18b /src/pages/options/general
parentMerge branch 'master' of https://github.com/libredirect/libredirect (diff)
downloadlibredirect-01020800a2051fc9cbcc94b42b03ee0660229ed0.zip
Added alwaysUsePreferred to Twitter and Reddit
Diffstat (limited to 'src/pages/options/general')
-rw-r--r--src/pages/options/general/general.html4
-rw-r--r--src/pages/options/general/general.js26
2 files changed, 22 insertions, 8 deletions
diff --git a/src/pages/options/general/general.html b/src/pages/options/general/general.html
index 8b9e401d..ddfa931d 100644
--- a/src/pages/options/general/general.html
+++ b/src/pages/options/general/general.html
@@ -96,6 +96,10 @@
       </select>
     </div>
 
+    <div class="some-block option-block">
+      <h4>Always use Preferred Instances</h4>
+      <input id="always-use-preferred" type="checkbox" checked />
+    </div>
 
     <div class="some-block option-block">
       <h4>Exceptions</h4>
diff --git a/src/pages/options/general/general.js b/src/pages/options/general/general.js
index 5d4c0307..344af4aa 100644
--- a/src/pages/options/general/general.js
+++ b/src/pages/options/general/general.js
@@ -2,7 +2,7 @@
 window.browser = window.browser || window.chrome;
 
 import commonHelper from "../../../assets/javascripts/helpers/common.js";
-import exceptionsHelper from "../../../assets/javascripts/helpers/exceptions.js";
+import generalHelper from "../../../assets/javascripts/helpers/general.js";
 
 let themeElement = document.getElementById("theme");
 
@@ -44,32 +44,42 @@ function exportSettings() {
 }
 exportSettings();
 
+browser.storage.onChanged.addListener(exportSettings);
+
 let importSettingsElement = document.getElementById("import-settings");
 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);
-    exportSettings();
+    location.reload();
   }
 );
 
 let resetSettingsElement = document.getElementById("reset-settings");
+
 resetSettingsElement.addEventListener("click",
   () => {
     console.log("reset");
     browser.storage.local.clear();
-    exportSettings();
+    location.reload();
   }
 );
 
+let alwaysUsePreferredElement = document.getElementById("always-use-preferred")
+alwaysUsePreferredElement.addEventListener("change",
+  event => generalHelper.setAlwaysUsePreferred(event.target.checked)
+);
+
 let nameCustomInstanceInput = document.getElementById("exceptions-custom-instance");
 let instanceTypeElement = document.getElementById("exceptions-custom-instance-type");
 let instanceType = "url"
 
-exceptionsHelper.init().then(() => {
+generalHelper.init().then(() => {
+  alwaysUsePreferredElement.checked = generalHelper.getAlwaysUsePreferred();
+  console.log("generalHelper.getAlwaysUsePreferred()");
   instanceTypeElement.addEventListener("change",
     (event) => {
       instanceType = event.target.options[instanceTypeElement.selectedIndex].value
@@ -83,7 +93,7 @@ exceptionsHelper.init().then(() => {
       }
     }
   )
-  let exceptionsCustomInstances = exceptionsHelper.getExceptions();
+  let exceptionsCustomInstances = generalHelper.getExceptions();
   function calcExceptionsCustomInstances() {
     console.log("exceptionsCustomInstances", exceptionsCustomInstances)
     document.getElementById("exceptions-custom-checklist").innerHTML =
@@ -112,7 +122,7 @@ exceptionsHelper.init().then(() => {
             if (index > -1)
               exceptionsCustomInstances.regex.splice(index, 1);
           }
-          exceptionsHelper.setExceptions(exceptionsCustomInstances);
+          generalHelper.setExceptions(exceptionsCustomInstances);
           calcExceptionsCustomInstances();
         });
     }
@@ -133,7 +143,7 @@ exceptionsHelper.init().then(() => {
       if (val.trim() != '' && !exceptionsCustomInstances.regex.includes(val)) exceptionsCustomInstances.regex.push(val)
     }
     if (val) {
-      exceptionsHelper.setExceptions(exceptionsCustomInstances);
+      generalHelper.setExceptions(exceptionsCustomInstances);
       console.log("exceptionsCustomInstances", exceptionsCustomInstances)
       nameCustomInstanceInput.value = '';
     }