diff --git a/PadelClub/Views/Player/PlayerDetailView.swift b/PadelClub/Views/Player/PlayerDetailView.swift index 69c153a..88fe914 100644 --- a/PadelClub/Views/Player/PlayerDetailView.swift +++ b/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 }