Skip to content
Snippets Groups Projects
settings_cubit.dart 1.11 KiB
Newer Older
  • Learn to ignore specific revisions
  • import 'package:equatable/equatable.dart';
    import 'package:flutter/material.dart';
    import 'package:hydrated_bloc/hydrated_bloc.dart';
    
    part 'settings_state.dart';
    
    class SettingsCubit extends HydratedCubit<SettingsState> {
      SettingsCubit() : super(const SettingsState());
    
      String getUsername() {
        return state.username ?? '';
      }
    
      String getSecurityToken() {
        return state.securityToken ?? '';
      }
    
      void setValues({
        String? username,
        String? securityToken,
      }) {
        emit(SettingsState(
          username: username != null ? username : state.username,
          securityToken: securityToken != null ? securityToken : state.securityToken,
        ));
      }
    
      @override
      SettingsState? fromJson(Map<String, dynamic> json) {
        String username = json['username'] as String;
        String securityToken = json['securityToken'] as String;
    
        return SettingsState(
          username: username,
          securityToken: securityToken,
        );
      }
    
      @override
      Map<String, String>? toJson(SettingsState state) {
        return <String, String>{
          'username': state.username ?? '',
          'securityToken': state.securityToken ?? '',
        };
      }
    }