Skip to content
Snippets Groups Projects
nav_cubit_screens.dart 736 B
Newer Older
import 'package:flutter_custom_toolbox/flutter_toolbox.dart';
import 'package:scrobbles/common/config/screen.dart';

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

  void updateIndex(int index) {
    if (Screen.isIndexAllowed(index)) {
      emit(index);
    } else {
      goToScreenActivity();
  void goToScreenActivity() {
    emit(Screen.indexActivity);
  }

  void goToScreenSettings() {
    emit(Screen.indexSettings);
  }

  void goToScreenAbout() {
    emit(Screen.indexAbout);
  }

  @override
  int fromJson(Map<String, dynamic> json) {
    return Screen.indexActivity;
  }

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