From 5a34b415f2707be0734ae031eeab5e5c0094e5d0 Mon Sep 17 00:00:00 2001 From: JP1998 Date: Thu, 11 Apr 2019 14:07:59 +0200 Subject: [PATCH 1/3] Add API method for clearing existing errors --- js/api.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/js/api.js b/js/api.js index 84ae430..79ffa4e 100644 --- a/js/api.js +++ b/js/api.js @@ -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', @@ -219,6 +221,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 }); @@ -348,6 +355,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, From f3c429692c7df104476d0912686282742690912c Mon Sep 17 00:00:00 2001 From: JP1998 Date: Thu, 11 Apr 2019 14:13:43 +0200 Subject: [PATCH 2/3] Make the login and register components clear errors as soon as they are mounted --- js/components/Login.js | 9 ++++++++- pages/register.js | 40 +++++++++++++++++++++++++--------------- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/js/components/Login.js b/js/components/Login.js index bfa99e4..174677b 100644 --- a/js/components/Login.js +++ b/js/components/Login.js @@ -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); diff --git a/pages/register.js b/pages/register.js index 91ebc81..74de939 100644 --- a/pages/register.js +++ b/pages/register.js @@ -16,7 +16,10 @@ import { import { TurniereNavigation } from '../js/components/Navigation'; import { Footer } from '../js/components/Footer'; import { register } from '../js/api'; -import { verifyCredentials } from '../js/api'; +import { + verifyCredentials, + clearErrors +} from '../js/api'; import '../static/everypage.css'; @@ -43,20 +46,27 @@ export default class RegisterPage extends React.Component { } } -function Register() { - return ( - - - -

Account anlegen

- - -
-
-
- ); +class Register extends React.Component { + + componentDidMount() { + clearErrors(); + } + + render() { + return ( + + + +

Account anlegen

+ + +
+
+
+ ); + } } class RegisterErrorList extends React.Component { From 6962f50ac6aa30a69e693be6291635f4a9e20a7b Mon Sep 17 00:00:00 2001 From: Jonny Date: Tue, 16 Apr 2019 10:54:25 +0200 Subject: [PATCH 3/3] Remove unused import --- pages/register.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pages/register.js b/pages/register.js index fd7a619..d655a5e 100644 --- a/pages/register.js +++ b/pages/register.js @@ -17,7 +17,6 @@ import { TurniereNavigation } from '../js/components/Navigation'; import { Footer } from '../js/components/Footer'; import { register, - verifyCredentials, clearErrors } from '../js/api'; @@ -162,4 +161,4 @@ function AccountRequirementMarketing() { ); -} \ No newline at end of file +}