X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fhelpers%2FTournament.js;h=7270351512938a2f3481244d9dca91bf0c8679dd;hb=9b15396c4363a92796cd555f629dffd48fae7ae7;hp=dd87993295082be648cb97dacd5eb8ada0b70cbf;hpb=180c645fdba5ec6d9d91750690e8ff85fe5a0b99;p=alttp.git diff --git a/resources/js/helpers/Tournament.js b/resources/js/helpers/Tournament.js index dd87993..7270351 100644 --- a/resources/js/helpers/Tournament.js +++ b/resources/js/helpers/Tournament.js @@ -30,6 +30,20 @@ export const getRunners = tournament => { .sort(Participant.compareUsername); }; +export const getLastRound = tournament => { + if (!tournament || !tournament.rounds || !tournament.rounds.length) return null; + return tournament.rounds.slice(-1)[0]; +}; + +export const canLoadMoreRounds = tournament => { + const last_round = getLastRound(tournament); + return last_round && last_round.number > 1; +}; + +export const hasScoreboard = tournament => !!(tournament && tournament.type === 'signup-async'); + +export const hasSignup = tournament => !!(tournament && tournament.type === 'signup-async'); + export const getScoreTable = tournament => { if (!tournament || !tournament.rounds || !tournament.rounds.length) return []; const runners = getRunners(tournament); @@ -38,8 +52,8 @@ export const getScoreTable = tournament => { runners.forEach(participant => { running[participant.id] = 0; }); - const data = [...tournament.rounds].reverse().map(round => { - const entry = { number: `#${round.number}` }; + const data = [...tournament.rounds, {}].reverse().map(round => { + const entry = { number: round.number ? `#${round.number}` : '' }; runners.forEach(participant => { const result = Participant.findResult(participant, round); if (result && result.score) { @@ -190,6 +204,8 @@ export default { getTournamentCrew, getTournamentMonitors, hasRunners, + hasScoreboard, + hasSignup, hasTournamentAdmins, hasTournamentCrew, hasTournamentMonitors,