"use client"; import Image from "next/image"; import Link from "next/link"; import type { Product } from "@/data/home"; import { productPath } from "@/lib/product-path"; const FALLBACK_DESC = "لورم ایپسوم متن ساختگی با تولید سادگی نامفهوم از صنعت چاپ و با استفاده از طراحان گرافیک است."; type ProductCardProps = { product: Product; className?: string; }; export default function ProductCard({ product, className = "" }: ProductCardProps) { const href = product.href ?? productPath(product); const hoverSrc = product.imageHover; const colors = product.colors ?? []; const sizes = product.sizes ?? []; const hasVars = colors.length > 0 || sizes.length > 0; const description = product.description?.trim() || FALLBACK_DESC; return (
{/* Clip media only — keep border on the outer box so it never gets cut off */} {product.nameFa} {hoverSrc ? ( ) : null} {product.nameFa} {product.nameEn} {hasVars ? ( {sizes.length > 0 ? ( {sizes.slice(0, 5).map((size) => ( {size.labelFa} ))} ) : null} {colors.length > 0 ? ( {colors.slice(0, 6).map((color) => ( ))} ) : null} ) : null} {/* Vars occupy ~1 line — clamp desc to 1 so the image height stays even */} {description}
); }