X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;ds=sidebyside;f=resources%2Fjs%2Fhelpers%2FTournament.js;fp=resources%2Fjs%2Fhelpers%2FTournament.js;h=25981d87fe0c8e11d58a82a342218d47a2dd2864;hb=3a774bb649734fc3a2135ec1b52cef9a049880ee;hp=7dbcb9b5b294386c8d4a725eeeacdcbb64b854da;hpb=8d97d023740e438361e659c6e133418e33343178;p=alttp.git diff --git a/resources/js/helpers/Tournament.js b/resources/js/helpers/Tournament.js index 7dbcb9b..25981d8 100644 --- a/resources/js/helpers/Tournament.js +++ b/resources/js/helpers/Tournament.js @@ -59,6 +59,28 @@ export const hasTournamentMonitors = tournament => { return getTournamentMonitors(tournament).length > 0; }; +export const patchApplication = (tournament, application) => { + if (!tournament) return tournament; + if (!tournament.applications || !tournament.applications.length) { + return { + ...tournament, + applications: [application], + }; + } + if (!tournament.applications.find(a => a.user_id == application.user_id)) { + return { + ...tournament, + applications: [...tournament.applications, application], + }; + } + return { + ...tournament, + applications: tournament.applications.map( + a => a.user_id === application.user_id ? application : a, + ), + }; +}; + export const patchParticipant = (tournament, participant) => { if (!tournament) return tournament; if (!tournament.participants || !tournament.participants.length) {