summaryrefslogtreecommitdiff
path: root/Jel/Views/Library/Item/ItemMovieView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Jel/Views/Library/Item/ItemMovieView.swift')
-rw-r--r--Jel/Views/Library/Item/ItemMovieView.swift49
1 files changed, 42 insertions, 7 deletions
diff --git a/Jel/Views/Library/Item/ItemMovieView.swift b/Jel/Views/Library/Item/ItemMovieView.swift
index 9c95923..68ba1b2 100644
--- a/Jel/Views/Library/Item/ItemMovieView.swift
+++ b/Jel/Views/Library/Item/ItemMovieView.swift
@@ -15,21 +15,56 @@ struct ItemMovieView: View {
@State var item: BaseItemDto
@State var loading: Bool = true
+ @State var navigationTitle: String = ""
+
var body: some View {
ScrollView {
+ // ItemHeaderView(item: item)
+ // .scrollTransition {content, phase in
+ // content
+ // .scaleEffect(phase.isIdentity ? 1 : 2)
+ // .opacity(phase.isIdentity ? 1 : 0.1)
+ // .blur(radius: phase.isIdentity ? 0 : 50)
+ // }
ItemHeaderView(item: item)
+ .opacity(0) // this is the jankiest thing in existence
+ .background {
+ GeometryReader {geo in
+ ItemHeaderView(item: item)
+ .onChange(of: geo.frame(in: .global).minY) {
+ navigationTitle = geo.frame(in: .global).minY < 0 ? item.name ?? "Unknown" : ""
+ }
+ .scaleEffect(1 + (geo.frame(in: .global).minY > 0 ? geo.frame(in: .global).minY * 0.001 : 0))
+ .offset(y: 1 + (geo.frame(in: .global).minY > 0 ? geo.frame(in: .global).minY * 0.001 : 0))
+ .scrollTransition {content, phase in
+ content
+ .scaleEffect(phase.isIdentity ? 1 : 2)
+ .opacity(phase.isIdentity ? 1 : 0.1)
+ .blur(radius: phase.isIdentity ? 0 : 50)
+ }
+ }
+ }
- Text(item.taglines?[0] ?? "Unknown")
- .font(.headline)
- .padding(.top, 20)
-
- Text(item.overview ?? "Unknown")
- .padding()
+ VStack {
+ Text(item.taglines?[0] ?? "Unknown")
+ .font(.headline)
+ .padding(.top, 20)
+
+ Text(item.overview ?? "Unknown")
+ .padding()
+ Text(item.overview ?? "Unknown")
+ .padding()
+ Text(item.overview ?? "Unknown")
+ .padding()
+ Text(item.overview ?? "Unknown")
+ .padding()
+ }
}
.redacted(reason: loading ? .placeholder : [])
.ignoresSafeArea(edges: .top)
+ .scrollIndicators(.hidden)
.toolbarRole(.editor)
- .navigationTitle(item.name ?? "Unknown")
+ .navigationTitle(navigationTitle)
.navigationBarTitleDisplayMode(.inline)
.onAppear {
Task {