From faa9cd8182cfe97ca49d07a5e8ff253f4d31202a Mon Sep 17 00:00:00 2001 From: Raz Date: Wed, 19 Mar 2025 12:47:45 +0100 Subject: [PATCH] lock team --- .../Views/Tournament/Screen/AddTeamView.swift | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/PadelClub/Views/Tournament/Screen/AddTeamView.swift b/PadelClub/Views/Tournament/Screen/AddTeamView.swift index c18ada5..4e9fc2e 100644 --- a/PadelClub/Views/Tournament/Screen/AddTeamView.swift +++ b/PadelClub/Views/Tournament/Screen/AddTeamView.swift @@ -216,6 +216,7 @@ struct AddTeamView: View { let first = strings.first ?? "" handlePasteString(first) } + .disabled(_limitPlayerCount()) .foregroundStyle(.master) .labelStyle(.titleAndIcon) .buttonBorderShape(.capsule) @@ -236,6 +237,7 @@ struct AddTeamView: View { } label: { Label("Coller", systemImage: "doc.on.clipboard").labelStyle(.iconOnly) } + .disabled(_limitPlayerCount()) .foregroundStyle(.master) .labelStyle(.iconOnly) .buttonBorderShape(.capsule) @@ -258,12 +260,20 @@ struct AddTeamView: View { tournament.unsortedPlayers() } + private func _limitPlayerCount() -> Bool { + if tournament.isAnimation() { + return false + } + return _currentSelection().count >= tournament.significantPlayerCount() + } + @ViewBuilder private func _managementView() -> some View { Section { RowButtonView("Ajouter via la base fédérale") { presentPlayerSearch = true } + .disabled(_limitPlayerCount()) } footer: { if let rankSourceDate = tournament.rankSourceDate { Text("Cherchez dans la base fédérale de \(rankSourceDate.monthYearFormatted), vous y trouverez tous les joueurs ayant participé à au moins un tournoi dans les 12 derniers mois.") @@ -288,6 +298,7 @@ struct AddTeamView: View { presentPlayerCreation = true } } + .disabled(_limitPlayerCount()) } footer: { Text("Si le joueur n'a pas encore de licence ou n'a pas encore participé à une compétition, vous pouvez le créer vous-même.") } @@ -557,6 +568,10 @@ struct AddTeamView: View { // } else { // Text("Préparation de l'équipe") } + } footer: { + if _limitPlayerCount() { + Text("Taille maximum de l'équipe atteinte, supprimer un joueur pour pouvoir en rajouter un autre").foregroundStyle(.logoRed) + } }