aboutsummaryrefslogtreecommitdiff
path: root/src/settings
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings')
-rw-r--r--src/settings/index.js22
-rw-r--r--src/settings/settings.html18
-rw-r--r--src/settings/settings.scss8
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;
+ }
+}