fix(store): replace ZStack overlay sticky approach with native pinnedViews + reliable scroll tracking

- Use LazyVStack(pinnedViews: [.sectionHeaders]) for native section header stickiness
- Move ScrollOffsetReader outside LazyVStack (sibling) to prevent lazy-unload breaking scroll tracking
- Add baseline capture to ScrollOffsetReader to correctly normalize offset regardless of ScrollView content insets
- Apply safeAreaTop padding to categoryTabs only when pinned (isCategoryTabsPinned), preventing oversized header before scroll
- Remove complex ZStack dual-tabs overlay, stickyProgress logic, and categoryTabsStickyProgress
- categoryTabs now accepts isPinned flag with easeInOut(0.15s) animation on pin transition

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Daniel Arantes Loverde
2026-06-03 14:26:23 -03:00
parent b61f59c253
commit 69dd67b8a5
4 changed files with 37 additions and 65 deletions

View File

@@ -51,8 +51,8 @@ extension StoreDetailView {
}
var deliveryValueLabel: String {
if let minOrder = info?.minOrder {
return formatCurrency(minOrder)
if let fee = storeDeliveryFee {
return formatCurrency(fee)
}
return "R$ --"
}