about summary refs log tree commit diff stats
path: root/pages/popup
diff options
context:
space:
mode:
Diffstat (limited to 'pages/popup')
-rw-r--r--pages/popup/popup.html2
-rw-r--r--pages/popup/popup.js24
2 files changed, 19 insertions, 7 deletions
diff --git a/pages/popup/popup.html b/pages/popup/popup.html
index 986fd8c5..32643aca 100644
--- a/pages/popup/popup.html
+++ b/pages/popup/popup.html
@@ -14,7 +14,7 @@
       <img src="../../images/logo.png" alt="Privacy Redirect logo">
     </div>
     <small>
-      <span>Version</span>: 1.1.4</span>
+      <span>Version:&nbsp;<span id="version"></span></span>
     </small>
   </header>
 
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 => {