diff options
author | ManeraKai <manerakai@protonmail.com> | 2022-02-22 23:52:38 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2022-02-22 23:52:38 +0300 |
commit | 2570cd8d32eabe211616b2de80841a2ed29934b2 (patch) | |
tree | 50027b110a7e528ad6c8f2352fc4bdcebe05c253 /src/pages/options/wikipedia | |
parent | Added reddit tor support #32 (diff) | |
download | libredirect-2570cd8d32eabe211616b2de80841a2ed29934b2.zip |
Added wikipedia tor support #32
Diffstat (limited to 'src/pages/options/wikipedia')
-rw-r--r-- | src/pages/options/wikipedia/wikipedia.html | 72 | ||||
-rw-r--r-- | src/pages/options/wikipedia/wikipedia.js | 39 |
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 |