import 'package:flutter/material.dart'; import 'package:badges/badges.dart' as badges; import 'package:provider/provider.dart'; import 'package:practica1_flutter/src/pages/category/category_widget.dart'; import '../delegates/custom_search_delegate.dart'; import '../http_api/article_service.dart'; import '../http_api/articles_api.dart'; import '../models/article_model.dart'; import '../providers/carrito_provider.dart'; import 'carrito_page.dart'; class HomeSellerPage extends StatefulWidget { @override _HomeSellerPageState createState() => _HomeSellerPageState(); } class _HomeSellerPageState extends State { List articles = []; @override void initState() { super.initState(); _fetchArticles(); } _fetchArticles() async { var fetchedArticles = await ArticleService1().getArticles(); setState(() { articles = fetchedArticles; }); } @override Widget build(BuildContext context) { return DefaultTabController( length: 2, child: Scaffold( appBar: AppBar( title: const Text("Tienda Prueba"), centerTitle: true, foregroundColor: Colors.white, backgroundColor: Colors.indigoAccent, actions: [ IconButton( icon: Icon(Icons.search, color: Colors.green), onPressed: () { showSearch( context: context, delegate: CustomSearchDelegate(articles), // Pasando la lista de artículos ); }, ), // AGREGAR PRODUCTO AL CARRITO Consumer( builder: (context, carrito, child) { return badges.Badge( badgeContent: Text( carrito.totalItems.toString(), style: TextStyle(color: Colors.white)//Color num notificación ), position: badges.BadgePosition.topEnd(top: 0, end: 3), child: IconButton( icon: Icon(Icons.card_travel_outlined), onPressed: () { Navigator.push( context, MaterialPageRoute(builder: (context) => CarritoPage()), ); }, ), ); }, ), ], bottom: const TabBar( tabs: [ Tab(icon: Icon(Icons.article_outlined), text: "Artículos"), Tab(icon: Icon(Icons.category), text: "Categorías"), ], ), ), drawer: MenuLateral(), body: TabBarView( children: [ CategoryWidget(), ], ), floatingActionButton: FloatingActionButton( onPressed: () { Navigator.pushNamed(context, 'category_form'); }, child: Icon(Icons.add), tooltip: 'Agregar Categoría', ), ), ); } } class MenuLateral extends StatelessWidget { @override Widget build(BuildContext context) { return Drawer( child: ListView( children: [ const UserAccountsDrawerHeader( accountName: Text("Efren David"), accountEmail: Text("24mdavid25@gmail.com"), ), Ink( color: Colors.indigo, child: ListTile( title: const Text("Mi cuenta", style: TextStyle(color: Colors.white)), ), ), const ListTile( title: Text("Categorías"), ), const ListTile( title: Text("Configuración"), ), ], ), ); } }