]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/helpers/Tournament.js
some discord bot stuff
[alttp.git] / resources / js / helpers / Tournament.js
index 7ff04df0d821da7874e58a56f2337bc69c8d12ea..9d2962d27c5e3f4a63ee2a6cc58f526b068bff22 100644 (file)
@@ -30,6 +30,10 @@ export const getRunners = tournament => {
                .sort(Participant.compareUsername);
 };
 
+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 +42,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 +194,8 @@ export default {
        getTournamentCrew,
        getTournamentMonitors,
        hasRunners,
+       hasScoreboard,
+       hasSignup,
        hasTournamentAdmins,
        hasTournamentCrew,
        hasTournamentMonitors,