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