X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;f=resources%2Fjs%2Fhelpers%2FTournament.js;h=7270351512938a2f3481244d9dca91bf0c8679dd;hb=249e06be11d0f7778d99956c87d4f0a8ac7e69f7;hp=7ff04df0d821da7874e58a56f2337bc69c8d12ea;hpb=e0616336a824a6d59c4b9d25ef4ed7fa26214cef;p=alttp.git diff --git a/resources/js/helpers/Tournament.js b/resources/js/helpers/Tournament.js index 7ff04df..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,14 +52,14 @@ 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) { running[participant.id] += result.score; - entry[Participant.getUserName(participant)] = running[participant.id]; } + entry[Participant.getUserName(participant)] = running[participant.id]; }); return entry; }); @@ -190,6 +204,8 @@ export default { getTournamentCrew, getTournamentMonitors, hasRunners, + hasScoreboard, + hasSignup, hasTournamentAdmins, hasTournamentCrew, hasTournamentMonitors,