diff options
author | Shav Kinderlehrer <[email protected]> | 2024-02-13 21:37:02 -0500 |
---|---|---|
committer | Shav Kinderlehrer <[email protected]> | 2024-02-13 21:37:02 -0500 |
commit | 5c0aeedc3d9b2f7a8427fb7973d2ce8ec24ae257 (patch) | |
tree | 99c98fbe6c0164c9834ea76d636293ba70e44247 /Jel/Views/Item/Types | |
parent | 2d9d946bae8e2fa2dd0daea741442c7fa8350ad5 (diff) | |
download | jel-5c0aeedc3d9b2f7a8427fb7973d2ce8ec24ae257.tar.gz jel-5c0aeedc3d9b2f7a8427fb7973d2ce8ec24ae257.zip |
Create ItemSeriesView + start ItemSeasonView
Diffstat (limited to 'Jel/Views/Item/Types')
-rw-r--r-- | Jel/Views/Item/Types/ItemPersonView.swift | 1 | ||||
-rw-r--r-- | Jel/Views/Item/Types/ItemSeasonView.swift | 23 | ||||
-rw-r--r-- | Jel/Views/Item/Types/ItemSeriesView.swift | 58 |
3 files changed, 81 insertions, 1 deletions
diff --git a/Jel/Views/Item/Types/ItemPersonView.swift b/Jel/Views/Item/Types/ItemPersonView.swift index 0d93281..d9b991d 100644 --- a/Jel/Views/Item/Types/ItemPersonView.swift +++ b/Jel/Views/Item/Types/ItemPersonView.swift @@ -80,7 +80,6 @@ struct ItemPersonView: View { do { let res = try await jellyfinClient.send(request) items = res.value.items ?? [] - print(items![0]) } catch {} } } diff --git a/Jel/Views/Item/Types/ItemSeasonView.swift b/Jel/Views/Item/Types/ItemSeasonView.swift new file mode 100644 index 0000000..9d02dfe --- /dev/null +++ b/Jel/Views/Item/Types/ItemSeasonView.swift @@ -0,0 +1,23 @@ +// +// ItemSeasonView.swift +// Jel +// +// Created by zerocool on 2/13/24. +// + +import SwiftUI +import JellyfinKit + +struct ItemSeasonView: View { + var item: BaseItemDto + + var body: some View { + VStack { + ItemMediaView(item: item) + } + } +} + +//#Preview { +// ItemSeasonView() +//} diff --git a/Jel/Views/Item/Types/ItemSeriesView.swift b/Jel/Views/Item/Types/ItemSeriesView.swift new file mode 100644 index 0000000..f0559b9 --- /dev/null +++ b/Jel/Views/Item/Types/ItemSeriesView.swift @@ -0,0 +1,58 @@ +// +// ItemSeriesView.swift +// Jel +// +// Created by zerocool on 2/12/24. +// + +import SwiftUI +import JellyfinKit + +struct ItemSeriesView: View { + var item: BaseItemDto + + @State var pageScrolled: Bool = false + + var body: some View { + VStack { + ItemHeaderView(item: item) + .foregroundStyle(.white) + .background { + GeometryReader {geo in + EmptyView() + .onChange(of: geo.frame(in: .global).minY) { + let minY = geo.frame(in: .global).minY + + pageScrolled = minY < -150 + } + } + } + + ItemMediaView(item: item) + .padding() + + ItemGenresView(item: item) + .foregroundStyle(Color.primary) + + ItemSeriesSeriesView(item: item) + .foregroundStyle(Color.primary) + + ItemPeopleView(item: item) + .foregroundStyle(Color.primary) + } + .navigationBarTitleDisplayMode(.inline) + .navigationTitle(item.name ?? "Untitled") + .toolbarRole(.editor) + .toolbar { + ToolbarItem(placement: .principal) { + Text(pageScrolled ? item.name ?? "Untitled" : "") + .bold() + } + } + .toolbarBackground(pageScrolled ? .visible : .hidden) + } +} + +//#Preview { +// ItemShowView() +//} |