summaryrefslogtreecommitdiff
path: root/Jel/Views/Library/Item/ItemMediaView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Jel/Views/Library/Item/ItemMediaView.swift')
-rw-r--r--Jel/Views/Library/Item/ItemMediaView.swift64
1 files changed, 10 insertions, 54 deletions
diff --git a/Jel/Views/Library/Item/ItemMediaView.swift b/Jel/Views/Library/Item/ItemMediaView.swift
index 2e6f133..1d1e53d 100644
--- a/Jel/Views/Library/Item/ItemMediaView.swift
+++ b/Jel/Views/Library/Item/ItemMediaView.swift
@@ -9,68 +9,24 @@ import SwiftUI
import JellyfinKit
import VisibilityTrackingScrollView
-struct ItemMediaView<Content: View>: View {
+struct ItemMediaView: View {
@EnvironmentObject var jellyfinClient: JellyfinClientController
@StateObject var authState: AuthStateController = AuthStateController.shared
- @State var item: BaseItemDto
- @ViewBuilder var playButton: () -> Content
+ var item: BaseItemDto
- @State var pageScrolled: Bool = false
var body: some View {
- GeometryReader {geo in
- ScrollView() {
- ItemHeaderView(item: item)
- .padding(.bottom)
- .background {
- GeometryReader {geo in
- EmptyView()
- .onChange(of: geo.frame(in: .global).minY) {
- let minY = geo.frame(in: .global).minY
-
- pageScrolled = minY < 0
- }
- }
- }
-
- playButton()
-
- VStack(alignment: .leading) {
- Text(item.taglines?.count ?? 0 > 0 ? item.taglines?[0] ?? "" : "")
- .font(.headline)
- .frame(maxWidth: .infinity, alignment: .leading)
- .padding(.bottom)
-
- ForEach(item.overview?.components(separatedBy: "<br>") ?? [], id: \.self) {overview in
- Text(overview)
- }
-
- ItemGenresView(item: item)
- .padding(.vertical)
- }
- .if(max(geo.safeAreaInsets.leading, geo.safeAreaInsets.trailing) > 0) {view in
- view
- .padding(max(geo.safeAreaInsets.leading, geo.safeAreaInsets.trailing))
- }
- .if(max(geo.safeAreaInsets.leading, geo.safeAreaInsets.trailing) <= 0) {view in
- view
- .padding()
- }
+ VStack(alignment: .leading) {
+ Text(item.taglines?.count ?? 0 > 0 ? item.taglines?[0] ?? "" : "")
+ .font(.headline)
+ .frame(maxWidth: .infinity, alignment: .leading)
+ .padding(.bottom)
+
+ ForEach(item.overview?.components(separatedBy: "<br>") ?? [], id: \.self) {overview in
+ Text(overview)
}
- .ignoresSafeArea()
}
- .navigationBarTitleDisplayMode(.inline)
- .navigationTitle(item.name ?? "Untitled")
- .toolbarRole(.editor)
- .toolbar {
- ToolbarItem(placement: .principal) {
- Text(pageScrolled ? item.name ?? "Untitled" : "")
- .bold()
- }
- }
- .scrollIndicators(.hidden)
-
}
}