From d4a40a20b6c45fbae6a5d5176afd8110cfe4d405 Mon Sep 17 00:00:00 2001 From: Raz Date: Fri, 6 Sep 2024 12:15:04 +0200 Subject: [PATCH] clean up --- PadelClub/Data/TeamRegistration.swift | 4 --- .../Views/Calling/TeamsCallingView.swift | 4 +-- PadelClub/Views/Team/EditingTeamView.swift | 30 ++++++++++--------- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/PadelClub/Data/TeamRegistration.swift b/PadelClub/Data/TeamRegistration.swift index 1c90fef..58c1b62 100644 --- a/PadelClub/Data/TeamRegistration.swift +++ b/PadelClub/Data/TeamRegistration.swift @@ -503,10 +503,6 @@ final class TeamRegistration: ModelObject, Storable { else { confirmationDate = nil } } - func didConfirmSummon() -> Bool { - confirmationDate != nil - } - func tournamentObject() -> Tournament? { return Store.main.findById(tournament) } diff --git a/PadelClub/Views/Calling/TeamsCallingView.swift b/PadelClub/Views/Calling/TeamsCallingView.swift index 4575acb..86e4d23 100644 --- a/PadelClub/Views/Calling/TeamsCallingView.swift +++ b/PadelClub/Views/Calling/TeamsCallingView.swift @@ -32,7 +32,7 @@ struct TeamsCallingView: View { } } .buttonStyle(.plain) - .listRowView(isActive: team.didConfirmSummon(), color: .green, hideColorVariation: true) + .listRowView(isActive: team.confirmed(), color: .green, hideColorVariation: true) } } } @@ -52,7 +52,7 @@ struct TeamsCallingView: View { Logger.error(error) } } label: { - if team.didConfirmSummon() { + if team.confirmed() { Label("Confirmation reçue", systemImage: "checkmark.circle.fill").foregroundStyle(.green) } else { Label("Confirmation reçue", systemImage: "circle").foregroundStyle(.logoRed) diff --git a/PadelClub/Views/Team/EditingTeamView.swift b/PadelClub/Views/Team/EditingTeamView.swift index d3ac838..16eaad7 100644 --- a/PadelClub/Views/Team/EditingTeamView.swift +++ b/PadelClub/Views/Team/EditingTeamView.swift @@ -77,21 +77,10 @@ struct EditingTeamView: View { Text("Convocation") } - Button { - team.toggleSummonConfirmation() - do { - try self.tournament.tournamentStore.teamRegistrations.addOrUpdate(instance: team) - } catch { - Logger.error(error) - } - } label: { - if team.didConfirmSummon() { - Label("Confirmation reçue", systemImage: "checkmark.circle.fill").foregroundStyle(.green) - } else { - Label("Confirmation reçue", systemImage: "circle").foregroundStyle(.logoRed) - } + Toggle(isOn: confirmationReceived) { + Text("Confirmation reçue") + Text("L'équipe vous a confirmé leur convocation") } - } else { Text("Cette équipe n'a pas été convoquée") } @@ -273,6 +262,19 @@ struct EditingTeamView: View { .navigationBarTitleDisplayMode(.inline) } + private var confirmationReceived: Binding { + Binding { + team.confirmed() + } set: { confirmed in + team.confirmationDate = confirmed ? Date() : nil + do { + try tournamentStore.teamRegistrations.addOrUpdate(instance: team) + } catch { + Logger.error(error) + } + } + } + private var hasArrived: Binding { Binding { team.unsortedPlayers().allSatisfy({ $0.hasArrived })