From 70047a2e551e8774b26d5e6ddcd4041a35ba87d0 Mon Sep 17 00:00:00 2001 From: Jonny Date: Tue, 18 Jun 2019 13:49:12 +0200 Subject: [PATCH 1/4] Add notifications and redirect after trying to register --- js/api.js | 8 ++++++-- pages/register.js | 14 +++++++++++++- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/js/api.js b/js/api.js index 6eb486c..b440bde 100644 --- a/js/api.js +++ b/js/api.js @@ -50,6 +50,7 @@ const reducerUserinfo = (state = defaultStateUserinfo, action) => { __store.dispatch({ type: actionTypesUserinfo.REGISTER_RESULT_SUCCESS }); + action.parameters.successCallback(); storeOptionalToken(resp); }).catch(error => { if (error.response) { @@ -70,6 +71,7 @@ const reducerUserinfo = (state = defaultStateUserinfo, action) => { } }); } + action.parameters.errorCallback(); }); return Object.assign({}, state, {}); case actionTypesUserinfo.REGISTER_RESULT_SUCCESS: @@ -357,13 +359,15 @@ export function verifyCredentials() { } } -export function register(username, email, password) { +export function register(username, email, password, successCallback, errorCallback) { __store.dispatch({ type: actionTypesUserinfo.REGISTER, parameters: { username: username, email: email, - password: password + password: password, + successCallback: successCallback, + errorCallback: errorCallback }, state: __store.getState() }); diff --git a/pages/register.js b/pages/register.js index b7fc0ca..83506e6 100644 --- a/pages/register.js +++ b/pages/register.js @@ -1,6 +1,8 @@ import Head from 'next/head'; import React from 'react'; import {connect} from 'react-redux'; +import {notify} from 'react-notify-toast'; +import Router from 'next/router'; import { Button, Card, CardBody, Container, Form, FormGroup, FormText, Input, Label } from 'reactstrap'; @@ -95,12 +97,22 @@ class RegisterForm extends React.Component { Du akzeptierst die Datenschutzbestimmungen, wenn du auf Registrieren klickst. - ); } + registerUser() { + register( + this.state.username, this.state.email, this.state.password, () => { + notify.show('Sie wurden erfolgreich registriert, ' + this.state.username + '!', 'success', 5000); + Router.push('/'); + }, () => { + notify.show('Sie konnten nicht registriert werden.', 'warning', 5000); + }); + } + handlePasswordInput(input) { this.setState({password: input.target.value}); } From 4068c7c621ced29247e75d4a8d0593367b82ff91 Mon Sep 17 00:00:00 2001 From: Felix Hamme Date: Tue, 18 Jun 2019 14:07:11 +0200 Subject: [PATCH 2/4] Add link to create-tournament-page on private and public tournament list --- pages/list.js | 3 ++- pages/private.js | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/pages/list.js b/pages/list.js index 3d410e1..84dcbae 100644 --- a/pages/list.js +++ b/pages/list.js @@ -38,7 +38,8 @@ function PublicTournaments(props) { - zu den privaten Turnieren + zu den privaten Turnieren + neues Turnier erstellen ); } else { diff --git a/pages/private.js b/pages/private.js index 2f7df41..c7a5200 100644 --- a/pages/private.js +++ b/pages/private.js @@ -19,7 +19,7 @@ class PrivateTournamentsPage extends React.Component { Private Turniere: turnie.re - +