Vitron-Front/app/components/product
fazli 56fcce35c8 feat(product-detail): ProductDescription section + strict discount guard + category types
- app/components/product/ProductDescription.tsx: new below-fold section
  with a "توضیحات محصول" heading, whitespace-pre-line so multi-line seller
  copy (Instagram scrapes, victorwear WooCommerce imports) renders with
  its bullet-list line breaks preserved. Renders on both mobile and
  desktop; nothing shown when the product has no description.
- app/components/product/ProductInfo.tsx: removed the collapsed
  single-<p> mobile description; the new section replaces it.
- app/components/product/ProductDetailView.tsx: pricingOf now hides the
  discount when discount_price >= price (was only hiding when equal),
  so a stale row where the discount price accidentally matches or
  exceeds the base can never render as a fake promo. Mounts
  ProductDescription just above the mobile Contact button and reviews.
- app/components/product/index.ts: export ProductDescription.
- src/api/types/models/index.ts: ProductCategory now carries readonly
  parentId / parentName so the two-step category picker can build the
  parent→sub tree from a flat category list without an extra fetch.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-07-18 13:19:27 +00:00
..
BottomBar.tsx feat(product): mobile redesign — brand below image, floating back, circular colors 2026-06-27 15:06:54 +03:30
ColorSelector.tsx feat(product): mobile redesign — brand below image, floating back, circular colors 2026-06-27 15:06:54 +03:30
ContactButton.tsx feat(chat): share the product into the chat + fix empty-thread preview 2026-07-13 15:09:01 +03:30
InactiveProductView.tsx first 2026-04-29 01:44:16 +03:30
index.ts feat(product-detail): ProductDescription section + strict discount guard + category types 2026-07-18 13:19:27 +00:00
ProductActions.tsx feat(product): mobile redesign — brand below image, floating back, circular colors 2026-06-27 15:06:54 +03:30
ProductDescription.tsx feat(product-detail): ProductDescription section + strict discount guard + category types 2026-07-18 13:19:27 +00:00
ProductDetailView.tsx feat(product-detail): ProductDescription section + strict discount guard + category types 2026-07-18 13:19:27 +00:00
ProductHeader.tsx feat(chat): share the product into the chat + fix empty-thread preview 2026-07-13 15:09:01 +03:30
ProductImageCarousel.tsx fix(pwa): top safe-area inset on products page + owner product carousel 2026-07-13 15:16:28 +03:30
ProductInfo.tsx feat(product-detail): ProductDescription section + strict discount guard + category types 2026-07-18 13:19:27 +00:00
Review.tsx first 2026-04-29 01:44:16 +03:30
ReviewSection.tsx first 2026-04-29 01:44:16 +03:30
SizeGuideDialog.tsx feat(seller): size chart editor + buyer size guide (راهنمای سایز) 2026-07-13 13:21:23 +03:30
SizeSelector.tsx feat(seller): size chart editor + buyer size guide (راهنمای سایز) 2026-07-13 13:21:23 +03:30