import Head from 'next/head';
import React from 'react';
import 'bootstrap/dist/css/bootstrap.min.css';
import { requestTournament } from '../js/api';
import { BigImage, Footer, TurniereNavigation } from '../js/CommonComponents.js';
import { ErrorPageComponent } from '../js/components/ErrorComponents.js';
import {
Container,
Button,
Card,
CardBody,
CardTitle,
Table
} from 'reactstrap';
import { connect } from 'react-redux';
import '../static/everypage.css';
import '../static/css/index.css';
class EditTournamentPage extends React.Component {
static async getInitialProps({query}) {
return {query};
}
constructor(props) {
super(props);
this.state = {
validCode: true
};
}
componentDidMount() {
requestTournament(this.props.query.code, () => {
this.setState({ validCode: true });
this._edittournamentcontent.notifyOfContentUpdate();
}, () => {
this.setState({ validCode: false });
});
}
render() {
const { validCode } = this.state;
const { name } = this.props;
if(validCode) {
return (
Turnie.re - Turnier bearbeiten
{ this._edittournamentcontent = edittournamentcontent; }}/>
);
} else {
return (
);
}
}
}
function mapStateToTournamentInfo(state) {
const { name } = state.tournamentinfo;
return { name };
}
export default connect(
mapStateToTournamentInfo
)(EditTournamentPage);
class EditTournamentContent extends React.Component {
render() {
const { code } = this.props;
return (
{ this._edittournamentpropertiesfield = field; }}/>
{ this._editteamfield = field; }}/>
);
}
notifyOfContentUpdate() {
this._edittournamentpropertiesfield.notifyOfContentUpdate();
this._editteamfield.notifyOfContentUpdate();
}
}
function ReturnToTournamentButton() {
return (
);
}
class EditTournamentPropertiesField extends React.Component {
render() {
return (
Turnier-Eigenschaften ändern
{ this._visibleedittournamentform = form; }}/>
);
}
notifyOfContentUpdate() {
this._visibleedittournamentform.getWrappedInstance().notifyOfContentUpdate();
}
}
class EditTournamentForm extends React.Component {
constructor(props) {
super(props);
this.state = {
name : '',
description : '',
isPublic : false
};
}
render() {
const { name, description, isPublic } = this.state;
return (
);
}
notifyOfContentUpdate() {
const { name, description, isPublic } = this.props;
this.setState({
name : name? name : '',
description : description? description : '',
isPublic : isPublic
});
}
handleClick(input) {
// TODO: Apply changes to the tournament properties
}
handleNameInput(input) {
this.setState({ name : input.target.value });
}
handleDescriptionInput(input) {
this.setState({ description : input.target.value });
}
handlePublicInput(input) {
this.setState({ public : input.target.value });
}
}
function mapStateToTournamentFormProps(state) {
const { name, description, isPublic } = state.tournamentinfo;
return { name, description, isPublic };
}
const VisibleEditTournamentForm = connect(
mapStateToTournamentFormProps,
null, null, { withRef : true}
)(EditTournamentForm);
class EditTeamField extends React.Component {
render() {
return (
Team-Namen ändern
{ this._visibleeditteamnamesform = form; }}/>
);
}
notifyOfContentUpdate() {
this._visibleeditteamnamesform.getWrappedInstance().notifyOfContentUpdate();
}
}
class EditTeamNamesForm extends React.Component {
constructor(props) {
super(props);
this.state = {
teams : []
};
}
render() {
const { teams } = this.state;
return (
{
teams.map((team, index) =>
|
{ team.name } |
)
}
);
}
notifyOfContentUpdate() {
const { teams } = this.props;
this.setState({
teams : teams
});
}
handleClick(input, index) {
// TODO: Apply changes to the tournament properties
}
}
function mapStateToTeamFormProps(state) {
const { teams } = state.tournamentinfo;
return { teams };
}
const VisibleEditTeamNamesForm = connect(
mapStateToTeamFormProps,
null, null, { withRef : true }
)(EditTeamNamesForm);