diff options
author | SimonBrazell <simon@brazell.com.au> | 2020-02-09 11:08:04 +1100 |
---|---|---|
committer | SimonBrazell <simon@brazell.com.au> | 2020-02-09 11:08:04 +1100 |
commit | eb99449f726565764dac26ee1baa4e9e4689f078 (patch) | |
tree | 121ccb543ea3bd64999b5735198351eca3e60923 /pages/popup/popup.js | |
parent | Fix missing query strings in redirects (diff) | |
download | libredirect-eb99449f726565764dac26ee1baa4e9e4689f078.zip |
Avoid redirecting `studio.youtube.com` & basic instance validation
Diffstat (limited to 'pages/popup/popup.js')
-rw-r--r-- | pages/popup/popup.js | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/pages/popup/popup.js b/pages/popup/popup.js index ecbaf1e7..103f07cf 100644 --- a/pages/popup/popup.js +++ b/pages/popup/popup.js @@ -6,6 +6,7 @@ let bibliogramInstance = document.querySelector('#bibliogramInstance'); let disableNitter = document.querySelector('#disableNitter'); let disableInvidious = document.querySelector('#disableInvidious'); let disableBibliogram = document.querySelector('#disableBibliogram'); +let version = document.querySelector('#version'); chrome.storage.sync.get( [ @@ -26,6 +27,8 @@ chrome.storage.sync.get( } ); +version.textContent = chrome.runtime.getManifest().version; + function debounce(func, wait, immediate) { let timeout; return () => { @@ -42,21 +45,30 @@ function debounce(func, wait, immediate) { }; let nitterInstanceChange = debounce(() => { - chrome.storage.sync.set({ nitterInstance: nitterInstance.value }); + if (nitterInstance.checkValidity()) { + chrome.storage.sync.set({ + nitterInstance: nitterInstance.value ? new URL(nitterInstance.value).origin : '' + }); + } }, 500); - nitterInstance.addEventListener('input', nitterInstanceChange); let invidiousInstanceChange = debounce(() => { - chrome.storage.sync.set({ invidiousInstance: invidiousInstance.value }); + if (invidiousInstance.checkValidity()) { + chrome.storage.sync.set({ + invidiousInstance: invidiousInstance.value ? new URL(invidiousInstance.value).origin : '' + }); + } }, 500); - invidiousInstance.addEventListener('input', invidiousInstanceChange); let bibliogramInstanceChange = debounce(() => { - chrome.storage.sync.set({ bibliogramInstance: bibliogramInstance.value }); + if (bibliogramInstance.checkValidity()) { + chrome.storage.sync.set({ + bibliogramInstance: bibliogramInstance.value ? new URL(bibliogramInstance.value).origin : '' + }); + } }, 500); - bibliogramInstance.addEventListener('input', bibliogramInstanceChange); disableNitter.addEventListener('change', event => { |