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.swift24
1 files changed, 15 insertions, 9 deletions
diff --git a/Jel/Views/Library/Item/ItemMediaView.swift b/Jel/Views/Library/Item/ItemMediaView.swift
index dfb6c7a..4b8f863 100644
--- a/Jel/Views/Library/Item/ItemMediaView.swift
+++ b/Jel/Views/Library/Item/ItemMediaView.swift
@@ -7,6 +7,7 @@
import SwiftUI
import JellyfinKit
+import VisibilityTrackingScrollView
struct ItemMediaView: View {
@EnvironmentObject var jellyfinClient: JellyfinClientController
@@ -15,7 +16,7 @@ struct ItemMediaView: View {
@State var item: BaseItemDto
@State var loading: Bool = true
- @State var navigationTitle: String = ""
+ @State var pageScrolled: Bool = false
var body: some View {
GeometryReader {geo in
@@ -23,7 +24,7 @@ struct ItemMediaView: View {
ProgressView()
.progressViewStyle(.circular)
} else {
- ScrollView {
+ ScrollView() {
ItemHeaderView(item: item)
.padding(.bottom)
.background {
@@ -31,11 +32,8 @@ struct ItemMediaView: View {
EmptyView()
.onChange(of: geo.frame(in: .global).minY) {
let minY = geo.frame(in: .global).minY
- if minY < 0 {
- navigationTitle = item.name ?? ""
- } else {
- navigationTitle = ""
- }
+
+ pageScrolled = minY < 0
}
}
}
@@ -49,6 +47,8 @@ struct ItemMediaView: View {
ForEach(item.overview?.components(separatedBy: "<br>") ?? [], id: \.self) {overview in
Text(overview)
}
+
+ ItemGenresView(item: item)
}
.if(max(geo.safeAreaInsets.leading, geo.safeAreaInsets.trailing) > 0) {view in
view
@@ -62,9 +62,15 @@ struct ItemMediaView: View {
.ignoresSafeArea()
}
}
- .toolbarRole(.editor)
.navigationBarTitleDisplayMode(.inline)
- .navigationTitle(navigationTitle)
+ .navigationTitle(item.name ?? "Untitled")
+ .toolbarRole(.editor)
+ .toolbar {
+ ToolbarItem(placement: .principal) {
+ Text(pageScrolled ? item.name ?? "Untitled" : "")
+ .bold()
+ }
+ }
.scrollIndicators(.hidden)
.onAppear {
Task {