'use client' import { Product as ProductType } from '@payload-types' import { useCart, useCurrency } from '@tabshiftcms/plugin-ecommerce/react' import React from 'react' type Props = { product: ProductType } export const Product: React.FC = ({ product }) => { const { addItem, removeItem } = useCart() const { formatCurrency, currency } = useCurrency() const pricePath = `priceIn${currency.code.toUpperCase()}` // @ts-expect-error const productPrice = pricePath in product ? product[pricePath] : undefined const hasVariants = product.enableVariants && product.variants?.docs?.length && product.variants?.docs?.length > 0 return (

{product.name}

Price: {formatCurrency(productPrice)}
{!hasVariants && (
)} {hasVariants && product.variants!.docs!.map((variant) => { if (typeof variant === 'string') { return null } return (
{variant.title}
Price: {formatCurrency(variant.priceInUSD)}
) })}
) }