about summary refs log tree commit diff stats
path: root/src/pages/options/search
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-05-04 13:59:37 +0300
committerManeraKai <manerakai@protonmail.com>2022-05-04 13:59:37 +0300
commita28cccfde07e76d1e70d2acfe1c2222d8b8ae705 (patch)
tree4fdefa52a12f7a158006f1b7ba3b54cd468b97fe /src/pages/options/search
parentFix incorrect localization (#236) (diff)
downloadlibredirect-a28cccfde07e76d1e70d2acfe1c2222d8b8ae705.zip
Simplified code. Removed pixivMoe, old.reddit.com #239
Diffstat (limited to 'src/pages/options/search')
-rw-r--r--src/pages/options/search/search.html1
-rw-r--r--src/pages/options/search/search.js258
2 files changed, 66 insertions, 193 deletions
diff --git a/src/pages/options/search/search.html b/src/pages/options/search/search.html
index cc1bb006..3c0d9d89 100644
--- a/src/pages/options/search/search.html
+++ b/src/pages/options/search/search.html
@@ -23,7 +23,6 @@
       <div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
       <div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
       <div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
-      <div class="title"> <img src="../../../assets/images/pixiv-icon.svg"><a href="../pixiv/pixiv.html" data-localise="__MSG_pixiv__">Pixiv</a></div>
       <div class="title"> <img src="../../../assets/images/librespeed-icon.svg"><a href="../speedtest/speedtest.html" data-localise="__MSG_speedtest__">Speedtest</a></div>
       <div class="title"> <img src="../../../assets/images/spotify-icon.png"><a href="../spotify/spotify.html" data-localise="__MSG_spotify__">Spotify</a></div>
       <div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
diff --git a/src/pages/options/search/search.js b/src/pages/options/search/search.js
index 197b17f4..893c3e4f 100644
--- a/src/pages/options/search/search.js
+++ b/src/pages/options/search/search.js
@@ -1,66 +1,75 @@
 import searchHelper from "../../../assets/javascripts/helpers/search.js";
 import commonHelper from "../../../assets/javascripts/helpers/common.js";
 
+let searxDiv = document.getElementById("searx");
+let searxngDiv = document.getElementById("searxng")
+let whoogleDiv = document.getElementById("whoogle");
+
 let disableSearchElement = document.getElementById("disable-search");
-disableSearchElement.addEventListener("change", event => searchHelper.setDisable(!event.target.checked));
+let searchFrontendElement = document.getElementById("search-frontend");
+let protocolElement = document.getElementById("protocol")
 
+browser.storage.local.get(
+  [
+    "disableSearch",
+    "searchFrontend",
+    "searchProtocol",
+  ],
+  r => {
+    disableSearchElement.checked = !disableSearch;
 
-let searxDivElement = document.getElementById("searx");
-let searxngDivElement = document.getElementById("searxng")
-let whoogleDivElement = document.getElementById("whoogle");
+    searchFrontendElement.value = r.searchFronten;
+    changeFrontendsSettings(r.searchFronten);
 
+    protocolElement.value = r.searchProtocol;
+    changeProtocolSettings(r.searchProtocol);
+  }
+);
+
+document.addEventListener("change", async () => {
+  await browser.storage.local.set({
+    disableSearch: !disableSearchElement.checked,
+    searchFrontend: searchFrontendElement.value,
+    searchProtocol: protocolElement.value,
+  });
+  changeFrontendsSettings(searchFrontendElement.value);
+  changeProtocolSettings(protocolElement.value);
+})
 
 function changeFrontendsSettings(frontend) {
   let SearxWhoogleElement = document.getElementById("searx-whoogle");
   if (frontend == 'searx') {
-    searxDivElement.style.display = 'block';
-    searxngDivElement.style.display = 'none';
-    whoogleDivElement.style.display = 'none';
+    searxDiv.style.display = 'block';
+    searxngDiv.style.display = 'none';
+    whoogleDiv.style.display = 'none';
     SearxWhoogleElement.style.display = 'block';
   }
   else if (frontend == 'searxng') {
-    searxDivElement.style.display = 'none';
-    searxngDivElement.style.display = 'block';
-    whoogleDivElement.style.display = 'none';
+    searxDiv.style.display = 'none';
+    searxngDiv.style.display = 'block';
+    whoogleDiv.style.display = 'none';
     SearxWhoogleElement.style.display = 'block';
   }
   else if (frontend == 'whoogle') {
-    searxDivElement.style.display = 'none';
-    searxngDivElement.style.display = 'none';
-    whoogleDivElement.style.display = 'block';
+    searxDiv.style.display = 'none';
+    searxngDiv.style.display = 'none';
+    whoogleDiv.style.display = 'block';
     SearxWhoogleElement.style.display = 'block';
   }
 }
-let searchFrontendElement = document.getElementById("search-frontend");
-searchFrontendElement.addEventListener("change",
-  event => {
-    let frontend = event.target.options[searchFrontendElement.selectedIndex].value
-    searchHelper.setFrontend(frontend)
-    changeFrontendsSettings(frontend);
-  }
-);
-
-let protocolElement = document.getElementById("protocol")
-protocolElement.addEventListener("change",
-  event => {
-    let protocol = event.target.options[protocolElement.selectedIndex].value
-    searchHelper.setProtocol(protocol);
-    changeProtocolSettings(protocol);
-  }
-);
 
 function changeProtocolSettings(protocol) {
-  let normalsearxDiv = searxDivElement.getElementsByClassName("normal")[0];
-  let torsearxDiv = searxDivElement.getElementsByClassName("tor")[0];
-  let i2psearxDiv = searxDivElement.getElementsByClassName("i2p")[0];
+  let normalsearxDiv = searxDiv.getElementsByClassName("normal")[0];
+  let torsearxDiv = searxDiv.getElementsByClassName("tor")[0];
+  let i2psearxDiv = searxDiv.getElementsByClassName("i2p")[0];
 
-  let normalsearxngDiv = searxngDivElement.getElementsByClassName("normal")[0];
-  let torsearxngDiv = searxngDivElement.getElementsByClassName("tor")[0];
-  let i2psearxngDiv = searxngDivElement.getElementsByClassName("i2p")[0];
+  let normalsearxngDiv = searxngDiv.getElementsByClassName("normal")[0];
+  let torsearxngDiv = searxngDiv.getElementsByClassName("tor")[0];
+  let i2psearxngDiv = searxngDiv.getElementsByClassName("i2p")[0];
 
-  let normalwhoogleDiv = whoogleDivElement.getElementsByClassName("normal")[0];
-  let torwhoogleDiv = whoogleDivElement.getElementsByClassName("tor")[0];
-  let i2pwhoogleDiv = whoogleDivElement.getElementsByClassName("i2p")[0];
+  let normalwhoogleDiv = whoogleDiv.getElementsByClassName("normal")[0];
+  let torwhoogleDiv = whoogleDiv.getElementsByClassName("tor")[0];
+  let i2pwhoogleDiv = whoogleDiv.getElementsByClassName("i2p")[0];
 
   if (protocol == 'normal') {
     normalsearxDiv.style.display = 'block';
@@ -97,125 +106,15 @@ function changeProtocolSettings(protocol) {
   }
 }
 
-searchHelper.init().then(() => {
-  disableSearchElement.checked = !searchHelper.getDisable();
-  let frontend = searchHelper.getFrontend();
-  searchFrontendElement.value = frontend;
-  changeFrontendsSettings(frontend);
-
-  let protocol = searchHelper.getProtocol();
-  protocolElement.value = protocol;
-  changeProtocolSettings(protocol);
-
-  browser.storage.local.get("searxLatency").then(r => {
-    commonHelper.processDefaultCustomInstances(
-      'searx',
-      'normal',
-      searchHelper,
-      document,
-      searchHelper.getSearxNormalRedirectsChecks,
-      searchHelper.setSearxNormalRedirectsChecks,
-      searchHelper.getSearxNormalCustomRedirects,
-      searchHelper.setSearxNormalCustomRedirects,
-      r.searxLatency
-    );
-  })
-
-  commonHelper.processDefaultCustomInstances(
-    'searx',
-    'tor',
-    searchHelper,
-    document,
-    searchHelper.getSearxTorRedirectsChecks,
-    searchHelper.setSearxTorRedirectsChecks,
-    searchHelper.getSearxTorCustomRedirects,
-    searchHelper.setSearxTorCustomRedirects
-  );
-
-  commonHelper.processDefaultCustomInstances(
-    'searx',
-    'i2p',
-    searchHelper,
-    document,
-    searchHelper.getSearxI2pRedirectsChecks,
-    searchHelper.setSearxI2pRedirectsChecks,
-    searchHelper.getSearxI2pCustomRedirects,
-    searchHelper.setSearxI2pCustomRedirects
-  );
-
-  browser.storage.local.get("searxngLatency").then(r => {
-    commonHelper.processDefaultCustomInstances(
-      'searxng',
-      'normal',
-      searchHelper,
-      document,
-      searchHelper.getSearxngNormalRedirectsChecks,
-      searchHelper.setSearxngNormalRedirectsChecks,
-      searchHelper.getSearxngNormalCustomRedirects,
-      searchHelper.setSearxngNormalCustomRedirects,
-      r.searxngLatency,
-    );
-  })
-
-  commonHelper.processDefaultCustomInstances(
-    'searxng',
-    'tor',
-    searchHelper,
-    document,
-    searchHelper.getSearxngTorRedirectsChecks,
-    searchHelper.setSearxngTorRedirectsChecks,
-    searchHelper.getSearxngTorCustomRedirects,
-    searchHelper.setSearxngTorCustomRedirects
-  );
-
-  commonHelper.processDefaultCustomInstances(
-    'searxng',
-    'i2p',
-    searchHelper,
-    document,
-    searchHelper.getSearxngI2pRedirectsChecks,
-    searchHelper.setSearxngI2pRedirectsChecks,
-    searchHelper.getSearxngI2pCustomRedirects,
-    searchHelper.setSearxngI2pCustomRedirects
-  );
-
-  browser.storage.local.get("whoogleLatency").then(r => {
-    commonHelper.processDefaultCustomInstances(
-      'whoogle',
-      'normal',
-      searchHelper,
-      document,
-      searchHelper.getWhoogleNormalRedirectsChecks,
-      searchHelper.setWhoogleNormalRedirectsChecks,
-      searchHelper.getWhoogleNormalCustomRedirects,
-      searchHelper.setWhoogleNormalCustomRedirects,
-      r.whoogleLatency,
-    );
-  })
-
-  commonHelper.processDefaultCustomInstances(
-    'whoogle',
-    'tor',
-    searchHelper,
-    document,
-    searchHelper.getWhoogleTorRedirectsChecks,
-    searchHelper.setWhoogleTorRedirectsChecks,
-    searchHelper.getWhoogleTorCustomRedirects,
-    searchHelper.setWhoogleTorCustomRedirects
-  );
-
-  commonHelper.processDefaultCustomInstances(
-    'whoogle',
-    'i2p',
-    searchHelper,
-    document,
-    searchHelper.getWhoogleI2pRedirectsChecks,
-    searchHelper.setWhoogleI2pRedirectsChecks,
-    searchHelper.getWhoogleI2pCustomRedirects,
-    searchHelper.setWhoogleI2pCustomRedirects
-  );
-});
-
+commonHelper.processDefaultCustomInstances('searx', 'normal', searchHelper, document);
+commonHelper.processDefaultCustomInstances('searx', 'tor', searchHelper, document);
+commonHelper.processDefaultCustomInstances('searx', 'i2p', searchHelper, document);
+commonHelper.processDefaultCustomInstances('searxng', 'normal', searchHelper, document);
+commonHelper.processDefaultCustomInstances('searxng', 'tor', searchHelper, document);
+commonHelper.processDefaultCustomInstances('searxng', 'i2p', searchHelper, document);
+commonHelper.processDefaultCustomInstances('whoogle', 'normal', searchHelper, document);
+commonHelper.processDefaultCustomInstances('whoogle', 'tor', searchHelper, document);
+commonHelper.processDefaultCustomInstances('whoogle', 'i2p', searchHelper, document);
 
 let latencySearxElement = document.getElementById("latency-searx");
 let latencySearxLabel = document.getElementById("latency-searx-label");
@@ -230,17 +129,7 @@ latencySearxElement.addEventListener("click",
     commonHelper.testLatency(latencySearxLabel, redirects.searx.normal).then(r => {
       browser.storage.local.set({ searxLatency: r });
       latencySearxLabel.innerHTML = oldHtml;
-      commonHelper.processDefaultCustomInstances(
-        'searx',
-        'normal',
-        searchHelper,
-        document,
-        searchHelper.getSearxNormalRedirectsChecks,
-        searchHelper.setSearxNormalRedirectsChecks,
-        searchHelper.getSearxNormalCustomRedirects,
-        searchHelper.setSearxNormalCustomRedirects,
-        r,
-      );
+      commonHelper.processDefaultCustomInstances('searx', 'normal', searchHelper, document);
       latencySearxElement.removeEventListener("click", reloadWindow);
     });
   }
@@ -259,17 +148,7 @@ latencySearxngElement.addEventListener("click",
     commonHelper.testLatency(latencySearxngLabel, redirects.searxng.normal).then(r => {
       browser.storage.local.set({ searxngLatency: r });
       latencySearxngLabel.innerHTML = oldHtml;
-      commonHelper.processDefaultCustomInstances(
-        'searxng',
-        'normal',
-        searchHelper,
-        document,
-        searchHelper.getSearxngNormalRedirectsChecks,
-        searchHelper.setSearxngNormalRedirectsChecks,
-        searchHelper.getSearxngNormalCustomRedirects,
-        searchHelper.setSearxngNormalCustomRedirects,
-        r,
-      );
+      commonHelper.processDefaultCustomInstances('searxng', 'normal', searchHelper, document);
       latencySearxngElement.removeEventListener("click", reloadWindow);
     });
   }
@@ -288,18 +167,13 @@ latencyWhoogleElement.addEventListener("click",
     commonHelper.testLatency(latencyWhoogleLabel, redirects.whoogle.normal).then(r => {
       browser.storage.local.set({ whoogleLatency: r });
       latencyWhoogleLabel.innerHTML = oldHtml;
-      commonHelper.processDefaultCustomInstances(
-        'whoogle',
-        'normal',
-        searchHelper,
-        document,
-        searchHelper.getWhoogleNormalRedirectsChecks,
-        searchHelper.setWhoogleNormalRedirectsChecks,
-        searchHelper.getWhoogleNormalCustomRedirects,
-        searchHelper.setWhoogleNormalCustomRedirects,
-        r,
-      );
+      commonHelper.processDefaultCustomInstances('whoogle', 'normal', searchHelper, document);
       latencyWhoogleElement.removeEventListener("click", reloadWindow);
     });
   }
-);
\ No newline at end of file
+);
+
+window.onblur = () => {
+  searchHelper.initSearxCookies();
+  searchHelper.initSearxngCookies();
+}
\ No newline at end of file