mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-07-15 17:47:28 +00:00
49 lines
1.7 KiB
Dart
49 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/nav_cubit.dart';
|
|
import 'package:syncrow_app/features/app_layout/bloc/spaces_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<NavCubit, NavState>(
|
|
builder: (context, state) {
|
|
var cubit = NavCubit.of(context);
|
|
return SizedBox(
|
|
height: Constants.bottomNavBarHeight,
|
|
child: BottomNavigationBar(
|
|
backgroundColor: Colors.transparent,
|
|
onTap: (int index) {
|
|
cubit.updatePageIndex(index);
|
|
if (DevicesCubit.get(context).chosenCategoryView != null) {
|
|
DevicesCubit().clearCategoriesSelection(context);
|
|
}
|
|
if (SpacesCubit.get(context).selectedRoom != null) {
|
|
SpacesCubit.get(context).unselectRoom();
|
|
}
|
|
},
|
|
currentIndex: NavCubit.pageIndex,
|
|
selectedItemColor: ColorsManager.primaryColor,
|
|
selectedLabelStyle: const TextStyle(
|
|
color: ColorsManager.primaryColor,
|
|
fontSize: 10,
|
|
),
|
|
showUnselectedLabels: true,
|
|
unselectedItemColor: Colors.grey,
|
|
type: BottomNavigationBarType.fixed,
|
|
elevation: 0,
|
|
items: cubit.bottomNavItems,
|
|
),
|
|
);
|
|
},
|
|
);
|
|
}
|
|
}
|