diff options
Diffstat (limited to 'Jel/Views/Library/Item/ItemGenresView.swift')
-rw-r--r-- | Jel/Views/Library/Item/ItemGenresView.swift | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/Jel/Views/Library/Item/ItemGenresView.swift b/Jel/Views/Library/Item/ItemGenresView.swift index 25b86e4..5bfccb0 100644 --- a/Jel/Views/Library/Item/ItemGenresView.swift +++ b/Jel/Views/Library/Item/ItemGenresView.swift @@ -14,7 +14,7 @@ struct ItemGenresView: View { @StateObject var authState: AuthStateController = AuthStateController.shared var item: BaseItemDto - @State var library: BaseItemDto = BaseItemDto() + @State var libraryItems: [BaseItemDto]? = [] var body: some View { VStack(alignment: .leading) { @@ -25,7 +25,7 @@ struct ItemGenresView: View { HStack { ForEach(item.genres ?? [], id: \.self) {genre in NavigationLink { - LibraryDetailView(library: library) {items in + LibraryDetailView(library: BaseItemDto(name: genre), items: libraryItems) {items in var matchingItems: [BaseItemDto] = [] for item in items { @@ -47,10 +47,21 @@ struct ItemGenresView: View { } .onAppear { Task { - let request = Paths.getItem(userID: authState.userId ?? "", itemID: item.parentID ?? "") + let parameters = Paths.GetItemsParameters( + userID: authState.userId ?? "", + isRecursive: true, + fields: [.primaryImageAspectRatio, + .genres, + .taglines, + .overview, + .parentID], + includeItemTypes: [.movie, .series], + genres: item.genres ?? [] + ) + let request = Paths.getItems(parameters: parameters) do { let res = try await jellyfinClient.send(request) - library = res.value + libraryItems = res.value.items ?? [] } catch { } } |