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