fix title partager

sync3
Razmig Sarkissian 1 month ago
parent c2ccbf5dd7
commit 09d5da914c
  1. 2
      PadelClub/Views/Calling/Components/MenuWarningView.swift
  2. 4
      PadelClub/Views/Player/PlayerDetailView.swift
  3. 43
      PadelClub/Views/Shared/SupportButtonView.swift
  4. 40
      PadelClub/Views/User/ShareModelView.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)

@ -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: {

@ -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 {

@ -17,27 +17,17 @@ struct ShareModelView<T: SyncedStorable> : 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<T: SyncedStorable> : 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)
}
}

Loading…
Cancel
Save