p5.js-web-editor/client/modules/User/pages/LoginView.js

47 lines
978 B
JavaScript
Raw Normal View History

2016-06-24 00:29:55 +02:00
import React from 'react';
import { reduxForm } from 'redux-form';
import { validateAndLoginUser } from '../actions';
2016-06-24 00:29:55 +02:00
import LoginForm from '../components/LoginForm';
2016-08-31 21:12:18 +02:00
import GithubButton from '../components/GithubButton';
2016-06-24 00:29:55 +02:00
2016-06-25 00:18:22 +02:00
function LoginView(props) {
return (
<div className="login">
<h1>Login</h1>
<LoginForm {...props} />
<h2 className="login__divider">Or</h2>
2016-08-31 21:12:18 +02:00
<GithubButton buttonText="Login with Github" />
2016-06-25 00:18:22 +02:00
</div>
);
2016-06-24 00:29:55 +02:00
}
function mapStateToProps(state) {
return {
user: state.user
};
}
function mapDispatchToProps() {
return {
validateAndLoginUser
};
2016-06-24 00:29:55 +02:00
}
function validate(formProps) {
const errors = {};
2016-06-24 20:22:32 +02:00
if (!formProps.email) {
errors.email = 'Please enter a email';
}
if (!formProps.password) {
errors.password = 'Please enter a password';
}
2016-06-24 00:29:55 +02:00
return errors;
}
export default reduxForm({
form: 'login',
fields: ['email', 'password'],
validate
}, mapStateToProps, mapDispatchToProps)(LoginView);