53 lines
1.4 KiB
JavaScript
53 lines
1.4 KiB
JavaScript
import React from 'react'
|
|
import Page from './page';
|
|
import { connect } from 'react-redux';
|
|
import { login } from '../actions/login';
|
|
|
|
export class LoginPage extends React.Component {
|
|
|
|
constructor(props) {
|
|
super(props);
|
|
this.login = this.login.bind(this);
|
|
}
|
|
|
|
render() {
|
|
return (
|
|
<Page>
|
|
<div className="columns">
|
|
<div className="column is-4 is-offset-4">
|
|
<div className="box">
|
|
<div className="field">
|
|
<label className="label">Login</label>
|
|
<div className="control">
|
|
<input type="text" className="input" placeholder="My login..." />
|
|
</div>
|
|
</div>
|
|
<div className="field">
|
|
<label className="label">Password</label>
|
|
<div className="control">
|
|
<input className="input" type="password" />
|
|
</div>
|
|
</div>
|
|
<button className="button is-primary" onClick={this.login}>Login</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</Page>
|
|
);
|
|
}
|
|
|
|
componentDidUpdate() {
|
|
if (this.props.user.isLoggedIn) this.props.history.push("/chat");
|
|
}
|
|
|
|
login() {
|
|
this.props.dispatch(login("foo", "bar"))
|
|
}
|
|
|
|
}
|
|
|
|
export default connect(state => {
|
|
return {
|
|
user: state.user
|
|
}
|
|
})(LoginPage) |