diff options
author | Shav Kinderlehrer <[email protected]> | 2024-01-07 21:21:36 -0500 |
---|---|---|
committer | Shav Kinderlehrer <[email protected]> | 2024-01-07 21:21:36 -0500 |
commit | e807d063195b1299dcaeb6e7213d7e3d300a3112 (patch) | |
tree | 27240514cc15ba0b2c64f41e658329be02ffd1ae /Jel/Views/Library/Item/ItemGenresView.swift | |
parent | 3f74421e5b33e9e284197ef8d8f5e27fc1dc2a22 (diff) | |
download | jel-e807d063195b1299dcaeb6e7213d7e3d300a3112.tar.gz jel-e807d063195b1299dcaeb6e7213d7e3d300a3112.zip |
Fix ItemMediaView NavigationTitle + Implement Genre Filtering
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 { } } |