'use client'; import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '@/components/ui/accordion'; import { Product } from '@/lib/storm/product'; import { Image } from '@/lib/storm/types'; import Text from 'components/ui/text/text'; import { cn } from 'lib/utils'; import { useTranslations } from 'next-intl'; import { Suspense } from 'react'; import Price from '../price'; import { Gallery } from './gallery'; import { Grid } from './grid'; interface ProductViewProps { product: Product; relatedProducts?: Product[]; } export default function ProductView({ product, relatedProducts }: ProductViewProps) { const t = useTranslations('product'); const { name, description, price, images } = product; return (
({ src: image.url, alt: image.alt }))} />
({ src: image.url, alt: image.alt, height: image.height, width: image.width }))} />
{name}

{t('details')}

{description && ( {t('description')} {description} )}
{relatedProducts && relatedProducts.length > 0 && (
{t('related')}
)}
); }