From 58f61f395fdd487ba160723c024077dea2505dee Mon Sep 17 00:00:00 2001 From: Razmig Sarkissian Date: Tue, 30 Sep 2025 17:37:07 +0200 Subject: [PATCH] fix sharing stuff --- .../Navigation/Agenda/ActivityView.swift | 2 +- .../Navigation/Toolbox/ToolboxView.swift | 2 +- .../Views/Shared/SupportButtonView.swift | 18 ++++++-- .../Views/Tournament/TournamentView.swift | 43 ++++++++----------- PadelClub/Views/User/LoginView.swift | 2 +- PadelClub/Views/User/ShareModelView.swift | 8 +++- 6 files changed, 42 insertions(+), 33 deletions(-) diff --git a/PadelClub/Views/Navigation/Agenda/ActivityView.swift b/PadelClub/Views/Navigation/Agenda/ActivityView.swift index 33d66e7..8caba04 100644 --- a/PadelClub/Views/Navigation/Agenda/ActivityView.swift +++ b/PadelClub/Views/Navigation/Agenda/ActivityView.swift @@ -554,7 +554,7 @@ struct ActivityView: View { RowButtonView("Importer via Tenup") { navigation.agendaDestination = .tenup } - SupportButtonView(contentIsUnavailable: true) + SupportButtonView(supportButtonType: .contentIsUnavailable) FooterButtonView("Vous n'êtes pas un juge-arbitre ou un organisateur de tournoi ? En savoir plus") { presentOnboarding = true diff --git a/PadelClub/Views/Navigation/Toolbox/ToolboxView.swift b/PadelClub/Views/Navigation/Toolbox/ToolboxView.swift index df94d1c..cc61638 100644 --- a/PadelClub/Views/Navigation/Toolbox/ToolboxView.swift +++ b/PadelClub/Views/Navigation/Toolbox/ToolboxView.swift @@ -47,7 +47,7 @@ struct ToolboxView: View { ShareLink(item: URLs.main.url) } - SupportButtonView(contentIsUnavailable: false) + SupportButtonView(supportButtonType: .bugReport) Link(destination: URLs.appReview.url) { Text("Partagez vos impressions !") diff --git a/PadelClub/Views/Shared/SupportButtonView.swift b/PadelClub/Views/Shared/SupportButtonView.swift index 9304c8a..492eb86 100644 --- a/PadelClub/Views/Shared/SupportButtonView.swift +++ b/PadelClub/Views/Shared/SupportButtonView.swift @@ -15,8 +15,15 @@ extension URL: Identifiable { return self.absoluteString } } + +enum SupportButtonType { + case contentIsUnavailable + case supervisorRequest + case bugReport +} + struct SupportButtonView: View { - let contentIsUnavailable: Bool + let supportButtonType: SupportButtonType @State private var sentError: ContactManagerError? = nil @State private var zipFilePath: URL? @@ -34,11 +41,16 @@ struct SupportButtonView: View { var body: some View { Group { - if contentIsUnavailable { + switch supportButtonType { + case .supervisorRequest: + Button("Demande d'ajout de superviseur") { + _zip() + } + case .contentIsUnavailable: FooterButtonView("Besoin d'aide ? Un problème ? Contactez-nous !") { _zip() } - } else { + case .bugReport: Button("Signaler un problème") { _zip() } diff --git a/PadelClub/Views/Tournament/TournamentView.swift b/PadelClub/Views/Tournament/TournamentView.swift index 1752144..8bc7794 100644 --- a/PadelClub/Views/Tournament/TournamentView.swift +++ b/PadelClub/Views/Tournament/TournamentView.swift @@ -172,8 +172,6 @@ struct TournamentView: View { TeamRestingView() case .stateSettings: TournamentStatusView(tournament: tournament) - case .rankingGroupStageSetup: - RankingGroupStageSetupView() } } .environment(tournament) @@ -265,17 +263,7 @@ struct TournamentView: View { Text("Poules, tableau, qualifiés sortants") .foregroundStyle(.secondary) } - - Divider() - Button { - navigation.path.append(Screen.stateSettings) - } label: { - Label("Gestion", systemImage: "trash") - Text("Annuler, supprimer ou terminer le tournoi") - } - .disabled((self.tournament.sharing != nil)) - } label: { Label("Réglages", systemImage: "wrench.and.screwdriver") Text("Événement, tournoi, structure") @@ -332,25 +320,28 @@ struct TournamentView: View { Label("Imprimer", systemImage: "printer") } - NavigationLink(value: Screen.share) { - Label("Partager", systemImage: "square.and.arrow.up") + if self.tournament.sharing == nil { + NavigationLink(value: Screen.share) { + Label("Partager", systemImage: "square.and.arrow.up") + } } - Divider() - NavigationLink(value: Screen.stateSettings) { - Label("Tournoi", systemImage: "trash") - } - - Button { - navigation.path.append(Screen.stateSettings) - } label: { - Label("Clôture du tournoi", systemImage: "stop.fill") - Text("Annuler, supprimer ou terminer le tournoi") + if self.tournament.sharing == nil { + Button { + navigation.path.append(Screen.stateSettings) + } label: { + Label("Clôture du tournoi", systemImage: "stop.fill") + Text("Annuler, supprimer ou terminer le tournoi") + } + } else { + Button { + //todo RAZ se retirer du partage + } label: { + Label("Quitter la supervision", systemImage: "person.crop.circle.badge.minus") + } } - - } label: { LabelOptions() .popoverTip(tournamentRunningTip) diff --git a/PadelClub/Views/User/LoginView.swift b/PadelClub/Views/User/LoginView.swift index fd352f6..3a15eef 100644 --- a/PadelClub/Views/User/LoginView.swift +++ b/PadelClub/Views/User/LoginView.swift @@ -89,7 +89,7 @@ struct LoginView: View { } description: { Text("Vous pourrez ensuite vous connecter ici. N'oubliez pas de vérifiez vos spams !") } actions: { - SupportButtonView(contentIsUnavailable: true) + SupportButtonView(supportButtonType: .contentIsUnavailable) } } } diff --git a/PadelClub/Views/User/ShareModelView.swift b/PadelClub/Views/User/ShareModelView.swift index 70b33d9..92f3397 100644 --- a/PadelClub/Views/User/ShareModelView.swift +++ b/PadelClub/Views/User/ShareModelView.swift @@ -33,7 +33,13 @@ struct ShareModelView : View { .listStyle(PlainListStyle()) .navigationTitle("Partage") } else { - ContentUnavailableView("Si vous souhaitez partager votre tournoi avec d'autres utilisateurs, veuillez contacter notre support", image: "person.crop.circle.badge.xmark") + ContentUnavailableView { + Label("Aucun superviseurs", systemImage: "person.crop.circle.badge.xmark") + } description: { + Text("Si vous souhaitez partager votre tournoi avec d'autres utilisateurs, veuillez contacter notre support") + } actions: { + SupportButtonView(supportButtonType: .supervisorRequest) + } } }.onAppear {