import 'package:equatable/equatable.dart'; import 'package:flutter/material.dart'; import 'package:hydrated_bloc/hydrated_bloc.dart'; import 'package:scrobbles/models/heatmap.dart'; part 'data_heatmap_state.dart'; class DataHeatmapCubit extends HydratedCubit<DataHeatmapState> { DataHeatmapCubit() : super(const DataHeatmapState()); void getData(DataHeatmapState state) { emit(state); } HeatmapData? getValue() { return state.heatmap; } void update(HeatmapData? heatmapData) { if ((heatmapData != null) && (state.heatmap.toString() != heatmapData.toString())) { setValue(heatmapData); } } void setValue(HeatmapData? heatmapData) { emit(DataHeatmapState( heatmap: heatmapData, )); } @override DataHeatmapState? fromJson(Map<String, dynamic> json) { return DataHeatmapState( heatmap: HeatmapData.fromJson(json['heatmap']), ); } @override Map<String, Object?>? toJson(DataHeatmapState state) { return <String, Object?>{ 'heatmap': state.heatmap?.toJson(), }; } }