Vitron-Front/app/components
fazli 272362cfdf fix(product): detail page price now matches list tiles + fresher feeds
Single-product page showed basePrice with no discount while list tiles
showed the cheapest variant's discounted price. Cause: the detail view
defaulted selectedColor/selectedSize to the first in-stock color and the
first in-stock size independently — a combo that often isn't a real
variant, so no variant matched and it fell back to basePrice / no sale.

- ProductDetailView: derive a `defaultVariant` (cheapest in-stock variant
  by final price, == the tile's min/discount price) and use it for the
  initial selection, the initial displayed price, and the fallback when no
  exact color/size combo is matched. A shared `pricingOf` helper applies
  the same discount rule everywhere. Detail price now matches the tile.
- use-home-hooks: drop staleTime 5m -> 60s on the For You / discounts /
  top-sellers feeds so price/discount edits show up promptly in lists.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 19:55:11 +00:00
..
cart fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
desktop feat(desktop): add search autocomplete to desktop header 2026-06-22 19:23:12 +00:00
explore fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
home fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
notifications feat(notifications): web push opt-in + unread nav badges 2026-06-17 14:02:56 +03:30
product fix(product): detail page price now matches list tiles + fresher feeds 2026-06-22 19:55:11 +00:00
sets first 2026-04-29 01:44:16 +03:30
store first 2026-04-29 01:44:16 +03:30
thread fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
ui first 2026-04-29 01:44:16 +03:30
AIPromoteModal.tsx first 2026-04-29 01:44:16 +03:30
AppInput.tsx first 2026-04-29 01:44:16 +03:30
AppSelectBox.tsx first 2026-04-29 01:44:16 +03:30
AppTextArea.tsx first 2026-04-29 01:44:16 +03:30
BankLogo.tsx first 2026-04-29 01:44:16 +03:30
CallDialog.tsx first 2026-04-29 01:44:16 +03:30
ClientOnly.tsx first 2026-04-29 01:44:16 +03:30
FilterDrawer.tsx first 2026-04-29 01:44:16 +03:30
HeaderWithSupport.tsx fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
HorizontalCollectionsList.tsx Desktop polish: seller header contrast, collection image crop, infinite scroll 2026-06-14 22:19:40 +03:30
HorizontalProductList.tsx first 2026-04-29 01:44:16 +03:30
InteractiveMap.tsx first 2026-04-29 01:44:16 +03:30
LoginRequiredDialog.tsx fix(auth): 6-digit OTP in LoginRequiredDialog 2026-06-18 17:53:01 +03:30
MondrianProductList.tsx Desktop fixes: product seller + actions, collection cover, masonry skeleton 2026-06-14 22:59:24 +03:30
MyLayout.tsx fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
PersianDatePicker.tsx first 2026-04-29 01:44:16 +03:30
ProfilePagesHeader.tsx fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
SearchTopBar.tsx fix(ios): respect safe-area insets so chrome clears the notch/home bar 2026-06-18 13:42:51 +03:30
SellerLogo.tsx first 2026-04-29 01:44:16 +03:30
SellerTilesGrid.tsx Add responsive desktop layout for home page 2026-06-14 20:07:47 +03:30
SunMoonToggle.tsx first 2026-04-29 01:44:16 +03:30
ThemeToggle.css first 2026-04-29 01:44:16 +03:30
ThemeToggle.tsx first 2026-04-29 01:44:16 +03:30
UiProvider.tsx first 2026-04-29 01:44:16 +03:30