about summary refs log tree commit diff stats
path: root/src/pages/options/reddit.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/options/reddit.js')
-rw-r--r--src/pages/options/reddit.js38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/pages/options/reddit.js b/src/pages/options/reddit.js
new file mode 100644
index 00000000..0836b5a0
--- /dev/null
+++ b/src/pages/options/reddit.js
@@ -0,0 +1,38 @@
+import redditHelper from "../../assets/javascripts/helpers/reddit.js";
+import commonHelper from "../../assets/javascripts/helpers/common.js";
+import shared from "./shared.js";
+
+
+const redditInstances = redditHelper.redirects;
+
+let redditInstance = document.getElementById("reddit-instance");
+let disableReddit = document.getElementById("disable-reddit");
+
+
+browser.storage.sync.get(
+    [
+        "redditInstance",
+        "disableReddit",
+    ],
+    (result) => {
+        redditInstance.value = result.redditInstance || "";
+        disableReddit.checked = !result.disableReddit;
+        let id = "reddit-instance";
+        let instances = redditInstances;
+        shared.autocompletes.push({ id: id, instances: instances })
+        shared.autocomplete(document.getElementById(id), instances);
+    }
+)
+
+const redditInstanceChange = commonHelper.debounce(() => {
+    if (redditInstance.checkValidity()) {
+        browser.storage.sync.set({
+            redditInstance: shared.parseURL(redditInstance.value),
+        });
+    }
+}, 500);
+redditInstance.addEventListener("input", redditInstanceChange);
+
+disableReddit.addEventListener("change", (event) => {
+    browser.storage.sync.set({ disableReddit: !event.target.checked });
+});
\ No newline at end of file