// // ItemSeriesSeasonsView.swift // Jel // // Created by zerocool on 2/12/24. // import SwiftUI import JellyfinKit struct ItemSeriesSeasonsView: View { var item: BaseItemDto @EnvironmentObject var jellyfinClient: JellyfinClientController @ObservedObject var authState: AuthStateController = AuthStateController.shared @State var seriesItems: [BaseItemDto] = [] @State var loading: Bool = true var body: some View { VStack(alignment: .leading) { Text("Seasons") .font(.title2) .padding(.horizontal) ScrollView(.horizontal) { LazyHStack { ForEach(seriesItems) {series in NavigationLink { ItemView(item: series) } label: { ItemIconView(item: series, height: 170) .setAspectRatio(series.primaryImageAspectRatio ?? 0.6) .showCaption() } } }.padding(.horizontal) }.scrollIndicators(.hidden) } .if(loading) {view in view.redacted(reason: .placeholder) } .onAppear { Task { let parameters = Paths.GetItemsParameters( userID: authState.userId ?? "", parentID: item.id ?? "" ) let req = Paths.getItems(parameters: parameters) do { let res = try await jellyfinClient.send(req) seriesItems = res.value.items ?? [] } catch {} loading = false } } } } //#Preview { // ItemSeriesSeriesView() //}