cleanup view

sync3
Laurent 5 months ago
parent c4bd58a1af
commit 8d33bc0204
  1. 82
      PadelClub/Views/User/ShareModelView.swift

@ -10,51 +10,8 @@ import LeStorage
import SwiftUI
import PadelClubData
class UserSearchViewModel: ObservableObject {
@Published var searchText = ""
// @Published var userNames: [ShortUser] = []
// @Published var users: [String] = []
@Published var availableUsers: [ShortUser] = []
@Published var selectedUsers: [String] = []
init() {
Task {
do {
let service = try StoreCenter.main.service()
let shortUsers = try await service.getUserAgents()
await self.setAvailableUsers(shortUsers)
} catch {
Logger.error(error)
}
}
}
@MainActor
func setAvailableUsers(_ users: [ShortUser]) {
self.availableUsers = users
// self.userNames = users
// self.availableUsers = self.users.compactMap { userId in
// self.userNames.first(where: { $0.id == userId })
// }
}
func userTapped(_ user: String) {
if let index = self.selectedUsers.firstIndex(of: user) {
self.selectedUsers.remove(at: index)
} else {
self.selectedUsers.append(user)
}
}
func contains(_ user: String) -> Bool {
return self.selectedUsers.firstIndex(of: user) != nil
}
}
struct ShareModelView<T: SyncedStorable> : View {
@StateObject private var viewModel = UserSearchViewModel()
let instance: T
@ -81,7 +38,6 @@ struct ShareModelView<T: SyncedStorable> : View {
}.onAppear {
self.viewModel.selectedUsers = StoreCenter.main.authorizedUsers(for: self.instance.stringId)
// self.viewModel.users = DataStore.shared.user.agents
}
}
@ -111,6 +67,42 @@ struct UserRow: View {
}
}
class UserSearchViewModel: ObservableObject {
@Published var searchText = ""
@Published var availableUsers: [ShortUser] = []
@Published var selectedUsers: [String] = []
init() {
Task {
do {
let service = try StoreCenter.main.service()
let shortUsers = try await service.getUserAgents()
await self.setAvailableUsers(shortUsers)
} catch {
Logger.error(error)
}
}
}
@MainActor
func setAvailableUsers(_ users: [ShortUser]) {
self.availableUsers = users
}
func userTapped(_ user: String) {
if let index = self.selectedUsers.firstIndex(of: user) {
self.selectedUsers.remove(at: index)
} else {
self.selectedUsers.append(user)
}
}
func contains(_ user: String) -> Bool {
return self.selectedUsers.firstIndex(of: user) != nil
}
}
// Preview provider
struct ShareModelView_Previews: PreviewProvider {
static var previews: some View {

Loading…
Cancel
Save