jellyflood/JellyfinPlayer/Views/UserListView.swift

50 lines
1.3 KiB
Swift

//
/*
* SwiftFin is subject to the terms of the Mozilla Public
* License, v2.0. If a copy of the MPL was not distributed with this
* file, you can obtain one at https://mozilla.org/MPL/2.0/.
*
* Copyright 2021 Aiden Vigue & Jellyfin Contributors
*/
import SwiftUI
struct UserListView: View {
@EnvironmentObject var userListRouter: UserListCoordinator.Router
@ObservedObject var viewModel: UserListViewModel
var body: some View {
List {
ForEach(viewModel.users, id: \.id) { user in
Button {
viewModel.login(user: user)
} label: {
HStack {
Text(user.username)
Spacer()
if viewModel.isLoading {
ProgressView()
}
}
}
}
}
.navigationTitle("Users")
.toolbar {
ToolbarItem(placement: .navigation) {
HStack {
Button {
userListRouter.route(to: \.userLogin, viewModel.server)
} label: {
Text("Connect")
}
}
}
}
.onAppear {
viewModel.fetchUsers()
}
}
}