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