diff options
Diffstat (limited to 'src/pages/options')
-rw-r--r-- | src/pages/options/options.html | 29 | ||||
-rw-r--r-- | src/pages/options/options.js | 22 |
2 files changed, 51 insertions, 0 deletions
diff --git a/src/pages/options/options.html b/src/pages/options/options.html index 8dc1eb72..27e9fe5d 100644 --- a/src/pages/options/options.html +++ b/src/pages/options/options.html @@ -165,6 +165,25 @@ </table> </section> <section class="settings-block"> + <table class="option" aria-label="Toggle SimplyTranslate redirects"> + <tbody> + <tr> + <td> + <h1 data-localise="__MSG_disableSimplyTranslate__" class="new-badge" data-new-badge>SimplyTranslate Redirects</h1> + </td> + <td> + <input + aria-hidden="true" + id="disable-simply-translate" + type="checkbox" + /> + <label for="disable-simply-translate" 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 @@ -230,6 +249,16 @@ </div> </section> <section class="settings-block"> + <h1 data-localise="__MSG_simplyTranslateInstance__">SimplyTranslate Instance</h1> + <div class="autocomplete"> + <input + id="simply-translate-instance" + type="url" + placeholder="https://translate.metalune.xyz" + /> + </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 0f785f6e..cfc51e81 100644 --- a/src/pages/options/options.js +++ b/src/pages/options/options.js @@ -7,6 +7,7 @@ import instagramHelper from "../../assets/javascripts/helpers/instagram.js"; 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"; const nitterInstances = twitterHelper.redirects; const invidiousInstances = youtubeHelper.redirects; @@ -14,6 +15,7 @@ const bibliogramInstances = instagramHelper.redirects; const osmInstances = mapsHelper.redirects; const redditInstances = redditHelper.redirects; const searchEngineInstances = searchHelper.redirects; +const simplyTranslateInstances = googleTranslateHelper.redirects; const autocompletes = [ { id: "nitter-instance", instances: nitterInstances }, { id: "invidious-instance", instances: invidiousInstances }, @@ -24,6 +26,7 @@ const autocompletes = [ id: "search-engine-instance", instances: searchEngineInstances.map((instance) => instance.link), }, + { id: "simply-translate-instance", instances: simplyTranslateInstances }, ]; const domparser = new DOMParser(); @@ -33,12 +36,14 @@ let bibliogramInstance = document.getElementById("bibliogram-instance"); let osmInstance = document.getElementById("osm-instance"); let redditInstance = document.getElementById("reddit-instance"); let searchEngineInstance = document.getElementById("search-engine-instance"); +let simplyTranslateInstance = document.getElementById("simply-translate-instance"); let disableNitter = document.getElementById("disable-nitter"); let disableInvidious = document.getElementById("disable-invidious"); let disableBibliogram = document.getElementById("disable-bibliogram"); let disableOsm = document.getElementById("disable-osm"); let disableReddit = document.getElementById("disable-reddit"); let disableSearchEngine = document.getElementById("disable-search-engine"); +let disableSimplyTranslate = document.getElementById("disable-simply-translate"); let alwaysProxy = document.getElementById("always-proxy"); let onlyEmbeddedVideo = document.getElementById("only-embed"); let videoQuality = document.getElementById("video-quality"); @@ -90,12 +95,14 @@ browser.storage.sync.get( "osmInstance", "redditInstance", "searchEngineInstance", + "simplyTranslateInstance", "disableNitter", "disableInvidious", "disableBibliogram", "disableOsm", "disableReddit", "disableSearchEngine", + "disableSimplyTranslate", "alwaysProxy", "onlyEmbeddedVideo", "videoQuality", @@ -123,12 +130,14 @@ browser.storage.sync.get( redditInstance.value = result.redditInstance || ""; searchEngineInstance.value = (result.searchEngineInstance && result.searchEngineInstance.link) || ""; + simplyTranslateInstance.value = result.simplyTranslateInstance || ""; disableNitter.checked = !result.disableNitter; disableInvidious.checked = !result.disableInvidious; disableBibliogram.checked = !result.disableBibliogram; disableOsm.checked = !result.disableOsm; disableReddit.checked = !result.disableReddit; disableSearchEngine.checked = !result.disableSearchEngine; + disableSimplyTranslate.checked = !result.disableSimplyTranslate; alwaysProxy.checked = result.alwaysProxy; onlyEmbeddedVideo.checked = result.onlyEmbeddedVideo; videoQuality.value = result.videoQuality || ""; @@ -303,6 +312,15 @@ const searchEngineInstanceChange = debounce(() => { }, 500); searchEngineInstance.addEventListener("input", searchEngineInstanceChange); +const simplyTranslateInstanceChange = debounce(() => { + if (simplyTranslateInstance.checkValidity()) { + browser.storage.sync.set({ + simplyTranslateInstance: parseURL(simplyTranslateInstance.value), + }); + } +}, 500); +simplyTranslateInstance.addEventListener("input", simplyTranslateInstanceChange); + disableNitter.addEventListener("change", (event) => { browser.storage.sync.set({ disableNitter: !event.target.checked }); }); @@ -327,6 +345,10 @@ disableSearchEngine.addEventListener("change", (event) => { browser.storage.sync.set({ disableSearchEngine: !event.target.checked }); }); +disableSimplyTranslate.addEventListener("change", (event) => { + browser.storage.sync.set({ disableSimplyTranslate: !event.target.checked }); +}); + alwaysProxy.addEventListener("change", (event) => { browser.storage.sync.set({ alwaysProxy: event.target.checked }); }); |