diff --git a/PadelClub/Views/Navigation/Umpire/UmpireView.swift b/PadelClub/Views/Navigation/Umpire/UmpireView.swift index f1526f0..4756177 100644 --- a/PadelClub/Views/Navigation/Umpire/UmpireView.swift +++ b/PadelClub/Views/Navigation/Umpire/UmpireView.swift @@ -75,56 +75,7 @@ struct UmpireView: View { AccountView(user: dataStore.user) { } } label: { AccountRowView(userName: dataStore.user.username) - } - - let onlineRegPaymentMode = dataStore.user.registrationPaymentMode - Section { - LabeledContent { - switch onlineRegPaymentMode { - case .corporate: - Text("Activé") - .bold() - .foregroundStyle(.green) - case .disabled: - Text("Désactivé") - .bold() - case .noFee: - Text("Activé") - .bold() - .foregroundStyle(.green) - case .stripe: - Text("Activé") - .bold() - .foregroundStyle(.green) - } - } label: { - Text("Option 'Paiement en ligne'") - if onlineRegPaymentMode == .corporate { - Text("Mode Padel Club") - .foregroundStyle(.secondary) - } else if onlineRegPaymentMode == .noFee { - Text("Commission Stripe") - .foregroundStyle(.secondary) - } else if onlineRegPaymentMode == .stripe { - Text("Commission Stripe et Padel Club") - .foregroundStyle(.secondary) - } - } - } footer: { - if onlineRegPaymentMode == .disabled { - FooterButtonView("Contactez nous pour activer cette option.") { - let emailTo: String = "support@padelclub.app" - let subject: String = "Activer l'option de paiment en ligne : \(dataStore.user.email)" - if let url = URL(string: "mailto:\(emailTo)?subject=\(subject)"), UIApplication.shared.canOpenURL(url) { - UIApplication.shared.open(url, options: [:], completionHandler: nil) - } - } - .font(.callout) - .multilineTextAlignment(.leading) - } else { - Text("Permet de proposer le paiement de vos tournois en ligne.") - } - } + } } else { NavigationLink(value: UmpireScreen.login) { AccountRowView(userName: dataStore.user.username) diff --git a/PadelClub/Views/Shared/SupportButtonView.swift b/PadelClub/Views/Shared/SupportButtonView.swift index 492eb86..8411af0 100644 --- a/PadelClub/Views/Shared/SupportButtonView.swift +++ b/PadelClub/Views/Shared/SupportButtonView.swift @@ -20,6 +20,7 @@ enum SupportButtonType { case contentIsUnavailable case supervisorRequest case bugReport + case sharingRequest } struct SupportButtonView: View { @@ -42,10 +43,15 @@ struct SupportButtonView: View { var body: some View { Group { switch supportButtonType { + case .sharingRequest: + Button("Nous contacter") { + _zip() + } case .supervisorRequest: - Button("Demande d'ajout de superviseur") { + Button("Demande d'ajout de superviseur", systemImage: "plus") { _zip() } + .labelStyle(.titleOnly) case .contentIsUnavailable: FooterButtonView("Besoin d'aide ? Un problème ? Contactez-nous !") { _zip() diff --git a/PadelClub/Views/User/AccountView.swift b/PadelClub/Views/User/AccountView.swift index 922a9b8..e47d216 100644 --- a/PadelClub/Views/User/AccountView.swift +++ b/PadelClub/Views/User/AccountView.swift @@ -12,6 +12,7 @@ import PadelClubData struct AccountView: View { @Environment(\.dismiss) private var dismiss + @EnvironmentObject var dataStore: DataStore var user: CustomUser var handler: () -> () @@ -23,6 +24,61 @@ struct AccountView: View { PurchaseView(purchaseRow: PurchaseRow(id: purchase.id, name: purchase.productId, item: item)) } #endif + + let onlineRegPaymentMode = dataStore.user.registrationPaymentMode + Section { + LabeledContent { + switch onlineRegPaymentMode { + case .corporate: + Text("Activé") + .bold() + .foregroundStyle(.green) + case .disabled: + Text("Désactivé") + .bold() + case .noFee: + Text("Activé") + .bold() + .foregroundStyle(.green) + case .stripe: + Text("Activé") + .bold() + .foregroundStyle(.green) + } + } label: { + Text("Option 'Paiement en ligne'") + if onlineRegPaymentMode == .corporate { + Text("Mode Padel Club") + .foregroundStyle(.secondary) + } else if onlineRegPaymentMode == .noFee { + Text("Commission Stripe") + .foregroundStyle(.secondary) + } else if onlineRegPaymentMode == .stripe { + Text("Commission Stripe et Padel Club") + .foregroundStyle(.secondary) + } + } + } footer: { + if onlineRegPaymentMode == .disabled { + FooterButtonView("Contactez nous pour activer cette option.") { + let emailTo: String = "support@padelclub.app" + let subject: String = "Activer l'option de paiment en ligne : \(dataStore.user.email)" + if let url = URL(string: "mailto:\(emailTo)?subject=\(subject)"), UIApplication.shared.canOpenURL(url) { + UIApplication.shared.open(url, options: [:], completionHandler: nil) + } + } + .font(.callout) + .multilineTextAlignment(.leading) + } else { + Text("Permet de proposer le paiement de vos tournois en ligne.") + } + } + + Section { + Text("Vous souhaitez partager la supervision d'un tournoi à un autre compte ? Vous avez plusieurs juge-arbitres dans votre club ?") + SupportButtonView(supportButtonType: .sharingRequest) + } + Section { NavigationLink("Changer de mot de passe") { ChangePasswordView() diff --git a/PadelClub/Views/User/ShareModelView.swift b/PadelClub/Views/User/ShareModelView.swift index 92f3397..1d5fbf7 100644 --- a/PadelClub/Views/User/ShareModelView.swift +++ b/PadelClub/Views/User/ShareModelView.swift @@ -30,8 +30,14 @@ struct ShareModelView : View { } } } - .listStyle(PlainListStyle()) - .navigationTitle("Partage") + .toolbar { + ToolbarItem(placement: .topBarTrailing) { + SupportButtonView(supportButtonType: .supervisorRequest) + } + } + .navigationTitle("Partager à vos superviseurs") + .navigationBarTitleDisplayMode(.inline) + .toolbarBackground(.visible, for: .navigationBar) } else { ContentUnavailableView { Label("Aucun superviseurs", systemImage: "person.crop.circle.badge.xmark")