From ce11be6c46256d3c78cfeae1e9122b5bb0c3b1a2 Mon Sep 17 00:00:00 2001 From: "Kalle (Sendou)" <38327916+Sendouc@users.noreply.github.com> Date: Tue, 11 Jan 2022 08:52:29 +0200 Subject: [PATCH] Don't show Register button after tournament start --- app/components/tournament/InfoBanner.tsx | 47 +++++++++++++----------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/app/components/tournament/InfoBanner.tsx b/app/components/tournament/InfoBanner.tsx index 42b5ac40f..29aee5fa4 100644 --- a/app/components/tournament/InfoBanner.tsx +++ b/app/components/tournament/InfoBanner.tsx @@ -2,6 +2,7 @@ import { Link, useLoaderData, useLocation } from "remix"; import { DiscordIcon } from "~/components/icons/Discord"; import { TwitterIcon } from "~/components/icons/Twitter"; import { resolveTournamentFormatString } from "~/core/tournament/bracket"; +import { tournamentHasStarted } from "~/core/tournament/utils"; import { FindTournamentByNameForUrlI } from "~/services/tournament"; import { getLogInUrl } from "~/utils"; import { useUser } from "~/utils/hooks"; @@ -109,6 +110,31 @@ function InfoBannerActionButton() { const user = useUser(); const location = useLocation(); + const isAlreadyInATeamButNotCaptain = data.teams + .flatMap((team) => team.members) + .filter(({ captain }) => !captain) + .some(({ member }) => member.id === user?.id); + if (isAlreadyInATeamButNotCaptain) return null; + + const alreadyRegistered = data.teams + .flatMap((team) => team.members) + .some(({ member }) => member.id === user?.id); + if (alreadyRegistered) { + return ( + + Manage roster + + ); + } + + if (tournamentHasStarted(data.brackets)) { + return null; + } + if (!user) { return (
@@ -122,27 +148,6 @@ function InfoBannerActionButton() { ); } - const isAlreadyInATeamButNotCaptain = data.teams - .flatMap((team) => team.members) - .filter(({ captain }) => !captain) - .some(({ member }) => member.id === user.id); - if (isAlreadyInATeamButNotCaptain) return null; - - const alreadyRegistered = data.teams - .flatMap((team) => team.members) - .some(({ member }) => member.id === user.id); - if (alreadyRegistered) { - return ( - - Manage roster - - ); - } - return (