Skip to content
Snippets Groups Projects
data_statistics_global_cubit.dart 1.23 KiB
Newer Older
Benoît Harrault's avatar
Benoît Harrault committed
import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart';
import 'package:hydrated_bloc/hydrated_bloc.dart';

import 'package:scrobbles/models/statistics_global.dart';

part 'data_statistics_global_state.dart';

class DataStatisticsGlobalCubit extends HydratedCubit<DataStatisticsGlobalState> {
  DataStatisticsGlobalCubit() : super(const DataStatisticsGlobalState());

  void getData(DataStatisticsGlobalState state) {
    emit(state);
  }

  StatisticsGlobalData? getValue() {
    return state.statisticsGlobal;
  }

  void update(StatisticsGlobalData? statisticsGlobal) {
    if (state.statisticsGlobal.toString() != statisticsGlobal.toString()) {
      setValue(statisticsGlobal);
    }
  }

Benoît Harrault's avatar
Benoît Harrault committed
  void setValue(StatisticsGlobalData? statisticsGlobal) {
    emit(DataStatisticsGlobalState(
      statisticsGlobal: statisticsGlobal,
    ));
  }

  @override
  DataStatisticsGlobalState? fromJson(Map<String, dynamic> json) {
    return DataStatisticsGlobalState(
      statisticsGlobal: StatisticsGlobalData.fromJson(json['statisticsGlobal']),
    );
  }

  @override
  Map<String, Object?>? toJson(DataStatisticsGlobalState state) {
    return <String, Object?>{
      'statisticsGlobal': state.statisticsGlobal?.toJson(),
    };
  }
}