fix unnecessary save in edit player

sync2
Raz 10 months ago
parent e1ffa4830a
commit 783e66e754
  1. 41
      PadelClub/Views/Player/PlayerDetailView.swift

@ -152,10 +152,6 @@ struct PlayerDetailView: View {
Menu {
CopyPasteButtonView(pasteValue: player.phoneNumber)
PasteButtonView(text: $phoneNumber)
.onChange(of: phoneNumber) {
player.phoneNumber = phoneNumber.prefixTrimmed(50)
_save()
}
} label: {
Text("Téléphone")
}
@ -177,10 +173,6 @@ struct PlayerDetailView: View {
Menu {
CopyPasteButtonView(pasteValue: player.email)
PasteButtonView(text: $email)
.onChange(of: email) {
player.email = email.prefixTrimmed(50)
_save()
}
} label: {
Text("Email")
}
@ -216,13 +208,6 @@ struct PlayerDetailView: View {
}
}
}
.toolbar {
ToolbarItem(placement: .topBarTrailing) {
ShareLink(item: player.pasteData()) {
Label("Partager", systemImage: "square.and.arrow.up")
}
}
}
.onChange(of: player.hasArrived) {
_save()
}
@ -230,7 +215,17 @@ struct PlayerDetailView: View {
_save()
}
.navigationBarBackButtonHidden(focusedField != nil)
.toolbar(content: {
.headerProminence(.increased)
.navigationTitle("Édition")
.navigationBarTitleDisplayMode(.inline)
.toolbarBackground(.visible, for: .navigationBar)
.toolbar {
ToolbarItem(placement: .topBarTrailing) {
ShareLink(item: player.pasteData()) {
Label("Partager", systemImage: "square.and.arrow.up")
}
}
if focusedField != nil {
ToolbarItem(placement: .topBarLeading) {
Button("Annuler", role: .cancel) {
@ -238,14 +233,9 @@ struct PlayerDetailView: View {
}
}
}
})
.headerProminence(.increased)
.navigationTitle("Édition")
.navigationBarTitleDisplayMode(.inline)
.toolbarBackground(.visible, for: .navigationBar)
.toolbar {
if focusedField == ._rank || focusedField == ._computedRank {
ToolbarItem(placement: .keyboard) {
if focusedField == ._rank || focusedField == ._computedRank || focusedField == ._phoneNumber {
ToolbarItemGroup(placement: .keyboard) {
Spacer()
Button("Valider") {
if focusedField == ._rank {
player.setComputedRank(in: tournament)
@ -254,6 +244,9 @@ struct PlayerDetailView: View {
} else if focusedField == ._computedRank {
player.team()?.updateWeight(inTournamentCategory: tournament.tournamentCategory)
_save()
} else if focusedField == ._phoneNumber {
player.phoneNumber = phoneNumber.prefixTrimmed(50)
_save()
}
focusedField = nil
}

Loading…
Cancel
Save