about summary refs log tree commit diff stats
path: root/src/pages/options/options.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/options/options.js')
-rw-r--r--src/pages/options/options.js58
1 files changed, 36 insertions, 22 deletions
diff --git a/src/pages/options/options.js b/src/pages/options/options.js
index fea94110..639d351b 100644
--- a/src/pages/options/options.js
+++ b/src/pages/options/options.js
@@ -29,10 +29,8 @@ let bibliogramInstance = document.getElementById("bibliogram-instance");
 let osmInstance = document.getElementById("osm-instance");
 let redditInstance = document.getElementById("reddit-instance");
 let scribeInstance = document.getElementById("scribe-instance");
-let searchEngineInstance = document.getElementById("search-engine-instance");
-let simplyTranslateInstance = document.getElementById(
-  "simply-translate-instance"
-);
+let searchEngineInstance = document.getElementById("searchEngine-instance");
+let simplyTranslateInstance = document.getElementById("simplyTranslate-instance");
 let wikipediaInstance = document.getElementById("wikipedia-instance");
 let disableNitter = document.getElementById("disable-nitter");
 let disableInvidious = document.getElementById("disable-invidious");
@@ -40,9 +38,9 @@ let disableBibliogram = document.getElementById("disable-bibliogram");
 let disableOsm = document.getElementById("disable-osm");
 let disableReddit = document.getElementById("disable-reddit");
 let disableScribe = document.getElementById("disable-scribe");
-let disableSearchEngine = document.getElementById("disable-search-engine");
+let disableSearchEngine = document.getElementById("disable-searchEngine");
 let disableSimplyTranslate = document.getElementById(
-  "disable-simply-translate"
+  "disable-simplyTranslate"
 );
 let disableWikipedia = document.getElementById("disable-wikipedia");
 let alwaysProxy = document.getElementById("always-proxy");
@@ -177,22 +175,22 @@ browser.storage.sync.get(
       result.scribeRandomPool ||
       commonHelper.filterInstances(scribeInstances);
     autocompletes = [
-        { id: "nitter-instance", instances: nitterRandomPool.value.split(',') },
-        { id: "invidious-instance", instances: invidiousRandomPool.value.split(',') },
-        { id: "bibliogram-instance", instances: bibliogramRandomPool.value.split(',') },
-        { id: "scribe-instance", instances: scribeRandomPool.value.split(',') },
-        { id: "reddit-instance", instances: redditInstances },
-        { id: "osm-instance", instances: osmInstances },
-        {
-          id: "search-engine-instance",
-          instances: searchEngineInstances.map((instance) => instance.link),
-        },
-        { id: "simply-translate-instance", instances: simplyTranslateInstances },
-        { id: "wikipedia-instance", instances: wikipediaInstances },
-      ];
+      { id: "nitter-instance", instances: nitterRandomPool.value.split(',') },
+      { id: "invidious-instance", instances: invidiousRandomPool.value.split(',') },
+      { id: "bibliogram-instance", instances: bibliogramRandomPool.value.split(',') },
+      { id: "scribe-instance", instances: scribeRandomPool.value.split(',') },
+      { id: "reddit-instance", instances: redditInstances },
+      { id: "osm-instance", instances: osmInstances },
+      {
+        id: "searchEngine-instance",
+        instances: searchEngineInstances.map((instance) => instance.link),
+      },
+      { id: "simplyTranslate-instance", instances: simplyTranslateInstances },
+      { id: "wikipedia-instance", instances: wikipediaInstances },
+    ];
     autocompletes.forEach((value) => {
       autocomplete(document.getElementById(value.id), value.instances);
-    });      
+    });
   }
 );
 
@@ -449,7 +447,7 @@ const invidiousVolumeChange = debounce(() => {
   browser.storage.sync.set({
     invidiousVolume: invidiousVolume.value,
   });
-}, 500);
+}, 1);
 invidiousVolume.addEventListener("input", invidiousVolumeChange);
 
 invidiousPlayerStyle.addEventListener("change", (event) => {
@@ -604,7 +602,6 @@ function autocomplete(input, list) {
 
 var coll = document.getElementsByClassName("collapsible");
 var i;
-
 for (i = 0; i < coll.length; i++) {
   coll[i].addEventListener("click", function () {
     this.classList.toggle("collapsible-active");
@@ -616,3 +613,20 @@ for (i = 0; i < coll.length; i++) {
     }
   });
 }
+
+const apiEndpoint = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json';
+document.querySelector("#update-instances").addEventListener("click", () => {
+  document.querySelector("#update-instances").innerHTML = '...';
+  let request = new XMLHttpRequest();
+  request.open('GET', apiEndpoint, false);
+  request.send(null);
+
+  if (request.status === 200) {
+    const instances = JSON.parse(request.responseText);
+    const nitterRandomPool = instances.twitter.join(',');
+    const invidiousRandomPool = instances.youtube.join(',');
+    const bibliogramRandomPool = instances.instagram.join(',');
+    browser.storage.sync.set({ nitterRandomPool, invidiousRandomPool, bibliogramRandomPool });
+    document.querySelector("#update-instances").innerHTML = 'Done!';
+  }
+});
\ No newline at end of file