Merge pull request #13 from turniere/ticket/TURNIERE-121

Fix a bug with the errors persisting after reloading
This commit is contained in:
betanummeric 2019-04-16 11:17:19 +02:00 committed by GitHub
commit 317b48e438
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 47 additions and 17 deletions

View File

@ -21,6 +21,8 @@ const actiontypes_userinfo = {
'LOGIN_RESULT_SUCCESS' : 'LOGIN_RESULT_SUCCESS',
'LOGIN_RESULT_ERROR' : 'LOGIN_RESULT_ERROR',
'CLEAR_ERRORS' : 'CLEAR_ERRORS',
'LOGOUT' : 'LOGOUT',
'VERIFY_CREDENTIALS' : 'VERIFY_CREDENTIALS',
@ -221,6 +223,11 @@ const reducer_userinfo = (state = defaultstate_userinfo, action) => {
error : true,
errorMessages : action.parameters.errorMessages
});
case actiontypes_userinfo.CLEAR_ERRORS:
return Object.assign({}, state, {
error : false,
errorMessages : []
});
case actiontypes_userinfo.LOGOUT:
deleteRequest(action.state, '/users/sign_out').then(() => {
__store.dispatch({ type : actiontypes_userinfo.CLEAR });
@ -357,6 +364,12 @@ export function verifyCredentials() {
}
}
export function clearErrors() {
__store.dispatch({
type: actiontypes_userinfo.CLEAR_ERRORS
});
}
export function register(username, email, password) {
__store.dispatch({
type: actiontypes_userinfo.REGISTER,

View File

@ -3,7 +3,10 @@ import React from 'react';
import {connect} from 'react-redux';
import Router from 'next/router';
import {login} from '../api';
import {
login,
clearErrors
} from '../api';
export function Login(props) {
return (
@ -84,6 +87,10 @@ class LoginForm extends React.Component {
};
}
componentDidMount() {
clearErrors();
}
tryLogin(event) {
event.preventDefault();
login(this.state.email, this.state.password);

View File

@ -15,7 +15,10 @@ import {
import { TurniereNavigation } from '../js/components/Navigation';
import { Footer } from '../js/components/Footer';
import { register } from '../js/api';
import {
register,
clearErrors
} from '../js/api';
import '../static/everypage.css';
@ -38,20 +41,27 @@ export default class RegisterPage extends React.Component {
}
}
function Register() {
return (
<Container className="py-5">
<Card className="shadow">
<CardBody>
<h1 className="custom-font">Account anlegen</h1>
<RegisterForm/>
<div className="mt-3">
<a href="/login" className="mr-3">Ich habe bereits einen Account!</a>
</div>
</CardBody>
</Card>
</Container>
);
class Register extends React.Component {
componentDidMount() {
clearErrors();
}
render() {
return (
<Container className="py-5">
<Card className="shadow">
<CardBody>
<h1 className="custom-font">Account anlegen</h1>
<RegisterForm/>
<div className="mt-3">
<a href="/login" className="mr-3">Ich habe bereits einen Account!</a>
</div>
</CardBody>
</Card>
</Container>
);
}
}
class RegisterErrorList extends React.Component {
@ -151,4 +161,4 @@ function AccountRequirementMarketing() {
</Card>
</Container>
);
}
}