import { FC } from 'react' import cn from 'clsx' import Link from 'next/link' import type { Product } from '@commerce/types/product' import s from './ProductCard.module.css' import Image, { ImageProps } from 'next/image' import WishlistButton from '@components/wishlist/WishlistButton' import usePrice from '@framework/product/use-price' import ProductTag from '../ProductTag' interface Props { className?: string product: Product noNameTag?: boolean imgProps?: Omit variant?: 'default' | 'slim' | 'simple' } const placeholderImg = '/product-img-placeholder.svg' const ProductCard: FC = ({ product, imgProps, className, noNameTag = false, variant = 'default', }) => { const { price } = usePrice({ amount: product.price.value, baseAmount: product.price.retailPrice, currencyCode: product.price.currencyCode!, }) const rootClassName = cn( s.root, { [s.slim]: variant === 'slim', [s.simple]: variant === 'simple' }, className ) return ( {variant === 'slim' && ( <>
{product.name}
{product?.images && (
{product.name
)} )} {variant === 'simple' && ( <> {process.env.COMMERCE_WISHLIST_ENABLED && ( )} {!noNameTag && (

{product.name}

{`${price} ${product.price?.currencyCode}`}
)}
{product?.images && (
{product.name
)}
)} {variant === 'default' && ( <> {process.env.COMMERCE_WISHLIST_ENABLED && ( )}
{product?.images && (
{product.name
)}
)}
) } export default ProductCard