// CartNavButton — botón de carrito para el nav (ícono + badge de cantidad). // Expone: window.CartNavButton (componente React) // Uso: // active=true → resalta el botón (para la página Carrito.html) (() => { const { useState, useEffect } = React; const CartNavButton = ({ active = false }) => { const [count, setCount] = useState(() => window.CreartCart ? window.CreartCart.count() : 0 ); const [pulse, setPulse] = useState(false); useEffect(() => { const sync = () => { const n = window.CreartCart ? window.CreartCart.count() : 0; setCount(prev => { if (n > prev) { setPulse(true); setTimeout(() => setPulse(false), 600); } return n; }); }; window.addEventListener('creart-cart-changed', sync); return () => window.removeEventListener('creart-cart-changed', sync); }, []); return ( {count > 0 && ( {count > 99 ? '99+' : count} )} ); }; window.CartNavButton = CartNavButton; })();