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
This commit is contained in:
Daniel Arantes Loverde
2026-06-03 15:09:17 -03:00
parent 1f2089772c
commit 3e18c02f4d

View File

@@ -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)
}
}