{props.tournament.isPublic ? 'Das Turnier ist öffentlich.' : 'Das Turnier ist privat.'}
Turnier-Code: {props.tournament.code}
);
}
function TournamentContainer(props) {
if (props.data === null) {
return null
} else {
return
}
}
function Stage(props) {
return (
{props.level}
{props.matches.map((match => (
)))}
);
}
class Match extends React.Component {
constructor(props) {
super(props);
this.state = {
isHovered: false,
modal: false
};
this.handleHover = this.handleHover.bind(this);
this.toggleModal = this.toggleModal.bind(this);
}
handleHover() {
this.setState({isHovered: !this.state.isHovered});
}
toggleModal() {
this.setState({modal: !this.state.modal})
}
render() {
let cardClass, team1Class, team2Class, smallMessage;
//possible states: single_team not_ready not_started in_progress team1_won team2_won undecided
switch (this.props.match.state) {
case 'in_progress':
cardClass = 'table-warning border-warning';
smallMessage = 'Spiel läuft';
break;
case 'team1_won':
team1Class = 'font-weight-bold';
team2Class = 'lost-team';
cardClass = 'table-success border-success';
smallMessage = 'Gewinner: ' + this.props.match.team1;
break;
case 'team2_won':
team1Class = 'lost-team';
team2Class = 'font-weight-bold';
cardClass = 'table-success border-success';
smallMessage = 'Gewinner: ' + this.props.match.team2;
break;
case 'single_team':
team2Class = 'text-muted';
cardClass = 'table-success border-success';
smallMessage = 'kein Gegner, Team kommt weiter';
break;
case 'not_ready':
smallMessage = 'Spiel kann noch nicht gestartet werden';
break;
case 'not_started':
smallMessage = 'Spiel kann gestartet werden';
break;
case 'undecided':
cardClass = 'table-success border-success';
smallMessage = 'Spiel beendet, unentschieden';
break;
}
return (
{smallMessage}
);
}
}
function MatchModal(props) {
let title;
//possible states: single_team not_ready not_started in_progress team1_won team2_won undecided
switch (props.match.state) {
case 'in_progress':
title = 'Spiel läuft';
break;
case 'team1_won':
title = 'Spiel beendet';
break;
case 'team2_won':
title = 'Spiel beendet';
break;
case 'single_team':
title = 'kein Gegner, Team kommt weiter';
break;
case 'not_ready':
title = 'Spiel kann noch nicht gestartet werden';
break;
case 'not_started':
title = 'Spiel kann gestartet werden';
break;
case 'undecided':
title = 'Spiel beendet';
break;
}
return (
{title}
{props.match.state === 'not_started' ?
: ''}{' '}
);
}
function MatchTable(props) {
let team1Class, team2Class;
//possible states: single_team not_ready not_started in_progress team1_won team2_won undecided
switch (props.match.state) {
case 'in_progress':
break;
case 'team1_won':
team1Class = 'font-weight-bold';
team2Class = 'lost-team';
break;
case 'team2_won':
team1Class = 'lost-team';
team2Class = 'font-weight-bold';
break;
case 'single_team':
team2Class = 'text-muted';
break;
case 'not_ready':
break;
case 'not_started':
break;
case 'undecided':
break;
}
return (