diff --git a/js/api.js b/js/api.js
index 6eb486c..ad1d6df 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:
@@ -182,7 +184,7 @@ const reducerTournamentinfo = (state = defaultStateTournamentinfo, action) => {
case actionTypesTournamentinfo.CREATE_TOURNAMENT:
postRequest(action.state, '/tournaments', action.parameters.tournament).then(resp => {
storeOptionalToken(resp);
- action.parameters.successCallback();
+ action.parameters.successCallback(resp.data);
}).catch(error => {
if (error.response) {
storeOptionalToken(error.response);
@@ -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/create.js b/pages/create.js
index 0883b4a..50b56e8 100644
--- a/pages/create.js
+++ b/pages/create.js
@@ -21,6 +21,7 @@ import {Footer} from '../js/components/Footer';
import EditableStringList from '../js/components/EditableStringList';
import {createTournament} from '../js/api';
import {WarningPopup} from '../js/components/WarningPopup';
+import Router from 'next/router';
import '../static/css/everypage.css';
import RequireLogin from '../js/components/RequireLogin';
@@ -216,8 +217,8 @@ class CreateTournamentForm extends React.Component {
create() {
if (this.valuesAreCredible()) {
- createTournament(this.generateTournamentCreationObject(), () => {
- notify.show('Das Turnier wurde erfolgreich erstellt.', 'success', 5000);
+ createTournament(this.generateTournamentCreationObject(), data => {
+ Router.push('/t/' + data.id);
}, () => {
notify.show('Das Turnier konnte nicht erstellt werden.', 'warning', 5000);
});
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) {