import 'package:hydrated_bloc/hydrated_bloc.dart'; import 'package:minehunter/config/menu.dart'; class BottomNavCubit extends HydratedCubit<int> { BottomNavCubit() : super(0); void updateIndex(int index) { if (isIndexAllowed(index)) { emit(index); } else { goToHomePage(); } } bool isIndexAllowed(int index) { return (index >= 0) && (index < Menu.itemsCount); } void goToHomePage() => emit(0); @override int fromJson(Map<String, dynamic> json) { return 0; } @override Map<String, dynamic>? toJson(int state) { return <String, int>{'pageIndex': state}; } }