Files
syncrow-app/lib/features/app_layout/view/widgets/default_nav_bar.dart
Mohammad Salameh 8d02eb2f40 Refactor DefaultNavBar widget build method
Remove unnecessary BlocProvider and DevicesCubit logic from DefaultNavBar widget
build method, simplify code structure.
2024-04-04 00:00:48 +03:00

50 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
import 'package:syncrow_app/features/devices/bloc/devices_cubit.dart';
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
import 'package:syncrow_app/utils/resource_manager/constants.dart';
class DefaultNavBar extends StatelessWidget {
const DefaultNavBar({
super.key,
});
@override
Widget build(BuildContext context) {
return BlocBuilder<HomeCubit, HomeState>(
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,
),
);
},
);
}
}