// // LibraryDetailView.swift // Jel // // Created by zerocool on 12/22/23. // import SwiftUI import JellyfinKit struct LibraryDetailView: View { @EnvironmentObject var jellyfinClient: JellyfinClientController @StateObject var authState: AuthStateController = AuthStateController.shared @State var library: BaseItemDto @State var items: [BaseItemDto]? = [] @State var loading: Bool = true let columns = [ GridItem(.adaptive(minimum: 150)) ] var body: some View { if loading { ProgressView() .progressViewStyle(.circular) } ScrollView { LazyVGrid(columns: columns) { ForEach(items ?? []) {item in LibraryIconView(library: item, imageType: "Primary", height: 150) .padding() } } } .navigationTitle(library.name ?? "Unknown") .onAppear { Task { let params = Paths.GetItemsParameters(userID: authState.userId, parentID: library.id) let request = Paths.getItems(parameters: params) do { let res = try await jellyfinClient.send(request) items = res.value.items loading = false } catch { } } } } } //#Preview { // LibraryDetailView(library: BaseItemDto()) //}