diff --git a/PadelClub/Views/Calling/Components/MenuWarningView.swift b/PadelClub/Views/Calling/Components/MenuWarningView.swift index baa3a8a..d0ec6a9 100644 --- a/PadelClub/Views/Calling/Components/MenuWarningView.swift +++ b/PadelClub/Views/Calling/Components/MenuWarningView.swift @@ -45,6 +45,8 @@ struct MenuWarningView: View { } label: { Text("Prévenir") } + .menuStyle(.button) + .buttonStyle(.borderedProminent) .sheet(isPresented: self.$showSubscriptionView, content: { NavigationStack { SubscriptionView(isPresented: self.$showSubscriptionView, showLackOfPlanMessage: true) diff --git a/PadelClub/Views/Player/PlayerDetailView.swift b/PadelClub/Views/Player/PlayerDetailView.swift index 457217b..93a1688 100644 --- a/PadelClub/Views/Player/PlayerDetailView.swift +++ b/PadelClub/Views/Player/PlayerDetailView.swift @@ -315,7 +315,7 @@ struct PlayerDetailView: View { CopyPasteButtonView(pasteValue: player.contactPhoneNumber) PasteButtonView(text: $contactPhoneNumber) } label: { - Text("Téléphone contact") + Text("Téléphone") } } @@ -342,7 +342,7 @@ struct PlayerDetailView: View { CopyPasteButtonView(pasteValue: player.contactEmail) PasteButtonView(text: $contactEmail) } label: { - Text("Email contact") + Text("Email") } } } header: { diff --git a/PadelClub/Views/Shared/SupportButtonView.swift b/PadelClub/Views/Shared/SupportButtonView.swift index 8411af0..eb20ba5 100644 --- a/PadelClub/Views/Shared/SupportButtonView.swift +++ b/PadelClub/Views/Shared/SupportButtonView.swift @@ -21,10 +21,37 @@ enum SupportButtonType { case supervisorRequest case bugReport case sharingRequest + + var localizedPrefix: String { + switch self { + case .contentIsUnavailable: + return "Décrivez votre problème" + case .supervisorRequest: + return localizedTopic + case .bugReport: + return "Décrivez votre problème" + case .sharingRequest: + return localizedTopic + } + } + + var localizedTopic: String { + switch self { + case .contentIsUnavailable: + return "Support Padel Club" + case .supervisorRequest: + return "Demande d'ajout de superviseur" + case .bugReport: + return "Support Padel Club" + case .sharingRequest: + return "Demande de partage" + } + } } struct SupportButtonView: View { let supportButtonType: SupportButtonType + var showIcon: Bool = false @State private var sentError: ContactManagerError? = nil @State private var zipFilePath: URL? @@ -48,10 +75,16 @@ struct SupportButtonView: View { _zip() } case .supervisorRequest: - Button("Demande d'ajout de superviseur", systemImage: "plus") { - _zip() + if showIcon { + Button("Demande d'ajout de superviseur", systemImage: "person.badge.plus") { + _zip() + } + .labelStyle(.iconOnly) + } else { + Button("Demande d'ajout de superviseur") { + _zip() + } } - .labelStyle(.titleOnly) case .contentIsUnavailable: FooterButtonView("Besoin d'aide ? Un problème ? Contactez-nous !") { _zip() @@ -92,14 +125,14 @@ struct SupportButtonView: View { private func _getSubject() -> String { let device = UIDevice.current let iOSVersion = device.systemVersion - return "[\(PadelClubApp.appVersion), \(iOSVersion), \(_getDeviceIdentifier())] Support Padel Club" + return "[\(PadelClubApp.appVersion), \(iOSVersion), \(_getDeviceIdentifier())] \(supportButtonType.localizedTopic)" } private func _getBody() -> String { let separator = "---------------------------------------------" let token = try? StoreCenter.main.token() - return ["Décrivez votre problème", "\n\n\n", separator, "token", token ?? "", separator, "userId", StoreCenter.main.userId, separator, "dataStore userId", DataStore.shared.user.id].compacted().joined(separator: "\n") + return [supportButtonType.localizedPrefix, "\n\n\n", separator, "token", token ?? "", separator, "userId", StoreCenter.main.userId, separator, "dataStore userId", DataStore.shared.user.id].compacted().joined(separator: "\n") } private func _getDeviceIdentifier() -> String { diff --git a/PadelClub/Views/User/ShareModelView.swift b/PadelClub/Views/User/ShareModelView.swift index 1d5fbf7..ba19a8b 100644 --- a/PadelClub/Views/User/ShareModelView.swift +++ b/PadelClub/Views/User/ShareModelView.swift @@ -17,27 +17,17 @@ struct ShareModelView : View { let instance: T var body: some View { - NavigationView { + List { if !self.viewModel.availableUsers.isEmpty { - List { - ForEach(self.viewModel.availableUsers, id: \.id) { user in - let isSelected = viewModel.contains(user.id) - UserRow(user: user, isSelected: isSelected) - .contentShape(Rectangle()) - .onTapGesture { - self.viewModel.userTapped(user.id) - self._modifyAuthorizedUsersList() - } - } + ForEach(self.viewModel.availableUsers, id: \.id) { user in + let isSelected = viewModel.contains(user.id) + UserRow(user: user, isSelected: isSelected) + .contentShape(Rectangle()) + .onTapGesture { + self.viewModel.userTapped(user.id) + self._modifyAuthorizedUsersList() + } } - .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") @@ -47,8 +37,16 @@ struct ShareModelView : View { SupportButtonView(supportButtonType: .supervisorRequest) } } - - }.onAppear { + } + .toolbar(content: { + ToolbarItem(placement: .topBarTrailing) { + SupportButtonView(supportButtonType: .supervisorRequest, showIcon: true) + } + }) + .navigationTitle("Gérer le partage") + .navigationBarTitleDisplayMode(.inline) + .toolbarBackground(.visible, for: .navigationBar) + .onAppear { self.viewModel.selectedUsers = StoreCenter.main.authorizedUsers(for: self.instance.stringId) } }