'use client'; import { Carousel, CarouselItem } from 'components/modules/carousel/carousel'; import Price from 'components/product/price'; import SanityImage from 'components/ui/sanity-image'; import { Product } from 'lib/storm/types/product'; import { cn } from 'lib/utils'; import { useTranslations } from 'next-intl'; import dynamic from 'next/dynamic'; const ProductCard = dynamic(() => import('components/ui/product-card')); const Text = dynamic(() => import('components/ui/text')); interface ProductViewProps { product: Product; relatedProducts: Product[]; } export default function ProductView({ product, relatedProducts }: ProductViewProps) { const images = product.images; const t = useTranslations('product'); return (
{images && ( 1 ? 1.0125 : 1} responsive={{ breakpoint: 1024, settings: { slidesToShow: 1 } }} > {images.map((image: any, index: number) => ( ))} )}
{images.map((image: any, index: number) => (
))}
{product.name}
{relatedProducts.length > 0 && (
{t('related')} {relatedProducts.map((p) => ( ))}
)}
); }