diff --git a/app/(protected)/productos/productos-client.tsx b/app/(protected)/productos/productos-client.tsx
index a2e72d0..f3a1ef6 100644
--- a/app/(protected)/productos/productos-client.tsx
+++ b/app/(protected)/productos/productos-client.tsx
@@ -1,13 +1,15 @@
'use client'
-import { useState } from 'react'
-import { Package, Plus } from 'lucide-react'
+import { useState, useSyncExternalStore } from 'react'
+import { Package, Plus, ShoppingCart } from 'lucide-react'
import { ProductCard } from '@/components/product-card'
import { Modal } from '@/components/ui/modal'
import { ProductFormModal } from '@/components/product-form-modal'
+import { ShoppingCartModal } from '@/components/shopping-cart-modal'
import { EmptyState } from '@/components/ui/empty-state'
import { Button } from '@/components/ui/button'
import { useQuery, useQueryClient } from '@tanstack/react-query'
+import { getCart } from '@/lib/shopping-cart'
interface Supply {
id: string
@@ -60,8 +62,18 @@ interface ProductosClientProps {
export function ProductosClient({ products: initialProducts, categories, allSupplies, company }: ProductosClientProps) {
const queryClient = useQueryClient()
const [modalOpen, setModalOpen] = useState(false)
+ const [cartModalOpen, setCartModalOpen] = useState(false)
const [editingProduct, setEditingProduct] = useState
0 - ? "bg-amber-500/10 text-amber-700 dark:text-amber-300" - : "bg-muted/50 text-muted-foreground" - )}> - {product.maxPossibleBatches > 0 - ? `Insumos suficientes para ${product.maxPossibleBatches} lote(s).` - : "Insumos insuficientes para esta receta."} -
++ Lista de Compra +
++ {product.maxPossibleBatches > 0 + ? `Insumos suficientes para ${product.maxPossibleBatches} lote(s).` + : "Insumos insuficientes para esta receta."} +
+La lista está vacía
+Agrega productos desde las tarjetas de catálogo.
+{item.productName}
++ {item.recipeItems.length} insumo{item.recipeItems.length !== 1 ? 's' : ''} por lote +
+| Insumo | +Cantidad | +Para | +
|---|---|---|
| {item.name} | ++ + {Number(item.totalQuantity.toFixed(2))} {item.unit} + + | ++ {item.products.map((p) => `${p.name} (${p.lots} lote${p.lots > 1 ? 's' : ''})`).join(', ')} + | +