about summary refs log tree commit diff stats
path: root/src/pages
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-02-23 19:48:04 +0300
committerManeraKai <manerakai@protonmail.com>2022-02-23 19:48:04 +0300
commitae29c4c70aa12095a8159884f49a7a9c31ccb9d5 (patch)
tree58e564e9ff3492e506540c54b1fe6a7cb154735a /src/pages
parentMerge branch 'master' of https://github.com/libredirect/libredirect (diff)
downloadlibredirect-ae29c4c70aa12095a8159884f49a7a9c31ccb9d5.zip
Added translate tor support #32
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/options/reddit/reddit.js1
-rw-r--r--src/pages/options/translate/translate.html142
-rw-r--r--src/pages/options/translate/translate.js70
3 files changed, 163 insertions, 50 deletions
diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js
index 57702dc8..549822a5 100644
--- a/src/pages/options/reddit/reddit.js
+++ b/src/pages/options/reddit/reddit.js
@@ -57,7 +57,6 @@ function changeProtocolSettings(protocol) {
     }
 }
 
-
 redditHelper.init().then(() => {
     disableRedditElement.checked = !redditHelper.getDisableReddit();
 
diff --git a/src/pages/options/translate/translate.html b/src/pages/options/translate/translate.html
index 4ef26221..92ac1dbc 100644
--- a/src/pages/options/translate/translate.html
+++ b/src/pages/options/translate/translate.html
@@ -120,12 +120,21 @@
             </select>
         </div>
 
+        <div class="some-block option-block">
+            <h4>Protocol</h4>
+            <select id="protocol">
+                <option value="normal">Normal</option>
+                <option value="tor">Tor</option>
+            </select>
+        </div>
+
         <hr>
 
         <div id="simplyTranslate-lingva">
             <div class="some-block option-block">
                 <h4>From</h4>
                 <select id="from">
+                    <option value="DEFAULT">Default</option>
                     <option value="auto">Auto</option>
                     <option value="af">Afrikaans</option>
                     <option value="sq">Albanian</option>
@@ -237,10 +246,10 @@
                     <option value="zu">Zulu</option>
                 </select>
             </div>
-
             <div class="some-block option-block">
                 <h4>To</h4>
                 <select id="to">
+                    <option value="DEFAULT">Default</option>
                     <option value="af">Afrikaans</option>
                     <option value="sq">Albanian</option>
                     <option value="am">Amharic</option>
@@ -354,54 +363,107 @@
         </div>
 
         <div id="simplyTranslate">
-            <div class="some-block option-block">
-                <h4>Default Instances</h4>
-            </div>
-            <div class="checklist" id="simplyTranslate-normal-checklist">
-            </div>
-            <hr>
-            <div class="some-block option-block">
-                <h4>Custom Instances</h4>
+            <div id="simplyTranslate-normal">
+                <div class="some-block option-block">
+                    <h4>Default Instances</h4>
+                </div>
+                <div class="checklist" id="simplyTranslate-normal-checklist">
+                </div>
+                <hr>
+                <div class="some-block option-block">
+                    <h4>Custom Instances</h4>
+                </div>
+                <form id="custom-simplyTranslate-normal-instance-form">
+                    <div class="some-block option-block">
+                        <input id="simplyTranslate-normal-custom-instance" placeholder="https://simplyTranslate.com"
+                            type="url" />
+                        <button type="submit" class="add" id="simplyTranslate-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="simplyTranslate-normal-custom-checklist"></div>
             </div>
-            <form id="custom-simplyTranslate-normal-instance-form">
+            <div id="simplyTranslate-tor">
                 <div class="some-block option-block">
-                    <input id="simplyTranslate-normal-custom-instance" placeholder="https://simplyTranslate.com"
-                        type="url" />
-                    <button type="submit" class="add" id="simplyTranslate-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>
-            </form>
-            <div class="checklist" id="simplyTranslate-normal-custom-checklist"></div>
+                <div class="checklist" id="simplyTranslate-tor-checklist">
+                </div>
+                <hr>
+                <div class="some-block option-block">
+                    <h4>Custom Instances</h4>
+                </div>
+                <form id="custom-simplyTranslate-tor-instance-form">
+                    <div class="some-block option-block">
+                        <input id="simplyTranslate-tor-custom-instance" placeholder="https://simplyTranslate.com"
+                            type="url" />
+                        <button type="submit" class="add" id="simplyTranslate-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="simplyTranslate-tor-custom-checklist"></div>
+            </div>
         </div>
 
         <div id="lingva">
-            <div class="some-block option-block">
-                <h4>Default Instances</h4>
-            </div>
-            <div class="checklist" id="lingva-normal-checklist">
-            </div>
-            <hr>
-            <div class="some-block option-block">
-                <h4>Custom Instances</h4>
+            <div id="lingva-normal">
+                <div class="some-block option-block">
+                    <h4>Default Instances</h4>
+                </div>
+                <div class="checklist" id="lingva-normal-checklist">
+                </div>
+                <hr>
+                <div class="some-block option-block">
+                    <h4>Custom Instances</h4>
+                </div>
+                <form id="custom-lingva-normal-instance-form">
+                    <div class="some-block option-block">
+                        <input id="lingva-normal-custom-instance" placeholder="https://lingva.com" type="url" />
+                        <button type="submit" class="add" id="lingva-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="lingva-normal-custom-checklist"></div>
             </div>
-            <form id="custom-lingva-normal-instance-form">
+            <div id="lingva-tor">
                 <div class="some-block option-block">
-                    <input id="lingva-normal-custom-instance" placeholder="https://lingva.com" type="url" />
-                    <button type="submit" class="add" id="lingva-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="lingva-tor-checklist">
                 </div>
-            </form>
-            <div class="checklist" id="lingva-normal-custom-checklist"></div>
+                <hr>
+                <div class="some-block option-block">
+                    <h4>Custom Instances</h4>
+                </div>
+                <form id="custom-lingva-tor-instance-form">
+                    <div class="some-block option-block">
+                        <input id="lingva-tor-custom-instance" placeholder="https://lingva.com" type="url" />
+                        <button type="submit" class="add" id="lingva-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="lingva-tor-custom-checklist"></div>
+            </div>
         </div>
 
     </section>
diff --git a/src/pages/options/translate/translate.js b/src/pages/options/translate/translate.js
index 266814b1..7626f34b 100644
--- a/src/pages/options/translate/translate.js
+++ b/src/pages/options/translate/translate.js
@@ -32,27 +32,56 @@ translateFrontendElement.addEventListener("change",
     }
 );
 
-let fromElement = document.getElementById("from");
-fromElement.addEventListener("change",
+let protocolElement = document.getElementById("protocol")
+protocolElement.addEventListener("change",
     (event) => {
-        let from = event.target.options[fromElement.selectedIndex].value;
-        translateHelper.setFrom(from);
+        let protocol = event.target.options[protocolElement.selectedIndex].value
+        translateHelper.setProtocol(protocol);
+        changeProtocolSettings(protocol);
+    }
+);
+
+function changeProtocolSettings(protocol) {
+    let normalSimplyTranslateDiv = document.getElementById("simplyTranslate-normal");
+    let torSimplyTranslateDiv = document.getElementById("simplyTranslate-tor");
+
+    let normalLingvaDiv = document.getElementById("lingva-normal");
+    let torLingvaDiv = document.getElementById("lingva-tor");
+    if (protocol == 'normal') {
+        normalSimplyTranslateDiv.style.display = 'block';
+        normalLingvaDiv.style.display = 'block';
+        torLingvaDiv.style.display = 'none';
+        torSimplyTranslateDiv.style.display = 'none';
+    }
+    else if (protocol == 'tor') {
+        normalSimplyTranslateDiv.style.display = 'none';
+        normalLingvaDiv.style.display = 'none';
+        torLingvaDiv.style.display = 'block';
+        torSimplyTranslateDiv.style.display = 'block';
     }
+}
+
+let fromElement = document.getElementById("from");
+fromElement.addEventListener("change",
+    event => translateHelper.setFrom(event.target.options[fromElement.selectedIndex].value)
 );
 
 let toElement = document.getElementById("to");
 toElement.addEventListener("change",
-    (event) => {
-        let to = event.target.options[toElement.selectedIndex].value;
-        translateHelper.setTo(to);
-    }
+    event => translateHelper.setTo(event.target.options[toElement.selectedIndex].value)
 );
 
 translateHelper.init().then(() => {
     disableElement.checked = !translateHelper.getDisable();
+
     let frontend = translateHelper.getFrontend();
     translateFrontendElement.value = frontend;
     changeFrontendsSettings(frontend);
+
+    let protocol = translateHelper.getProtocol();
+    protocolElement.value = protocol;
+    changeProtocolSettings(protocol);
+
     fromElement.value = translateHelper.getFrom();
     toElement.value = translateHelper.getTo();
 
@@ -65,7 +94,19 @@ translateHelper.init().then(() => {
         translateHelper.setSimplyTranslateNormalRedirectsChecks,
         translateHelper.getSimplyTranslateNormalCustomRedirects,
         translateHelper.setSimplyTranslateNormalCustomRedirects
-    )
+    );
+
+    commonHelper.processDefaultCustomInstances(
+        'simplyTranslate',
+        'tor',
+        translateHelper,
+        document,
+        translateHelper.getSimplyTranslateTorRedirectsChecks,
+        translateHelper.setSimplyTranslateTorRedirectsChecks,
+        translateHelper.getSimplyTranslateTorCustomRedirects,
+        translateHelper.setSimplyTranslateTorCustomRedirects
+    );
+
 
     commonHelper.processDefaultCustomInstances(
         'lingva',
@@ -76,5 +117,16 @@ translateHelper.init().then(() => {
         translateHelper.setLingvaNormalRedirectsChecks,
         translateHelper.getLingvaNormalCustomRedirects,
         translateHelper.setLingvaNormalCustomRedirects
+    );
+
+    commonHelper.processDefaultCustomInstances(
+        'lingva',
+        'tor',
+        translateHelper,
+        document,
+        translateHelper.getLingvaTorRedirectsChecks,
+        translateHelper.setLingvaTorRedirectsChecks,
+        translateHelper.getLingvaTorCustomRedirects,
+        translateHelper.setLingvaTorCustomRedirects
     )
 });
\ No newline at end of file