import { FC } from 'react' import cn from 'classnames' import Link from 'next/link' import type { Product } from '@commerce/types/product' import s from './ProductCard.module.css' import NextImage, { ImageProps } from 'next/image' import WishlistButton from '@components/wishlist/WishlistButton' import usePrice from '@framework/product/use-price' import ProductTag from '../ProductTag' const Image = (props: any) => { return ( ); } 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', ...props }) => { 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 && ( )} > )} {variant === 'simple' && ( <> {process.env.COMMERCE_WISHLIST_ENABLED && ( )} {!noNameTag && ( {product.name} {`${price} ${product.price?.currencyCode}`} )} {product?.images && ( )} > )} {variant === 'default' && ( <> {process.env.COMMERCE_WISHLIST_ENABLED && ( )} {product?.images && ( )} > )} ) } export default ProductCard