Add detection of empty statistics and show according message
This commit is contained in:
parent
a0bcd328e6
commit
3286120f26
|
|
@ -13,9 +13,11 @@ export const defaultStateTournamentStatistics = {
|
|||
description: '',
|
||||
id: -1,
|
||||
name: '',
|
||||
ownerUsername: '',
|
||||
owner_username: '',
|
||||
isPublic: '',
|
||||
|
||||
statistics_available: false,
|
||||
|
||||
most_dominant_team: {},
|
||||
least_dominant_team: {},
|
||||
group_phase_performances: []
|
||||
|
|
@ -28,13 +30,23 @@ export function transformTournamentInfoToStatistics(data) {
|
|||
description: data.description,
|
||||
id: data.id,
|
||||
name: data.name,
|
||||
ownerUsername: data.owner_username,
|
||||
owner_username: data.owner_username,
|
||||
isPublic: data.public
|
||||
};
|
||||
}
|
||||
|
||||
export function transformTournamentStatsToStatistics(data) {
|
||||
if(statisticsUnavailable(data)) {
|
||||
return {
|
||||
statistics_available: false,
|
||||
most_dominant_team: {},
|
||||
least_dominant_team: {},
|
||||
group_phase_performances: []
|
||||
};
|
||||
}
|
||||
|
||||
const statistics = {
|
||||
statistics_available: true,
|
||||
most_dominant_team: {
|
||||
points_made: data.most_dominant_score.scored_points,
|
||||
points_received: data.most_dominant_score.received_points,
|
||||
|
|
@ -62,3 +74,8 @@ export function transformTournamentStatsToStatistics(data) {
|
|||
return statistics;
|
||||
}
|
||||
|
||||
function statisticsUnavailable(data) {
|
||||
return data === {} || data.most_dominant_score === null ||
|
||||
data.least_dominant_score === null || data.group_scores === [];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,19 +37,7 @@ class StatisticsTournamentPage extends React.Component {
|
|||
<BigImage text={tournamentStatistics.name}/>
|
||||
<div className='pb-5'>
|
||||
<TournamentInformationView tournament={tournamentStatistics} currentpage='statistics'/>
|
||||
<Container className="py-5">
|
||||
<Row>
|
||||
<Col xs="6">
|
||||
<DominanceShower stats={tournamentStatistics.most_dominant_team} title="Stärkstes Team"/>
|
||||
</Col>
|
||||
<Col xs="6">
|
||||
<DominanceShower stats={tournamentStatistics.least_dominant_team} title="Schwächstes Team"/>
|
||||
</Col>
|
||||
</Row>
|
||||
</Container>
|
||||
<Container className="pb-5">
|
||||
<StandingsTable data={tournamentStatistics}/>
|
||||
</Container>
|
||||
<StatisticsView tournamentStatistics={tournamentStatistics} />
|
||||
</div>
|
||||
<Footer/>
|
||||
</div>
|
||||
|
|
@ -57,6 +45,30 @@ class StatisticsTournamentPage extends React.Component {
|
|||
}
|
||||
}
|
||||
|
||||
function StatisticsView(props) {
|
||||
if (props.tournamentStatistics.statistics_available) {
|
||||
return (<div>
|
||||
<Container className="py-5">
|
||||
<Row>
|
||||
<Col xs="6">
|
||||
<DominanceShower stats={props.tournamentStatistics.most_dominant_team} title="Stärkstes Team"/>
|
||||
</Col>
|
||||
<Col xs="6">
|
||||
<DominanceShower stats={props.tournamentStatistics.least_dominant_team} title="Schwächstes Team"/>
|
||||
</Col>
|
||||
</Row>
|
||||
</Container>
|
||||
<Container className="pb-5">
|
||||
<StandingsTable data={props.tournamentStatistics}/>
|
||||
</Container>
|
||||
</div>);
|
||||
} else {
|
||||
return (<Container className="py-5">
|
||||
<h2 className="text-center">Statistiken sind für dieses Turnier leider nicht verfügbar.</h2>
|
||||
</Container>);
|
||||
}
|
||||
}
|
||||
|
||||
function mapTournamentStatisticsToProps(state) {
|
||||
const {tournamentStatistics} = state;
|
||||
return {tournamentStatistics};
|
||||
|
|
|
|||
Loading…
Reference in New Issue