Skip to content
Snippets Groups Projects
data_timeline_cubit.dart 906 B
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/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 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(),
    };
  }
}