add toolbarBackground in player search list

sync2
Raz 1 year ago
parent 6e68226ac7
commit 8dec31dd14
  1. 30
      PadelClub/Views/Shared/SelectablePlayerListView.swift
  2. 2
      PadelClub/Views/Tournament/Screen/AddTeamView.swift

@ -171,7 +171,8 @@ struct SelectablePlayerListView: View {
} }
.scrollDismissesKeyboard(.immediately) .scrollDismissesKeyboard(.immediately)
.navigationBarBackButtonHidden(searchViewModel.allowMultipleSelection) .navigationBarBackButtonHidden(searchViewModel.allowMultipleSelection)
//.toolbarBackground(.visible, for: .bottomBar) .toolbarBackground(searchViewModel.allowMultipleSelection ? .visible : .hidden, for: .bottomBar)
.toolbarBackground(.visible, for: .navigationBar)
// .toolbarRole(searchViewModel.allowMultipleSelection ? .navigationStack : .editor) // .toolbarRole(searchViewModel.allowMultipleSelection ? .navigationStack : .editor)
.interactiveDismissDisabled(searchViewModel.selectedPlayers.isEmpty == false) .interactiveDismissDisabled(searchViewModel.selectedPlayers.isEmpty == false)
.navigationTitle(searchViewModel.label(forDataSet: searchViewModel.dataSet)) .navigationTitle(searchViewModel.label(forDataSet: searchViewModel.dataSet))
@ -247,22 +248,21 @@ struct SelectablePlayerListView: View {
} }
} }
if searchViewModel.selectedPlayers.isEmpty == false { ToolbarItem(placement: .topBarTrailing) {
ToolbarItem(placement: .topBarTrailing) { ButtonValidateView {
ButtonValidateView { if let playerSelectionAction {
if let playerSelectionAction { playerSelectionAction(searchViewModel.selectedPlayers)
playerSelectionAction(searchViewModel.selectedPlayers)
}
dismiss()
} }
dismiss()
} }
ToolbarItem(placement: .status) { .disabled(searchViewModel.selectedPlayers.isEmpty)
let count = searchViewModel.selectedPlayers.count }
VStack(spacing: 0) { ToolbarItem(placement: .status) {
Text(count.formatted() + " joueur" + count.pluralSuffix + " séléctionné" + count.pluralSuffix).font(.footnote).foregroundStyle(.secondary) let count = searchViewModel.selectedPlayers.count
FooterButtonView("\(searchViewModel.filterSelectionEnabled ? "masquer" : "voir") la liste") { VStack(spacing: 0) {
searchViewModel.filterSelectionEnabled.toggle() Text(count.formatted() + " joueur" + count.pluralSuffix + " séléctionné" + count.pluralSuffix).font(.footnote).foregroundStyle(.secondary)
} FooterButtonView("\(searchViewModel.filterSelectionEnabled ? "masquer" : "voir") la liste") {
searchViewModel.filterSelectionEnabled.toggle()
} }
} }
} }

@ -164,7 +164,7 @@ struct AddTeamView: View {
} }
.sheet(isPresented: $presentPlayerSearch) { .sheet(isPresented: $presentPlayerSearch) {
NavigationStack { NavigationStack {
SelectablePlayerListView(allowSelection: -1, searchField: searchField, filterOption: _filterOption(), showFemaleInMaleAssimilation: tournament.tournamentCategory.showFemaleInMaleAssimilation) { players in SelectablePlayerListView(allowSelection: 2 - _currentSelectionIds().count, isPresented: true, searchField: searchField, filterOption: _filterOption(), showFemaleInMaleAssimilation: tournament.tournamentCategory.showFemaleInMaleAssimilation) { players in
players.forEach { player in players.forEach { player in
let newPlayer = PlayerRegistration(importedPlayer: player) let newPlayer = PlayerRegistration(importedPlayer: player)
newPlayer.setComputedRank(in: tournament) newPlayer.setComputedRank(in: tournament)

Loading…
Cancel
Save