1 import Api from './api.js';
2 import App from './app.js';
3 import classNames from 'classnames';
4 import React from 'react';
6 class SigninForm extends React.Component {
9 this.state = {'hideMsg': true, 'msg': '', 'msgOk': false, 'password': '', 'email': ''};
12 handleSubmit = (e) => {
13 Api.Call('SIGNIN', {'password': this.state.password, 'email': this.state.email}, function(err, status, data) {
15 console.error(err, data);
16 this.displayMessage(App.errorCodeToMessage(err.code), false);
20 this.displayMessage('OK', true);
21 this.props.onSuccess(data.token);
27 handlePasswordChange = (event) => {
28 this.setState({'password': event.target.value});
31 handleEmailChange = (event) => {
32 this.setState({'email': event.target.value});
36 this.setState({'hideMsg': true});
39 displayMessage = (msg, ok) => {
40 this.setState({'msg': msg, 'msgOk': ok, 'hideMsg': false});
44 var cName = classNames('form-message', {'hidden': this.state.hideMsg, 'message-ok': this.state.msgOk});
46 <div className="row sign-in">
47 <div className="offset-1 col-10 offset-md-4 col-md-4 text-center">
48 <form role="form" onSubmit={this.handleSubmit}>
49 <input className="form-control" type="email" placeholder="email" onChange={this.handleEmailChange} />
50 <input className="form-control" type="password" placeholder="password" onChange={this.handlePasswordChange} />
51 <input className="form-control submit" type="submit" value="Sign In" />
52 <div className={cName}>{this.state.msg}</div>
54 <a href="#" onClick={App.onInternNavigation.bind(this, '/signup')}><u>Sign up</u></a>
61 export default SigninForm;