import 'package:flutter/material.dart'; import '../models/ArticuloModel.dart'; class CarritoModel { final ArticleModel articulo; int cantidad; double precio; CarritoModel({ required this.articulo, this.cantidad = 1, required this.precio, }); } class CarritoProvider with ChangeNotifier { List _carrito = []; void addToCart(ArticleModel article) { final existingItemIndex = _carrito.indexWhere((item) => item.articulo.id == article.id); if (existingItemIndex >= 0) { // Si el artículo ya está en el carrito, aumenta la cantidad _carrito[existingItemIndex].cantidad += 1; } else { // Si el artículo no está en el carrito, agrégalo final newItem = CarritoModel( articulo: article, precio: article.precios.isNotEmpty ? article.precios.first.precio : 0.0, ); _carrito.add(newItem); } notifyListeners(); } int get totalCarrito { return _carrito.length; } List get carrito { return [..._carrito]; } }