- 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>
13 lines
594 B
TypeScript
13 lines
594 B
TypeScript
export { ProductHeader } from "./ProductHeader";
|
|
export { ProductImageCarousel } from "./ProductImageCarousel";
|
|
export { ProductActions } from "./ProductActions";
|
|
export { ProductInfo } from "./ProductInfo";
|
|
export { ProductDescription } from "./ProductDescription";
|
|
export { ColorSelector } from "./ColorSelector";
|
|
export { SizeSelector } from "./SizeSelector";
|
|
export { ContactButton } from "./ContactButton";
|
|
export { ReviewSection, ReviewList } from "./ReviewSection";
|
|
export { Review } from "./Review";
|
|
export { BottomBar } from "./BottomBar";
|
|
export type { ReviewProps } from "./Review";
|