about summary refs log tree commit diff stats
path: root/src/pages/options/imgur
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-03 16:45:14 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-03 16:45:29 +0300
commita78d6cdd04d491fcc773a4530d7887eee2ba4a59 (patch)
tree4784be6bdd47a0da9af535961a90e26e02393ae3 /src/pages/options/imgur
parentUpdate README.md (diff)
downloadlibredirect-a78d6cdd04d491fcc773a4530d7887eee2ba4a59.zip
Restructuring and simplifying code #229
Diffstat (limited to 'src/pages/options/imgur')
-rw-r--r--src/pages/options/imgur/imgur.js84
1 files changed, 38 insertions, 46 deletions
diff --git a/src/pages/options/imgur/imgur.js b/src/pages/options/imgur/imgur.js
index 11ebcebc..8d4428cf 100644
--- a/src/pages/options/imgur/imgur.js
+++ b/src/pages/options/imgur/imgur.js
@@ -2,18 +2,15 @@ import imgurHelper from "../../../assets/javascripts/helpers/imgur.js";
 import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
 let disableImgurElement = document.getElementById("disable-imgur");
-disableImgurElement.addEventListener("change",
-    (event) => imgurHelper.setDisable(!event.target.checked)
-);
-
 let protocolElement = document.getElementById("protocol")
-protocolElement.addEventListener("change",
-    event => {
-        let protocol = event.target.options[protocolElement.selectedIndex].value
-        imgurHelper.setProtocol(protocol);
-        changeProtocolSettings(protocol);
-    }
-);
+
+document.addEventListener("change", async () => {
+    await browser.storage.local.set({
+        disableImgur: !disableImgurElement.checked,
+        imgurProtocol: protocolElement.value,
+    });
+    init();
+})
 
 function changeProtocolSettings(protocol) {
     let normalDiv = document.getElementsByClassName("normal")[0];
@@ -36,50 +33,45 @@ function changeProtocolSettings(protocol) {
     }
 }
 
-imgurHelper.init().then(() => {
-    disableImgurElement.checked = !imgurHelper.getDisable();
+function init() {
+    imgurHelper.init().then(() => {
+        browser.storage.local.get(
+            [
+                "disableImgur",
+                "imgurProtocol",
+            ],
+            r => {
+                disableImgurElement.checked = !r.disableImgur;
+                protocol.value = r.imgurProtocol;
+                changeProtocolSettings(r.imgurProtocol);
+            }
+        );
 
-    let protocol = imgurHelper.getProtocol();
-    console.log('protocol', protocol);
-    protocolElement.value = protocol;
-    changeProtocolSettings(protocol);
 
-    browser.storage.local.get("rimgoLatency").then(r => {
         commonHelper.processDefaultCustomInstances(
             'rimgo',
             'normal',
             imgurHelper,
-            document,
-            imgurHelper.getRimgoNormalRedirectsChecks,
-            imgurHelper.setRimgoNormalRedirectsChecks,
-            imgurHelper.getRimgoNormalCustomRedirects,
-            imgurHelper.setRimgoNormalCustomRedirects,
-            r.rimgoLatency
+            document
         );
-    });
 
-    commonHelper.processDefaultCustomInstances(
-        'rimgo',
-        'tor',
-        imgurHelper,
-        document,
-        imgurHelper.getRimgoTorRedirectsChecks,
-        imgurHelper.setRimgoTorRedirectsChecks,
-        imgurHelper.getRimgoTorCustomRedirects,
-        imgurHelper.setRimgoTorCustomRedirects
-    );
+        commonHelper.processDefaultCustomInstances(
+            'rimgo',
+            'tor',
+            imgurHelper,
+            document
+        );
+
+        commonHelper.processDefaultCustomInstances(
+            'rimgo',
+            'i2p',
+            imgurHelper,
+            document
+        );
+    });
+}
+init();
 
-    commonHelper.processDefaultCustomInstances(
-        'rimgo',
-        'i2p',
-        imgurHelper,
-        document,
-        imgurHelper.getRimgoI2pRedirectsChecks,
-        imgurHelper.setRimgoI2pRedirectsChecks,
-        imgurHelper.getRimgoI2pCustomRedirects,
-        imgurHelper.setRimgoI2pCustomRedirects
-    );
-});
 
 let latencyElement = document.getElementById("latency");
 let latencyLabel = document.getElementById("latency-label");