part of 'profile_bloc.dart';

abstract class ProfileState extends Equatable {
  const ProfileState();

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

class ProfileInitial extends ProfileState {}

class ProfileLoaded extends ProfileState {
  final ProfileInformation profileInformation;
  const ProfileLoaded({required this.profileInformation});
  @override
  List<Object> get props => [profileInformation];
}

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

class ProfileLoading extends ProfileState {}

class EligibilityLoaded extends ProfileState {
  final List<EligibityCert> eligibilities;
  const EligibilityLoaded({required this.eligibilities});
  @override
  List<Object> get props => [eligibilities];
}
class EditEligibilityState extends ProfileState {
  final EligibityCert eligibityCert;
  final List<Eligibility> eligibilities;
  final List<Country> countries;
  final List<Region> regions;
  final bool isOverseas;
 const EditEligibilityState({
    required this.isOverseas,
    required this.eligibityCert,
    required this.eligibilities,
    required this.countries,
    required this.regions,
  });
  @override
  List<Object> get props =>
      [isOverseas, eligibityCert, eligibilities, regions, countries];
}

class DeletedState extends ProfileState {
  final List<EligibityCert> eligibilities;
  final bool success;
  const DeletedState({required this.eligibilities, required this.success});
  @override
  List<Object> get props => [success, eligibilities];
}

class AddEligibilityState extends ProfileState {
  final List<Eligibility> eligibilities;
  final List<Country> countries;
  final List<Region> regions;
 const  AddEligibilityState({
    required this.eligibilities,
    required this.countries,
    required this.regions,
  });
  @override
  List<Object> get props => [eligibilities,countries,regions];
}

class EligibilityAddedState extends ProfileState{
  final List<EligibityCert> eligibilities;
  final Map<dynamic,dynamic> response;

  const EligibilityAddedState({required this.eligibilities, required this.response});
  @override
  List<Object> get props =>[eligibilities,response];
}
