Current File : /home/tradevaly/www/fresh/lib/view/screens/menu/widget/menu_button.dart
import 'package:flutter/material.dart';
import 'package:flutter_grocery/helper/responsive_helper.dart';
import 'package:flutter_grocery/helper/route_helper.dart';
import 'package:flutter_grocery/provider/auth_provider.dart';
import 'package:flutter_grocery/provider/splash_provider.dart';
import 'package:flutter_grocery/provider/theme_provider.dart';
import 'package:flutter_grocery/utill/color_resources.dart';
import 'package:flutter_grocery/utill/dimensions.dart';
import 'package:flutter_grocery/utill/styles.dart';
import 'package:flutter_grocery/view/screens/menu/widget/custom_drawer.dart';
import 'package:provider/provider.dart';

class MenuButton extends StatelessWidget {
  final CustomDrawerController drawerController;
  final int index;
  final String icon;
  final String title;
  final IconData iconData;
  MenuButton({@required this.drawerController, @required this.index, @required this.icon, @required this.title, this.iconData = null});

  @override
  Widget build(BuildContext context) {
    return Consumer<SplashProvider>(
      builder: (context, splash, child) {
        return ListTile(
          onTap: () {
           ResponsiveHelper.isMobilePhone() ? splash.setPageIndex(index) : SizedBox();
           if(ResponsiveHelper.isWeb() && index == 0){
             Navigator.pushNamed(context, RouteHelper.menu);
           } else if(ResponsiveHelper.isWeb() && index == 1){
              Navigator.pushNamed(context, RouteHelper.categorys);
            } else if(ResponsiveHelper.isWeb() && index == 2){
              Navigator.pushNamed(context, RouteHelper.cart);
            } else if(ResponsiveHelper.isWeb() && index == 3){
             Navigator.pushNamed(context, RouteHelper.favorite);}
           else if(ResponsiveHelper.isWeb() && index == 4){
             Navigator.pushNamed(context, RouteHelper.myOrder);
           } else if(ResponsiveHelper.isWeb() && index == 5){
             Navigator.pushNamed(context, RouteHelper.address);
           } else if(ResponsiveHelper.isWeb() && index == 6){
             Navigator.pushNamed(context, RouteHelper.coupon);
           } else if(ResponsiveHelper.isWeb() && index == 7){
             Navigator.pushNamed(context, RouteHelper.getChatRoute(orderModel: null));
           } else if(ResponsiveHelper.isWeb() && index == 8){
             Navigator.pushNamed(context, RouteHelper.settings);
           }else if(ResponsiveHelper.isWeb() && index == 9){
             Navigator.pushNamed(context, RouteHelper.getTermsRoute());
           }else if(ResponsiveHelper.isWeb() && index == 10){
             Navigator.pushNamed(context, RouteHelper.getPolicyRoute());
           }else if(ResponsiveHelper.isWeb() && index == 11){
             Navigator.pushNamed(context, RouteHelper.getAboutUsRoute());
           }else if(ResponsiveHelper.isWeb() && index == 12){

             Provider.of<AuthProvider>(context, listen: false).deleteUser(context);
           }
            drawerController.toggle();
          },
          selected: splash.pageIndex == index,
          selectedTileColor: Colors.black.withAlpha(30),
          leading: iconData != null ? Icon(iconData, size: 25, color: Theme.of(context).cardColor) :
          Image.asset(
            icon, color: Provider.of<ThemeProvider>(context).darkTheme
              ? ColorResources.getTextColor(context)
              : ResponsiveHelper.isDesktop(context)? ColorResources.getDarkColor(context): ColorResources.getBackgroundColor(context),
            width: 25, height: 25,
          ),
          title: Text(title, style: poppinsRegular.copyWith(
            fontSize: Dimensions.FONT_SIZE_LARGE,
            color: Provider.of<ThemeProvider>(context).darkTheme
                ? ColorResources.getTextColor(context)
                : ResponsiveHelper.isDesktop(context)? ColorResources.getDarkColor(context): ColorResources.getBackgroundColor(context),
          )),
        );
      },
    );
  }
}