react-logo/frontend/src/pages/home.js

51 lines
1.3 KiB
JavaScript
Raw Normal View History

2020-02-17 22:28:57 +01:00
import React from 'react'
import Page from './page';
2020-02-25 17:21:55 +01:00
import { ExtendedUserForm as UserForm } from '../components/UserForm';
import { connect } from 'react-redux';
import { createUser } from '../actions/user.actions';
2020-02-17 22:28:57 +01:00
export class HomePage extends React.PureComponent {
2020-02-25 15:10:42 +01:00
2020-02-17 22:28:57 +01:00
render() {
const { createUserFormError } = this.props;
const onUserFormSubmit = ({ username, password }) => {
this.props.dispatch(createUser(username, password));
};
2020-02-17 22:28:57 +01:00
return (
<Page title="home">
<div className="section">
<h1 className="title">Bienvenue sur PleaseWait !</h1>
<h2 className="subtitle">Le gestionnaire de ticket simplifié.</h2>
2020-02-19 13:51:14 +01:00
<a href="#/logout">Se déconnecter</a>
<UserForm onSubmit={onUserFormSubmit} errors={createUserFormError} />
2020-02-17 22:28:57 +01:00
</div>
</Page>
);
}
2020-02-25 15:10:42 +01:00
}
function transformErrorCode(code) {
switch (code) {
case 0:
return {
username: {
hasError: true,
message: "Le nom d'utilisateur ne peut pas être vide. (API)"
}
}
default:
return null;
}
}
function mapStateToProps({ users }) {
return {
createUserFormError: transformErrorCode(users.createUserForm.errorCode),
}
}
export const ConnectedHomePage = connect(mapStateToProps)(HomePage)