You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
832B

  1. part of 'task_bloc.dart';
  2. abstract class TaskState extends Equatable {
  3. const TaskState();
  4. @override
  5. List<Object?> get props => [];
  6. }
  7. class TaskInitial extends TaskState {}
  8. class TaskLoading extends TaskState {}
  9. class TaskFailure extends TaskState {
  10. final String errorString;
  11. TaskFailure({required this.errorString});
  12. }
  13. class TaskSuccess<Task> extends TaskState {
  14. final List<Task>? items;
  15. final int? page;
  16. final bool? hasReachedMax;
  17. const TaskSuccess({this.items, this.page, this.hasReachedMax});
  18. TaskSuccess copyWith({List<Task>? items, int? page, bool? hasReachedMax}) {
  19. return TaskSuccess(
  20. items: items ?? this.items,
  21. page: page ?? this.page,
  22. hasReachedMax: hasReachedMax ?? this.hasReachedMax,
  23. );
  24. }
  25. @override
  26. List<Object?> get props => [items, page, hasReachedMax];
  27. }