import style from '../styles/product-card.module.css' import Link from 'next/link' import React, { useMemo } from 'react' import Image from '~/components/ui/image' import clsxm from '~/libs/clsxm' import formatCurrency from '~/libs/formatCurrency' import { formatToShortText } from '~/libs/formatNumber' import { createSlug } from '~/libs/slug' import { IProduct } from '~/types/product' type Props = { product: IProduct layout?: 'vertical' | 'horizontal' } const ProductCard = ({ product, layout = 'vertical' }: Props) => { const URL = { product: createSlug('/shop/product/', product.name, product.id.toString()), manufacture: createSlug('/shop/brands/', product.manufacture.name, product.manufacture.id.toString()), } const image = useMemo(() => { if (product.image) return product.image + '?ratio=square' return '/images/noimage.jpeg' }, [product.image]) return (
{product.name} {product.variant_total > 1 && (
{product.variant_total} Varian
)}
{product.manufacture.name}
{product.name}
Rp {formatCurrency(product.lowest_price.price)}
Inc PPN: Rp {formatCurrency(Math.round(product.lowest_price.price * 1.11))}
{product.stock_total > 0 && (
Ready Stock
)} {product.qty_sold > 0 && (
{formatToShortText(product.qty_sold)} Terjual
)}
) } const classPrefix = ({ layout }: Props) => { } export default ProductCard