From 8d02eb2f407bfbfa69086491b28f871529e6b932 Mon Sep 17 00:00:00 2001 From: Mohammad Salameh Date: Thu, 4 Apr 2024 00:00:48 +0300 Subject: [PATCH] Refactor DefaultNavBar widget build method Remove unnecessary BlocProvider and DevicesCubit logic from DefaultNavBar widget build method, simplify code structure. --- .../view/widgets/default_nav_bar.dart | 67 +++++++++---------- 1 file changed, 30 insertions(+), 37 deletions(-) diff --git a/lib/features/app_layout/view/widgets/default_nav_bar.dart b/lib/features/app_layout/view/widgets/default_nav_bar.dart index 4076195..e791ad2 100644 --- a/lib/features/app_layout/view/widgets/default_nav_bar.dart +++ b/lib/features/app_layout/view/widgets/default_nav_bar.dart @@ -13,44 +13,37 @@ class DefaultNavBar extends StatelessWidget { @override Widget build(BuildContext context) { - return BlocProvider( - create: (context) => DevicesCubit.getInstance(), - child: BlocBuilder( - builder: (context, state) { - return BlocBuilder( - builder: (context, state) { - var cubit = HomeCubit.getInstance(); - return SizedBox( - height: Constants.bottomNavBarHeight, - child: BottomNavigationBar( - backgroundColor: Colors.transparent, - onTap: (int index) { - cubit.updatePageIndex(index); - if (DevicesCubit.getInstance().chosenCategoryView != null) { - DevicesCubit.getInstance() - .clearCategoriesSelection(context); - } - if (HomeCubit.getInstance().selectedRoom != null) { - HomeCubit.getInstance().unselectRoom(); - } - }, - currentIndex: HomeCubit.pageIndex, - selectedItemColor: ColorsManager.primaryColor, - selectedLabelStyle: const TextStyle( - color: ColorsManager.primaryColor, - fontSize: 10, - ), - showUnselectedLabels: true, - unselectedItemColor: Colors.grey, - type: BottomNavigationBarType.fixed, - elevation: 0, - items: HomeCubit.bottomNavItems, - ), - ); + return BlocBuilder( + builder: (context, state) { + var cubit = HomeCubit.getInstance(); + return SizedBox( + height: Constants.bottomNavBarHeight, + child: BottomNavigationBar( + backgroundColor: Colors.transparent, + onTap: (int index) { + cubit.updatePageIndex(index); + // if (DevicesCubit.getInstance().chosenCategoryView != null) { + // DevicesCubit.getInstance() + // .clearCategoriesSelection(context); + // } + if (HomeCubit.getInstance().selectedRoom != null) { + HomeCubit.getInstance().unselectRoom(); + } }, - ); - }, - ), + currentIndex: HomeCubit.pageIndex, + selectedItemColor: ColorsManager.primaryColor, + selectedLabelStyle: const TextStyle( + color: ColorsManager.primaryColor, + fontSize: 10, + ), + showUnselectedLabels: true, + unselectedItemColor: Colors.grey, + type: BottomNavigationBarType.fixed, + elevation: 0, + items: HomeCubit.bottomNavItems, + ), + ); + }, ); } }