custom_app_bar.dart 1.35 KB
Newer Older
yenisleydi committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
import 'package:flutter/material.dart';
import 'package:primer_practica/src/delegates/article_search_delegate.dart';
import 'package:provider/provider.dart';
import 'package:primer_practica/src/providers/carrito_providers.dart';
import 'package:badges/badges.dart' as badges;

class CustomAppBar extends StatelessWidget implements PreferredSizeWidget {
  @override
  Widget build(BuildContext context) {
    var carrito = Provider.of<CarritoProvider>(context, listen: true);

    return AppBar(
      title: const Text('Home'),
      backgroundColor: Colors.blue,
      actions: [
        IconButton(
          icon: const Icon(Icons.search),
          onPressed: () {
            showSearch(
              context: context,
              delegate: ArticleSearchDelegate(),
            );
          },
        ),
        Padding(
          padding: const EdgeInsets.only(right: 16.0),
          child: badges.Badge(
            badgeContent: Text(
              '${carrito.totalCarrito}',
              style: const TextStyle(color: Colors.white),
            ),
            child: IconButton(
              icon: const Icon(Icons.shopping_cart),
              onPressed: () {
                Navigator.pushNamed(context, 'carrito');
              },
            ),
          ),
        ),
      ],
    );
  }

  @override
  Size get preferredSize => Size.fromHeight(kToolbarHeight);
}