diff options
Diffstat (limited to 'src/pages/options')
-rw-r--r-- | src/pages/options/options.html | 31 | ||||
-rw-r--r-- | src/pages/options/options.js | 25 |
2 files changed, 55 insertions, 1 deletions
diff --git a/src/pages/options/options.html b/src/pages/options/options.html index 7a577a56..4e6bc84e 100644 --- a/src/pages/options/options.html +++ b/src/pages/options/options.html @@ -184,6 +184,25 @@ </table> </section> <section class="settings-block"> + <table class="option" aria-label="Toggle Wikipedia redirects"> + <tbody> + <tr> + <td> + <h1 data-localise="__MSG_disableWikipedia__">Wikipedia Redirects</h1> + </td> + <td> + <input + aria-hidden="true" + id="disable-wikipedia" + type="checkbox" + /> + <label for="disable-wikipedia" class="checkbox-label"></label> + </td> + </tr> + </tbody> + </table> + </section> + <section class="settings-block"> <h1 data-localise="__MSG_nitterInstance__">Nitter Instance</h1> <div class="autocomplete"> <input @@ -248,7 +267,7 @@ /> </div> </section> - <section class="settings-block"> + <section class="settings-block"> <h1 data-localise="__MSG_simplyTranslateInstance__">SimplyTranslate Instance</h1> <div class="autocomplete"> <input @@ -259,6 +278,16 @@ </div> </section> <section class="settings-block"> + <h1 data-localise="__MSG_wikipediaInstance__">Wikipedia Instance</h1> + <div class="autocomplete"> + <input + id="wikipedia-instance" + type="url" + placeholder="https://wikiless.org" + /> + </div> + </section> + <section class="settings-block"> <h1 data-localise="__MSG_theme__">Theme</h1> <select id="theme"> <option value="">System</option> diff --git a/src/pages/options/options.js b/src/pages/options/options.js index cfe3a266..91e7ac05 100644 --- a/src/pages/options/options.js +++ b/src/pages/options/options.js @@ -8,6 +8,7 @@ import mapsHelper from "../../assets/javascripts/helpers/google-maps.js"; import redditHelper from "../../assets/javascripts/helpers/reddit.js"; import searchHelper from "../../assets/javascripts/helpers/google-search.js"; import googleTranslateHelper from "../../assets/javascripts/helpers/google-translate.js"; +import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js"; const nitterInstances = twitterHelper.redirects; const invidiousInstances = youtubeHelper.redirects; @@ -16,6 +17,7 @@ const osmInstances = mapsHelper.redirects; const redditInstances = redditHelper.redirects; const searchEngineInstances = searchHelper.redirects; const simplyTranslateInstances = googleTranslateHelper.redirects; +const wikipediaInstances = wikipediaHelper.redirects; const autocompletes = [ { id: "nitter-instance", instances: nitterInstances }, { id: "invidious-instance", instances: invidiousInstances }, @@ -27,6 +29,7 @@ const autocompletes = [ instances: searchEngineInstances.map((instance) => instance.link), }, { id: "simply-translate-instance", instances: simplyTranslateInstances }, + { id: "wikipedia-instance", instances: wikipediaInstances }, ]; const domparser = new DOMParser(); @@ -39,6 +42,7 @@ let searchEngineInstance = document.getElementById("search-engine-instance"); let simplyTranslateInstance = document.getElementById( "simply-translate-instance" ); +let wikipediaInstance = document.getElementById("wikipedia-instance"); let disableNitter = document.getElementById("disable-nitter"); let disableInvidious = document.getElementById("disable-invidious"); let disableBibliogram = document.getElementById("disable-bibliogram"); @@ -48,6 +52,7 @@ let disableSearchEngine = document.getElementById("disable-search-engine"); let disableSimplyTranslate = document.getElementById( "disable-simply-translate" ); +let disableWikipedia = document.getElementById("disable-wikipedia"); let alwaysProxy = document.getElementById("always-proxy"); let onlyEmbeddedVideo = document.getElementById("only-embed"); let videoQuality = document.getElementById("video-quality"); @@ -100,6 +105,7 @@ browser.storage.sync.get( "redditInstance", "searchEngineInstance", "simplyTranslateInstance", + "wikipediaInstance", "disableNitter", "disableInvidious", "disableBibliogram", @@ -107,6 +113,7 @@ browser.storage.sync.get( "disableReddit", "disableSearchEngine", "disableSimplyTranslate", + "disableWikipedia", "alwaysProxy", "onlyEmbeddedVideo", "videoQuality", @@ -135,6 +142,7 @@ browser.storage.sync.get( searchEngineInstance.value = (result.searchEngineInstance && result.searchEngineInstance.link) || ""; simplyTranslateInstance.value = result.simplyTranslateInstance || ""; + wikipediaInstance.value = result.wikipediaInstance || ""; disableNitter.checked = !result.disableNitter; disableInvidious.checked = !result.disableInvidious; disableBibliogram.checked = !result.disableBibliogram; @@ -142,6 +150,7 @@ browser.storage.sync.get( disableReddit.checked = !result.disableReddit; disableSearchEngine.checked = !result.disableSearchEngine; disableSimplyTranslate.checked = !result.disableSimplyTranslate; + disableWikipedia.checked = !result.disableWikipedia; alwaysProxy.checked = result.alwaysProxy; onlyEmbeddedVideo.checked = result.onlyEmbeddedVideo; videoQuality.value = result.videoQuality || ""; @@ -328,6 +337,18 @@ simplyTranslateInstance.addEventListener( simplyTranslateInstanceChange ); +const wikipediaInstanceChange = debounce(() => { + if (wikipediaInstance.checkValidity()) { + browser.storage.sync.set({ + wikipediaInstance: parseURL(wikipediaInstance.value), + }); + } +}, 500); +wikipediaInstance.addEventListener( + "input", + wikipediaInstanceChange +); + disableNitter.addEventListener("change", (event) => { browser.storage.sync.set({ disableNitter: !event.target.checked }); }); @@ -356,6 +377,10 @@ disableSimplyTranslate.addEventListener("change", (event) => { browser.storage.sync.set({ disableSimplyTranslate: !event.target.checked }); }); +disableWikipedia.addEventListener("change", (event) => { + browser.storage.sync.set({ disableWikipedia: !event.target.checked }); +}); + alwaysProxy.addEventListener("change", (event) => { browser.storage.sync.set({ alwaysProxy: event.target.checked }); }); |