summaryrefslogtreecommitdiff
path: root/Jel/Views/Library/Item/ItemGenresView.swift
diff options
context:
space:
mode:
authorShav Kinderlehrer <[email protected]>2024-01-07 21:21:36 -0500
committerShav Kinderlehrer <[email protected]>2024-01-07 21:21:36 -0500
commite807d063195b1299dcaeb6e7213d7e3d300a3112 (patch)
tree27240514cc15ba0b2c64f41e658329be02ffd1ae /Jel/Views/Library/Item/ItemGenresView.swift
parent3f74421e5b33e9e284197ef8d8f5e27fc1dc2a22 (diff)
downloadjel-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.swift19
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 {
}
}