Saltar a contenido

Cart

Cart.jsx

Página del carrito de compras

Función

Permite al usuario visualizar, actualizar y eliminar productos en su carrito de compras.

Comportamiento

  • Al montar:
  • Llama a getCart() → carga carrito del usuario
  • Permite:
  • Aumentar / disminuir cantidad por producto
  • Eliminar productos del carrito
  • Al cambiar cantidad:
  • Actualiza estado local
  • Hace debounce (1.2 seg) para evitar múltiples requests → luego llama updateCart()
  • Botón Continuar tu compra (acción futura configurable)

Servicios utilizados

  • getCart() (CartService.js)
  • updateCart() (CartService.js)
  • removeFromCart() (CartService.js)

Estado interno

Estado Descripción
items Productos actuales en el carrito
updateTimeoutRef Ref para timeout de actualización

Totales calculados

  • Subtotal: suma de precios de los productos * cantidad
  • Descuento: (por ahora hardcoded a 0.00)
  • Total: subtotal - descuento

Librerías utilizadas

  • lucide-react (ícono Trash2)
  • React hooks: useState, useEffect, useRef
  • Button (componente reutilizable)