"use client"; import { memo } from "react"; import { Star } from "lucide-react"; import ProductImage from "@/components/shared/ProductImage"; import { cls } from "@/lib/utils"; export interface CatalogProduct { id: string; category?: string; name: string; price: string; rating: number; reviewCount?: string; imageSrc: string; imageAlt?: string; onProductClick?: () => void; onFavorite?: () => void; isFavorited?: boolean; } interface ProductCatalogItemProps { product: CatalogProduct; className?: string; imageClassName?: string; categoryClassName?: string; nameClassName?: string; priceClassName?: string; ratingClassName?: string; } const ProductCatalogItem = ({ product, className = "", imageClassName = "", categoryClassName = "", nameClassName = "", priceClassName = "", ratingClassName = "", }: ProductCatalogItemProps) => { return (
{product.category && (

{product.category}

)}

{product.name}

{[...Array(5)].map((_, i) => ( ))}
{product.reviewCount && ( ({product.reviewCount}) )}

{product.price}

); }; ProductCatalogItem.displayName = "ProductCatalogItem"; export default memo(ProductCatalogItem);