diff --git a/js/components/GroupStage.js b/js/components/GroupStage.js index 2c9791e..7b0ac40 100644 --- a/js/components/GroupStage.js +++ b/js/components/GroupStage.js @@ -3,6 +3,7 @@ import {Match} from './Match'; import React, {Component} from 'react'; import {getGroup} from '../redux/tournamentApi'; import {notify} from 'react-notify-toast'; +import {sortMatchesByPositionAscending} from '../utils/sorting'; export default class GroupStage extends Component { constructor(props) { @@ -35,6 +36,7 @@ function ShowMatchesToggleButton(props) { ); } + export class Group extends Component { constructor(props) { super(props); @@ -62,7 +64,7 @@ export class Group extends Component {

Gruppe {this.state.number}

- {this.state.matches.map((match => ( + {this.state.matches.sort(sortMatchesByPositionAscending()).map((match => ( )))} diff --git a/js/components/Match.js b/js/components/Match.js index b80b3f3..d9f3211 100644 --- a/js/components/Match.js +++ b/js/components/Match.js @@ -7,6 +7,7 @@ import {MatchTable} from './MatchTable'; import styles from './Match.module.css'; + export class Match extends React.Component { constructor(props) { super(props); diff --git a/js/redux/tournamentApi.js b/js/redux/tournamentApi.js index e1b9602..2a35483 100644 --- a/js/redux/tournamentApi.js +++ b/js/redux/tournamentApi.js @@ -1,5 +1,6 @@ import {getRequest} from './backendApi'; import {getState} from '../api'; +import {sortMatchesByPositionAscending} from '../utils/sorting'; export function getTournament(code, successCallback, errorCallback) { getRequest(getState(), '/tournaments/' + code) @@ -72,15 +73,13 @@ function convertTournament(apiTournament) { function convertPlayoffStage(apiStage) { return { - id: apiStage.id, level: apiStage.level, matches: apiStage.matches.sort((a, b) => { - if (a.position < b.position) { - return -1 - } else if (a.position > b.position) { - return 1 - } else { - return 0 - } - }).map(match => convertMatch(match, false)) + id: apiStage.id, + level: apiStage.level, + matches: apiStage.matches.sort( + sortMatchesByPositionAscending() + ).map( + match => convertMatch(match, false) + ) }; } diff --git a/js/utils/sorting.js b/js/utils/sorting.js new file mode 100644 index 0000000..40179c2 --- /dev/null +++ b/js/utils/sorting.js @@ -0,0 +1,11 @@ +export function sortMatchesByPositionAscending() { + return (a, b) => { + if (a.position < b.position) { + return -1; + } else if (a.position > b.position) { + return 1; + } else { + return 0; + } + }; +}