From 8796bbf553a7f0f7571631993536e746f95f13a5 Mon Sep 17 00:00:00 2001 From: JP1998 Date: Mon, 8 Apr 2019 10:51:11 +0200 Subject: [PATCH] Add several restrictions to the edit tournament page --- js/api.js | 2 ++ pages/tournament-edit.js | 76 ++++++++++++++++++++++++++++------------ 2 files changed, 55 insertions(+), 23 deletions(-) diff --git a/js/api.js b/js/api.js index 83f281b..92b9753 100644 --- a/js/api.js +++ b/js/api.js @@ -57,6 +57,7 @@ const defaultstate_tournamentinfo = { description : '', id : -1, name : '', + ownerUsername : '', isPublic : '', stages: [], teams : [] @@ -272,6 +273,7 @@ const reducer_tournamentinfo = (state = defaultstate_tournamentinfo, action) => description : action.parameters.description, id : action.parameters.id, name : action.parameters.name, + ownerUsername : action.parameters.owner_username, isPublic : action.parameters.public, stages: action.parameters.stages, teams : action.parameters.teams diff --git a/pages/tournament-edit.js b/pages/tournament-edit.js index 0c89d91..6d1a9f2 100644 --- a/pages/tournament-edit.js +++ b/pages/tournament-edit.js @@ -5,7 +5,7 @@ import { connect } from 'react-redux'; import { notify } from 'react-notify-toast'; import { requestTournament } from '../js/api'; -import { BigImage, Footer, TurniereNavigation } from '../js/CommonComponents.js'; +import { BigImage, Footer, TurniereNavigation, Login, UserRestrictor, Option } from '../js/CommonComponents.js'; import { ErrorPageComponent } from '../js/components/ErrorComponents.js'; import { @@ -42,7 +42,10 @@ class EditTournamentPage extends React.Component { verifyCredentials(); requestTournament(this.props.query.code, () => { this.setState({ validCode: true }); - this._edittournamentcontent.notifyOfContentUpdate(); + + if(this._edittournamentcontent != null) { + this._edittournamentcontent.notifyOfContentUpdate(); + } }, () => { this.setState({ validCode: false }); }); @@ -50,33 +53,60 @@ class EditTournamentPage extends React.Component { render() { const { validCode } = this.state; - const { name } = this.props; + const { tournamentname, ownerUsername, isSignedIn, username } = this.props; - if(validCode) { - return ( -
- - Turnie.re - Turnier bearbeiten - - - + return ( + +
+ + + + + + ); } } function mapStateToTournamentInfo(state) { - const { name } = state.tournamentinfo; - return { name }; + const { tournamentname, ownerUsername } = state.tournamentinfo; + const { isSignedIn, username } = state.userinfo; + return { tournamentname, ownerUsername, isSignedIn, username }; } export default connect(