From d33b37cdb9d2956f5f2d23ab4e71e35db137b16e Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Sun, 19 Nov 2017 08:23:51 +0900 Subject: [PATCH] Use Preact for settings and show validation --- src/settings/components/index.jsx | 48 +++++++++++++++---------- src/settings/components/site.scss | 2 ++ src/settings/components/ui/input.jsx | 50 +++++++++++++++++++++++++++ src/settings/components/ui/input.scss | 17 +++++++++ 4 files changed, 99 insertions(+), 18 deletions(-) create mode 100644 src/settings/components/ui/input.jsx create mode 100644 src/settings/components/ui/input.scss diff --git a/src/settings/components/index.jsx b/src/settings/components/index.jsx index bb2045a..98d8fb2 100644 --- a/src/settings/components/index.jsx +++ b/src/settings/components/index.jsx @@ -1,5 +1,6 @@ import './site.scss'; import { h, Component } from 'preact'; +import Input from './ui/input'; import * as settingActions from 'settings/actions/setting'; import * as validator from 'shared/validators/setting'; @@ -10,6 +11,9 @@ class SettingsComponent extends Component { this.state = { settings: { json: '', + }, + errors: { + json: '', } }; this.context.store.subscribe(this.stateChanged.bind(this)); @@ -35,39 +39,47 @@ class SettingsComponent extends Component {

Configure Vim-Vixen

-

Load settings from:

- - + label='Use plain JSON' + checked={this.state.settings.source === 'json'} + value='json' /> -