diff options
author | Simon Brazell <simon.brazell@gmail.com> | 2019-10-07 22:59:31 +1100 |
---|---|---|
committer | Simon Brazell <simon.brazell@gmail.com> | 2019-10-07 22:59:31 +1100 |
commit | 7249afb8ed86690f9ab7ce0b4bdd604f2c41c291 (patch) | |
tree | d495be3bdbe5d580253eecc1e4c4ebdeb876ddde /pages | |
parent | Add popup & options pages (diff) | |
download | libredirect-7249afb8ed86690f9ab7ce0b4bdd604f2c41c291.zip |
Complete options & popup menus
Diffstat (limited to 'pages')
-rw-r--r-- | pages/options/options.html | 52 | ||||
-rw-r--r-- | pages/options/options.js | 26 | ||||
-rw-r--r-- | pages/popup/popup.html | 23 | ||||
-rw-r--r-- | pages/popup/popup.js | 23 | ||||
-rw-r--r-- | pages/styles.css (renamed from pages/popup/popup.css) | 10 |
5 files changed, 103 insertions, 31 deletions
diff --git a/pages/options/options.html b/pages/options/options.html index f51f7201..124aa4bf 100644 --- a/pages/options/options.html +++ b/pages/options/options.html @@ -2,26 +2,46 @@ <html> <head> - <title>My Test Extension Options</title> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + <title></title> + <link href="../styles.css" rel="stylesheet"> + <title>Privacy Redirect Options</title> </head> <body> - Favorite color: - <select id="color"> - <option value="red">red</option> - <option value="green">green</option> - <option value="blue">blue</option> - <option value="yellow">yellow</option> - </select> - - <label> - <input type="checkbox" id="like"> - I like colors. - </label> - - <div id="status"></div> - <button id="save">Save</button> + <section class="options settings_block"> + <div class="onoffswitch switch" aria-label="Toggle Nitter redirects"> + <h1>Nitter Redirects</h1> + <input aria-hidden="true" id="disableNitter" type="checkbox" checked> + <label for="disableNitter" class="checkbox-label"> + </label> + </div> + </section> + + <section class="options settings_block"> + <div class="onoffswitch switch" aria-label="Toggle Invidious redirects"> + <h1>Invidious Redirects</h1> + <input aria-hidden="true" id="disableInvidious" type="checkbox" checked> + <label for="disableInvidious" class="checkbox-label"> + </label> + </div> + </section> + + <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> + + <footer> + <a class="button" id="save">Save</a> + </footer> + + <script src="./options.js"></script> + </body> </html> \ No newline at end of file diff --git a/pages/options/options.js b/pages/options/options.js new file mode 100644 index 00000000..b5c097d7 --- /dev/null +++ b/pages/options/options.js @@ -0,0 +1,26 @@ +'use strict'; + +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', 'nitterInstance', 'invidiousInstance'], + (result) => { + disableNitter.checked = !result.disableNitter; + disableInvidious.checked = !result.disableInvidious; + nitterInstance.value = result.nitterInstance || ''; + invidiousInstance.value = result.invidiousInstance || ''; + } +); + +document.querySelector('#save').addEventListener('click', () => { + chrome.storage.sync.set({ + disableNitter: !disableNitter.checked, + disableInvidious: !disableInvidious.checked, + nitterInstance: nitterInstance.value, + invidiousInstance: invidiousInstance.value + }); + window.close(); +}); \ No newline at end of file diff --git a/pages/popup/popup.html b/pages/popup/popup.html index 0e28a99a..889ffcde 100644 --- a/pages/popup/popup.html +++ b/pages/popup/popup.html @@ -5,7 +5,7 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title></title> - <link href="./popup.css" rel="stylesheet"> + <link href="../styles.css" rel="stylesheet"> </head> <body> @@ -14,26 +14,24 @@ <img src="../../images/logo.png" alt="Privacy Redirect logo"> </div> <small> - <span>Version</span>: 1.0.2</span> + <span>Version</span>: 1.1.1</span> </small> </header> - <section id="disableNitter" class="options settings_block"> + <section class="options settings_block"> <div class="onoffswitch switch" aria-label="Toggle Nitter redirects"> - <h1 id="onoffswitch_label">Nitter Redirects</h1> - <span class="slider round"></span> - <input aria-hidden="true" id="onoffnitter" type="checkbox" checked> <label id="onoffnitter__label" - for="onoffnitter"> + <h1>Nitter Redirects</h1> + <input aria-hidden="true" id="disableNitter" type="checkbox" checked> + <label for="disableNitter" class="checkbox-label"> </label> </div> </section> - <section id="disableInvidious" class="options settings_block"> + <section class="options settings_block"> <div class="onoffswitch switch" aria-label="Toggle Invidious redirects"> - <h1 id="onoffinvidious_label">Invidious Redirects</h1> - <span class="slider round"></span> - <input aria-hidden="true" id="onoffinvidious" type="checkbox" checked> <label id="onoffinvidious_label" - for="onoffinvidious"> + <h1>Invidious Redirects</h1> + <input aria-hidden="true" id="disableInvidious" type="checkbox" checked> + <label for="disableInvidious" class="checkbox-label"> </label> </div> </section> @@ -43,6 +41,7 @@ </footer> <script src="./popup.js"></script> + </body> </html> \ No newline at end of file diff --git a/pages/popup/popup.js b/pages/popup/popup.js index 0dddb49c..2837cdb2 100644 --- a/pages/popup/popup.js +++ b/pages/popup/popup.js @@ -1,4 +1,25 @@ -document.querySelector('#options').addEventListener('click', function () { +'use strict'; + +let disableNitter = document.querySelector('#disableNitter'); +let disableInvidious = document.querySelector('#disableInvidious'); + +chrome.storage.sync.get( + ['disableNitter', 'disableInvidious'], + (result) => { + disableNitter.checked = !result.disableNitter; + disableInvidious.checked = !result.disableInvidious; + } +); + +disableNitter.addEventListener('change', (event) => { + chrome.storage.sync.set({ disableNitter: !event.target.checked }); +}); + +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 { diff --git a/pages/popup/popup.css b/pages/styles.css index eebab8e3..5a233524 100644 --- a/pages/popup/popup.css +++ b/pages/styles.css @@ -73,11 +73,17 @@ footer a.button { } /* Elements */ + +input[type=url] { + width: 100%; + margin-bottom: 5px; +} + input[type=checkbox] { opacity: 0; } -label { +.checkbox-label { background: grey; border-radius: 25px; color: var(--text-main); @@ -91,7 +97,7 @@ label { width: 50px; } -label:after { +.checkbox-label:after { background: #fff; border-radius: 90px; content: ''; |