import 'package:hydrated_bloc/hydrated_bloc.dart';

class BottomNavCubit extends HydratedCubit<int> {
  BottomNavCubit() : super(0);

  void updateIndex(int index) => emit(index);

  void movePrevious() => emit((state > 0) ? state - 1 : state);
  void moveNext() => emit((state < 2) ? state + 1 : state);

  void getHomePage() => emit(0);
  void getDiscoveriesPage() => emit(1);
  void getStatisticsPage() => emit(2);

  @override
  int? fromJson(Map<String, dynamic> json) {
    return json['pageIndex'] as int?;
  }

  @override
  Map<String, dynamic>? toJson(int state) {
    return <String, int>{'pageIndex': state};
  }
}