Skip to content

Instantly share code, notes, and snippets.

@RedDevilHat
Created May 29, 2017 08:43
Show Gist options
  • Save RedDevilHat/d5e883337ea8746851cb0f2ab210c73c to your computer and use it in GitHub Desktop.
Save RedDevilHat/d5e883337ea8746851cb0f2ab210c73c to your computer and use it in GitHub Desktop.
import React, {Component} from 'react';
import NavBar from '../Layout/NavBar';
import { Button } from 'react-bootstrap';
import {observable, computed, action, extendObservable} from 'mobx';
import {inject, observer} from 'mobx-react';
let serialize = require('form-serialize');
const Login = inject('routing','UserStore')(observer(class Login extends Component {
constructor(props, context) {
super(props, context);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSubmit = (e) => {
const {UserStore} = this.props;
e.preventDefault();
UserStore.me.auth(serialize(document.querySelector('#form'), {hash: true})).then(() => {
const { push } = this.props.routing;
if(UserStore.me.isAuth) {
push('/');
}
});
};
render() {
return (
<div>
<NavBar/>
<div>
<form className="form-horizontal" id="form">
<div className="form-group">
<label htmlFor="email" className="col-sm-2 control-label">Введите email</label>
<div className="col-sm-10">
<input className="form-control" type="email" name="email" id="email"/>
</div>
</div>
<div className="form-group">
<label htmlFor="password" className="col-sm-2 control-label">Введите пароль</label>
<div className="col-sm-10">
<input className="form-control" type="password" name="password" id="password"/>
</div>
</div>
<div className="form-group">
<div className="col-sm-10 col-sm-offset-2">
<Button type="button" onClick={this.handleSubmit} className="btn btn-primary">Login</Button>
</div>
</div>
</form>
</div>
</div>
);
}
}));
export default Login
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment