summaryrefslogtreecommitdiffstats
path: root/pages
diff options
context:
space:
mode:
authorSimonBrazell <simon@brazell.com.au>2019-10-30 16:48:38 +1100
committerSimonBrazell <simon@brazell.com.au>2019-10-30 16:48:38 +1100
commiteeef7f052bce6915a4227b886d4cb714c9672b05 (patch)
treee3f86ac71045580adf6bc6c860e85bea0af430d7 /pages
parentfc3f10de4c6668874f7cd7493862c011fd3c8517 (diff)
downloadprivacy-redirect-eeef7f052bce6915a4227b886d4cb714c9672b05.tar.gz
privacy-redirect-eeef7f052bce6915a4227b886d4cb714c9672b05.tar.bz2
privacy-redirect-eeef7f052bce6915a4227b886d4cb714c9672b05.zip
Add instances to popup menu
Diffstat (limited to 'pages')
-rw-r--r--pages/popup/popup.html11
-rw-r--r--pages/popup/popup.js47
2 files changed, 42 insertions, 16 deletions
diff --git a/pages/popup/popup.html b/pages/popup/popup.html
index 889ffcd..22ccb02 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.1</span>
+ <span>Version</span>: 1.1.2</span>
</small>
</header>
@@ -36,9 +36,12 @@
</div>
</section>
- <footer>
- <a class="button" id="options" target="_blank">Options</a>
- </footer>
+ <section class="options settings_block">
+ <h1>Nitter Instance</h1>
+ <input id="nitterInstance" type="url" placeholder="https://nitter.net">
+ <h1>Invidious Instance</h1>
+ <input id="invidiousInstance" type="url" placeholder="https://invidio.us">
+ </section>
<script src="./popup.js"></script>
diff --git a/pages/popup/popup.js b/pages/popup/popup.js
index 2837cdb..799b5ea 100644
--- a/pages/popup/popup.js
+++ b/pages/popup/popup.js
@@ -2,27 +2,50 @@
let disableNitter = document.querySelector('#disableNitter');
let disableInvidious = document.querySelector('#disableInvidious');
+let nitterInstance = document.querySelector('#nitterInstance');
+let invidiousInstance = document.querySelector('#invidiousInstance');
chrome.storage.sync.get(
- ['disableNitter', 'disableInvidious'],
- (result) => {
+ ['disableNitter', 'disableInvidious', 'nitterInstance', 'invidiousInstance'],
+ result => {
disableNitter.checked = !result.disableNitter;
disableInvidious.checked = !result.disableInvidious;
+ nitterInstance.value = result.nitterInstance || '';
+ invidiousInstance.value = result.invidiousInstance || '';
}
);
-disableNitter.addEventListener('change', (event) => {
+function debounce(func, wait, immediate) {
+ let timeout;
+ return function () {
+ let context = this, args = arguments;
+ let later = function () {
+ timeout = null;
+ if (!immediate) func.apply(context, args);
+ };
+ let callNow = immediate && !timeout;
+ clearTimeout(timeout);
+ timeout = setTimeout(later, wait);
+ if (callNow) func.apply(context, args);
+ };
+};
+
+let nitterInstanceChange = debounce(() => {
+ chrome.storage.sync.set({ nitterInstance: nitterInstance.value });
+}, 500);
+
+nitterInstance.addEventListener('input', nitterInstanceChange);
+
+let invidiousInstanceChange = debounce(() => {
+ chrome.storage.sync.set({ invidiousInstance: invidiousInstance.value });
+}, 500);
+
+invidiousInstance.addEventListener('input', invidiousInstanceChange);
+
+disableNitter.addEventListener('change', event => {
chrome.storage.sync.set({ disableNitter: !event.target.checked });
});
-disableInvidious.addEventListener('change', (event) => {
+disableInvidious.addEventListener('change', event => {
chrome.storage.sync.set({ disableInvidious: !event.target.checked });
});
-
-document.querySelector('#options').addEventListener('click', () => {
- if (chrome.runtime.openOptionsPage) {
- chrome.runtime.openOptionsPage();
- } else {
- window.open(chrome.runtime.getURL('../options/options.html'));
- }
-}); \ No newline at end of file