about summary refs log tree commit diff stats
path: root/src/pages/options/wikipedia
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-22 23:52:38 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-22 23:52:38 +0300
commit2570cd8d32eabe211616b2de80841a2ed29934b2 (patch)
tree50027b110a7e528ad6c8f2352fc4bdcebe05c253 /src/pages/options/wikipedia
parentAdded reddit tor support #32 (diff)
downloadlibredirect-2570cd8d32eabe211616b2de80841a2ed29934b2.zip
Added wikipedia tor support #32
Diffstat (limited to 'src/pages/options/wikipedia')
-rw-r--r--src/pages/options/wikipedia/wikipedia.html72
-rw-r--r--src/pages/options/wikipedia/wikipedia.js39
2 files changed, 93 insertions, 18 deletions
diff --git a/src/pages/options/wikipedia/wikipedia.html b/src/pages/options/wikipedia/wikipedia.html
index 5f844ebc..0e96259b 100644
--- a/src/pages/options/wikipedia/wikipedia.html
+++ b/src/pages/options/wikipedia/wikipedia.html
@@ -112,31 +112,67 @@
             <input id="disable-wikipedia" type="checkbox" checked />
         </div>
 
-        <hr>
 
         <div class="some-block option-block">
-            <h4>Default Instances</h4>
-        </div>
-        <div class="checklist" id="wikiless-normal-checklist">
+            <h4>Protocol</h4>
+            <select id="protocol">
+                <option value="normal">Normal</option>
+                <option value="tor">Tor</option>
+            </select>
         </div>
+
         <hr>
-        <div class="some-block option-block">
-            <h4>Custom Instances</h4>
+
+        <div id="normal">
+            <div class="some-block option-block">
+                <h4>Default Instances</h4>
+            </div>
+            <div class="checklist" id="wikiless-normal-checklist">
+            </div>
+            <hr>
+            <div class="some-block option-block">
+                <h4>Custom Instances</h4>
+            </div>
+            <form id="custom-wikiless-normal-instance-form">
+                <div class="some-block option-block">
+                    <input id="wikiless-normal-custom-instance" placeholder="https://wikiless.com" type="url" />
+                    <button type="submit" class="add" id="wikiless-normal-add-instance">
+                        <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+                            fill="currentColor">
+                            <path d="M0 0h24v24H0V0z" fill="none" />
+                            <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+                        </svg>
+                    </button>
+                </div>
+            </form>
+            <div class="checklist" id="wikiless-normal-custom-checklist"></div>
         </div>
-        <form id="custom-wikiless-normal-instance-form">
+
+        <div id="tor">
             <div class="some-block option-block">
-                <input id="wikiless-normal-custom-instance" placeholder="https://wikiless.com" type="url" />
-                <button type="submit" class="add" id="wikiless-normal-add-instance">
-                    <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
-                        fill="currentColor">
-                        <path d="M0 0h24v24H0V0z" fill="none" />
-                        <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
-                    </svg>
-                </button>
+                <h4>Default Instances</h4>
+            </div>
+            <div class="checklist" id="wikiless-tor-checklist">
             </div>
-        </form>
-        <div class="checklist" id="wikiless-normal-custom-checklist"></div>
+            <hr>
+            <div class="some-block option-block">
+                <h4>Custom Instances</h4>
+            </div>
+            <form id="custom-wikiless-tor-instance-form">
+                <div class="some-block option-block">
+                    <input id="wikiless-tor-custom-instance" placeholder="https://wikiless.com" type="url" />
+                    <button type="submit" class="add" id="wikiless-tor-add-instance">
+                        <svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px"
+                            fill="currentColor">
+                            <path d="M0 0h24v24H0V0z" fill="none" />
+                            <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" />
+                        </svg>
+                    </button>
+                </div>
+            </form>
+            <div class="checklist" id="wikiless-tor-custom-checklist"></div>
 
+        </div>
     </section>
 
     <script type="module" src="../init.js"></script>
@@ -144,4 +180,4 @@
     <!-- <script src="../../assets/javascripts/localise.js"></script> -->
 </body>
 
-</html>
+</html>
\ No newline at end of file
diff --git a/src/pages/options/wikipedia/wikipedia.js b/src/pages/options/wikipedia/wikipedia.js
index 29a75f72..92ab8dc5 100644
--- a/src/pages/options/wikipedia/wikipedia.js
+++ b/src/pages/options/wikipedia/wikipedia.js
@@ -5,9 +5,37 @@ let disableWikipediaElement = document.getElementById("disable-wikipedia");
 disableWikipediaElement.addEventListener("change",
     (event) => wikipediaHelper.setDisable(!event.target.checked)
 );
+
+let protocolElement = document.getElementById("protocol")
+protocolElement.addEventListener("change",
+    (event) => {
+        let protocol = event.target.options[protocolElement.selectedIndex].value
+        wikipediaHelper.setProtocol(protocol);
+        changeProtocolSettings(protocol);
+    }
+);
+
+
+function changeProtocolSettings(protocol) {
+    let normalDiv = document.getElementById("normal");
+    let torDiv = document.getElementById("tor");
+    if (protocol == 'normal') {
+        normalDiv.style.display = 'block';
+        torDiv.style.display = 'none';
+    }
+    else if (protocol == 'tor') {
+        normalDiv.style.display = 'none';
+        torDiv.style.display = 'block';
+    }
+}
+
 wikipediaHelper.init().then(() => {
     disableWikipediaElement.checked = !wikipediaHelper.getDisable();
 
+    let protocol = wikipediaHelper.getProtocol();
+    protocolElement.value = protocol;
+    changeProtocolSettings(protocol);
+
     commonHelper.processDefaultCustomInstances(
         'wikiless',
         'normal',
@@ -18,4 +46,15 @@ wikipediaHelper.init().then(() => {
         wikipediaHelper.getWikilessNormalCustomRedirects,
         wikipediaHelper.setWikilessNormalCustomRedirects
     )
+
+    commonHelper.processDefaultCustomInstances(
+        'wikiless',
+        'tor',
+        wikipediaHelper,
+        document,
+        wikipediaHelper.getWikilessTorRedirectsChecks,
+        wikipediaHelper.setWikilessTorRedirectsChecks,
+        wikipediaHelper.getWikilessTorCustomRedirects,
+        wikipediaHelper.setWikilessTorCustomRedirects
+    )
 })
\ No newline at end of file