diff --git a/frontend/src/components/tables/standings.tsx b/frontend/src/components/tables/standings.tsx index 40ae9539d..8660d9c89 100644 --- a/frontend/src/components/tables/standings.tsx +++ b/frontend/src/components/tables/standings.tsx @@ -29,11 +29,14 @@ export function StandingsTableForStageItem({ const minPoints = Math.min(...teams_with_inputs.map((input) => parseFloat(input.points))); const maxPoints = Math.max(...teams_with_inputs.map((input) => parseFloat(input.points))); - const rows = teams_with_inputs - .sort((p1: StageItemInputFinal, p2: StageItemInputFinal) => (p1.points > p2.points ? 1 : -1)) - .sort((p1: StageItemInputFinal, p2: StageItemInputFinal) => - sortTableEntries(p1, p2, tableState), - ) + const rows = [...teams_with_inputs] + .sort((p1: StageItemInputFinal, p2: StageItemInputFinal) => { + if (tableState.sortField === 'name') { + return sortTableEntries(p1.team, p2.team, tableState); + } + const order = parseFloat(p1.points) - parseFloat(p2.points); + return tableState.reversed ? order : -order; + }) .slice(0, maxTeamsToDisplay) .map((team_with_input, index) => (