about summary refs log tree commit diff stats
path: root/src/pages/options/twitter
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-20 00:48:51 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-20 00:48:51 +0300
commitef222d2ca5ad753446adb98800e9640b0c602381 (patch)
tree2fe30dd48711b25bdb0b8d8461d983489877db63 /src/pages/options/twitter
parentFixed cookies not working in invidious #44 (diff)
downloadlibredirect-ef222d2ca5ad753446adb98800e9640b0c602381.zip
Adding tor to twitter and youtube #32
Diffstat (limited to 'src/pages/options/twitter')
-rw-r--r--src/pages/options/twitter/twitter.html70
-rw-r--r--src/pages/options/twitter/twitter.js48
2 files changed, 96 insertions, 22 deletions
diff --git a/src/pages/options/twitter/twitter.html b/src/pages/options/twitter/twitter.html
index 948f0be1..40f79407 100644
--- a/src/pages/options/twitter/twitter.html
+++ b/src/pages/options/twitter/twitter.html
@@ -115,29 +115,65 @@
             <input id="disable-nitter" type="checkbox" checked />
         </div>
 
-        <hr>
-
         <div class="some-block option-block">
-            <h4>Default Instances</h4>
+            <h4>Protocol</h4>
+            <select id="protocol">
+                <option value="normal">Normal</option>
+                <option value="tor">Tor</option>
+            </select>
         </div>
-        <div class="checklist" id="nitter-checklist"></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="nitter-normal-checklist"></div>
+            <hr>
+            <div class="some-block option-block">
+                <h4>Custom Instances</h4>
+            </div>
+            <form id="custom-nitter-normal-instance-form">
+                <div class="some-block option-block">
+                    <input id="nitter-normal-custom-instance" placeholder="https://nitter.com" type="url" />
+                    <button type="submit" class="add" id="nitter-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="nitter-normal-custom-checklist"></div>
+
         </div>
-        <form id="custom-nitter-instance-form">
+
+        <div id="tor">
             <div class="some-block option-block">
-                <input id="nitter-custom-instance" placeholder="https://nitter.com" type="url" />
-                <button type="submit" class="add" id="nitter-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 Tor Instances</h4>
             </div>
-        </form>
-        <div class="checklist" id="nitter-custom-checklist"></div>
+            <div class="checklist" id="nitter-tor-checklist"></div>
+            <hr>
+            <div class="some-block option-block">
+                <h4>Custom Instances</h4>
+            </div>
+            <form id="custom-nitter-tor-instance-form">
+                <div class="some-block option-block">
+                    <input id="nitter-tor-custom-instance" placeholder="https://nitter.com" type="url" />
+                    <button type="submit" class="add" id="nitter-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="nitter-tor-custom-checklist"></div>
+        </div>
 
     </section>
 
diff --git a/src/pages/options/twitter/twitter.js b/src/pages/options/twitter/twitter.js
index 759ad573..88fadb7b 100644
--- a/src/pages/options/twitter/twitter.js
+++ b/src/pages/options/twitter/twitter.js
@@ -6,16 +6,54 @@ disableTwitterElement.addEventListener("change",
     (event) => twitterHelper.setDisable(!event.target.checked)
 );
 
+let protocolElement = document.getElementById("protocol")
+protocolElement.addEventListener("change",
+    (event) => {
+        let protocol = event.target.options[protocolElement.selectedIndex].value
+        twitterHelper.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';
+    }
+}
+
 twitterHelper.init().then(() => {
-    disableTwitterElement.checked = !twitterHelper.getDisable(); 
+    disableTwitterElement.checked = !twitterHelper.getDisable();
+
+    let protocol = twitterHelper.getprotocol();
+    protocolElement.value = protocol;
+    changeProtocolSettings(protocol);
 
     commonHelper.processDefaultCustomInstances(
         'nitter',
+        'normal',
+        twitterHelper,
+        document,
+        twitterHelper.getNitterNormalRedirectsChecks,
+        twitterHelper.setNitterNormalRedirectsChecks,
+        twitterHelper.getNitterNormalCustomRedirects,
+        twitterHelper.setNitterNormalCustomRedirects
+    )
+    commonHelper.processDefaultCustomInstances(
+        'nitter',
+        'tor',
         twitterHelper,
         document,
-        twitterHelper.getNitterRedirectsChecks,
-        twitterHelper.setNitterRedirectsChecks,
-        twitterHelper.getNitterCustomRedirects,
-        twitterHelper.setNitterCustomRedirects
+        twitterHelper.getNitterTorRedirectsChecks,
+        twitterHelper.setNitterTorRedirectsChecks,
+        twitterHelper.getNitterTorCustomRedirects,
+        twitterHelper.setNitterTorCustomRedirects
     )
 });
\ No newline at end of file