diff options
Diffstat (limited to 'src/settings')
-rw-r--r-- | src/settings/index.js | 22 | ||||
-rw-r--r-- | src/settings/settings.html | 18 | ||||
-rw-r--r-- | src/settings/settings.scss | 8 |
3 files changed, 48 insertions, 0 deletions
diff --git a/src/settings/index.js b/src/settings/index.js new file mode 100644 index 0000000..2ed060c --- /dev/null +++ b/src/settings/index.js @@ -0,0 +1,22 @@ +import './settings.scss'; +import messages from '../messages'; + +document.addEventListener('DOMContentLoaded', () => { + let form = document.getElementById('vimvixen-settings-form'); + form.addEventListener('submit', (e) => { + e.preventDefault(); + browser.storage.local.set({ + settings: { + json: e.target.elements['plain-json'].value + } + }).then(() => { + return browser.runtime.sendMessage({ + type: messages.SETTINGS_RELOAD + }); + }); + }); + + browser.storage.local.get('settings').then((value) => { + form.elements['plain-json'].value = value.settings.json; + }, console.error); +}); diff --git a/src/settings/settings.html b/src/settings/settings.html new file mode 100644 index 0000000..99d6c6b --- /dev/null +++ b/src/settings/settings.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> + <head> + <meta charset='utf-8'> + </head> + <body> + <h1>Configure</h1> + + <h2>Home page</h2> + <form id='vimvixen-settings-form' class='vimvixen-settings-form'> + <label for='load-from-json'>Load from JSON:</label> + <textarea name='plain-json' spellcheck='false'></textarea> + + <button type='submit'>Save</button> + </form> + <script src='settings.js'></script> + </body> +</html> diff --git a/src/settings/settings.scss b/src/settings/settings.scss new file mode 100644 index 0000000..5707c8a --- /dev/null +++ b/src/settings/settings.scss @@ -0,0 +1,8 @@ +.vimvixen-settings-form { + textarea[name=plain-json] { + font-family: monospace; + width: 100%; + min-height: 64ex; + resize: vertical; + } +} |