diff options
Diffstat (limited to 'Jel/Views/Library/Item/ItemMovieView.swift')
-rw-r--r-- | Jel/Views/Library/Item/ItemMovieView.swift | 49 |
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 { |