From 3e18c02f4df66087bccb075acaac928d4262011b Mon Sep 17 00:00:00 2001 From: Daniel Arantes Loverde Date: Wed, 3 Jun 2026 15:09:17 -0300 Subject: [PATCH] fix(store): pin all non-image elements during overscroll bounce Apply offset(y: -stretchAmount) to gradient, buttons, summaryCard, storeLogoBadge, and hard-cut rectangle so only the cover image stretches on pull-down --- .../PediFoods/Views/Main/StoreDetailView+Components.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pedi-foods/Sources/PediFoods/Views/Main/StoreDetailView+Components.swift b/pedi-foods/Sources/PediFoods/Views/Main/StoreDetailView+Components.swift index ecd0908..ffe1fb4 100644 --- a/pedi-foods/Sources/PediFoods/Views/Main/StoreDetailView+Components.swift +++ b/pedi-foods/Sources/PediFoods/Views/Main/StoreDetailView+Components.swift @@ -11,14 +11,16 @@ extension StoreDetailView { Rectangle() .fill(AppColors.backgroundLight) .frame(height: max(0, topSectionHeight - coverVisibleUntilY)) - .offset(y: coverVisibleUntilY) + .offset(y: coverVisibleUntilY - stretchAmount) summaryCard .padding(.horizontal, 16) .padding(.top, cardTopInset) + .offset(y: -stretchAmount) storeLogoBadge .padding(.top, cardTopInset - (storeLogoSize / 2)) + .offset(y: -stretchAmount) } .frame(height: topSectionHeight) } @@ -37,6 +39,7 @@ extension StoreDetailView { ) .frame(height: topSectionHeight) .ignoresSafeArea(.container, edges: .top) + .offset(y: -stretchAmount) .allowsHitTesting(false) VStack(spacing: 0) { @@ -66,6 +69,7 @@ extension StoreDetailView { .foregroundStyle(Color.white.opacity(0.92)) .padding(.bottom, 14) } + .offset(y: -stretchAmount) } }