]> git.localhorst.tv Git - alttp.git/blobdiff - resources/js/helpers/Tournament.js
tournament application
[alttp.git] / resources / js / helpers / Tournament.js
index 7dbcb9b5b294386c8d4a725eeeacdcbb64b854da..25981d87fe0c8e11d58a82a342218d47a2dd2864 100644 (file)
@@ -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) {