diff --git a/app/src/app/products/[slug]/page.tsx b/app/src/app/products/[slug]/page.tsx index 2aeb14b..1eeecc0 100644 --- a/app/src/app/products/[slug]/page.tsx +++ b/app/src/app/products/[slug]/page.tsx @@ -54,7 +54,7 @@ export default function ProductDetailPage() { const cart = JSON.parse(localStorage.getItem('cart') || '[]') const existingIndex = cart.findIndex( (item: { productId: string; variantId?: string }) => - item.productId === product.id && item.variantId === selectedVariant + item.productId === product.id && item.variantId === (selectedVariant || undefined) ) if (existingIndex >= 0) { @@ -249,7 +249,12 @@ export default function ProductDetailPage() { size="lg" variant="secondary" onClick={() => { - addToCart() + const cart = JSON.parse(localStorage.getItem('cart') || '[]') + const alreadyInCart = cart.some( + (item: { productId: string; variantId?: string }) => + item.productId === product.id && item.variantId === (selectedVariant || undefined) + ) + if (!alreadyInCart) addToCart() router.push('/cart') }} >