diff --git a/css/base.css b/css/base.css index 2b651a79..1e2ab158 100644 --- a/css/base.css +++ b/css/base.css @@ -178,6 +178,7 @@ textarea { resize: none; } input[type="text"], +input[type="email"], input[type="password"], textarea { height: 2.5rem; @@ -188,12 +189,14 @@ textarea { } textarea:focus, input[type="text"]:focus, +input[type="email"]:focus, input[type="password"]:focus { border-bottom: 1px solid #2196f3; box-shadow: 0 1px 0 rgba(33, 150, 243, 0.25); } input[type="text"]::placeholder, +input[type="email"]::placeholder, input[type="password"]::placeholder, textarea::placeholder { color: #bbb; diff --git a/index.html b/index.html index 5b01e029..b3d23550 100644 --- a/index.html +++ b/index.html @@ -1011,27 +1011,25 @@ submitClasses += " disabled"; } return ( -
-
- - - -
- -
- -
+
+ + + +
+ +
+ ); } }); @@ -1071,8 +1069,9 @@ handleSubmit: function(e) { e.preventDefault(); if (this.state.password.trim() != this.state.password2.trim()) { - // FIXME(gene): report an error here. + this.props.onError("Passwords don't match", "warn"); } else { + // TODO: check email for validity this.setState({errorCleared: false}); this.props.onCreateAccount( this.state.login.trim(), @@ -1087,7 +1086,7 @@ submitClasses += " disabled"; } return ( -
+
-
@@ -1110,9 +1109,9 @@ value={this.state.fn} onChange={this.handleFnChange} required/>
- +
-
+
); } }); @@ -2190,7 +2189,7 @@
+ onKeyPress={this.handleKeyPress} required autoFocus /> search @@ -3407,7 +3406,8 @@ }