// // DashboardLibraryView.swift // Jel // // Created by zerocool on 12/15/23. // import SwiftUI import JellyfinKit struct DashboardLibraryView: View { @EnvironmentObject var jellyfinClient: JellyfinClientController @StateObject var authState: AuthStateController = AuthStateController.shared @State var libraries: [BaseItemDto] = [] @State var loading: Bool = true var body: some View { if loading { ProgressView() .progressViewStyle(.circular) } ScrollView(.horizontal, showsIndicators: false) { HStack { ForEach(libraries) {library in if library.collectionType == "movies" || library.collectionType == "tvshows" { NavigationLink { LibraryDetailView(library: library) } label: { LibraryIconView(library: library, height: 150) .padding() } .buttonStyle(PlainButtonStyle()) } } } } .onAppear { Task { do { let request = Paths.getUserViews(userID: authState.userId ?? "") if let results = try await jellyfinClient.send(request).value.items { libraries = results } loading = false } catch { } } }} } //#Preview { // LibraryView() //}