part of 'education_bloc.dart';

abstract class EducationState extends Equatable {
  const EducationState();

  @override
  List<Object> get props => [];
}

class EducationInitial extends EducationState {}

class EducationalBackgroundLoadedState extends EducationState {
  final List<EducationalBackground> educationalBackground;
  const EducationalBackgroundLoadedState({required this.educationalBackground});
  @override
  List<Object> get props => [educationalBackground];
}

class EducationalBackgroundErrorState extends EducationState {
  final String message;
  const EducationalBackgroundErrorState({required this.message});
  @override
  List<Object> get props => [message];
}

class EducationalBackgroundLoadingState extends EducationState {}

////Add
class AddEducationState extends EducationState {
  final List<School> schools;
  final List<Course> programs;
  final List<Honor> honors;
  const AddEducationState(
      {required this.honors, required this.programs, required this.schools});
  @override
  List<Object> get props => [schools, programs, honors];
}

////Edit
class EditEducationState extends EducationState {
  final EducationalBackground educationalBackground;
  final List<School> schools;
  final List<Course> programs;
  final List<Honor> honors;
  const EditEducationState({
    required this.educationalBackground,
    required this.honors,
    required this.programs,
    required this.schools,
  });
}

//// Added State
class EducationAddedState extends EducationState {
  final Map<dynamic, dynamic> response;
  const EducationAddedState({required this.response});
  @override
  List<Object> get props => [response];
}
//// Edited State
class EditedEducationState extends EducationState {
  final Map<dynamic, dynamic> response;
  const EditedEducationState({required this.response});
  @override
  List<Object> get props => [response];
}

////deleted State
class EducationDeletedState extends EducationState {
  final bool success;
  const EducationDeletedState({required this.success});
  @override
  List<Object> get props => [success];
}
