import React from 'react' import { connect } from 'react-redux' import { Redirect } from 'react-router' import { translate } from 'react-i18next' import LoginLogo from '../component/Login/LoginLogo.jsx' import LoginLogoImg from '../img/logoTracimWhite.svg' import { postUserLogin } from '../action-creator.async.js' import Card from '../component/common/Card/Card.jsx' import CardHeader from '../component/common/Card/CardHeader.jsx' import CardBody from '../component/common/Card/CardBody.jsx' import InputGroupText from '../component/common/Input/InputGroupText.jsx' import InputCheckbox from '../component/common/Input/InputCheckbox.jsx' import Button from '../component/common/Input/Button.jsx' import LoginBtnForgotPw from '../component/Login/LoginBtnForgotPw.jsx' import { newFlashMessage, setUserConnected } from '../action-creator.sync.js' import {PAGE} from '../helper.js' class Login extends React.Component { constructor (props) { super(props) this.state = { inputLogin: { value: '', isInvalid: false }, inputPassword: { value: '', isInvalid: false }, inputRememberMe: false } } handleChangeLogin = e => this.setState({inputLogin: {...this.state.inputLogin, value: e.target.value}}) handleChangePassword = e => this.setState({inputPassword: {...this.state.inputPassword, value: e.target.value}}) handleChangeRememberMe = () => this.setState(prev => ({inputRememberMe: !prev.inputRememberMe})) handleClickSubmit = async () => { const { history, dispatch, t } = this.props const { inputLogin, inputPassword, inputRememberMe } = this.state const fetchPostUserLogin = await dispatch(postUserLogin(inputLogin.value, inputPassword.value, inputRememberMe)) if (fetchPostUserLogin.status === 200) { dispatch(setUserConnected({...fetchPostUserLogin.json, logged: true})) history.push(PAGE.HOME) } else if (fetchPostUserLogin.status === 400) { dispatch(newFlashMessage(t('Login.fail'), 'danger')) } } render () { if (this.props.user.logged) return else { return (
{'Connexion'}
) } } } const mapStateToProps = ({ user }) => ({ user }) export default connect(mapStateToProps)(translate()(Login))