part of 'crop_schedule_bloc.dart';

abstract class CropScheduleState extends Equatable {
  const CropScheduleState();
  
  @override
  List<Object?> get props => [];
}

class CropScheduleInitial extends CropScheduleState {}

class CropScheduleLoading extends CropScheduleState {}

class CropScheduleLoaded extends CropScheduleState {
  final List<CropSchedule> schedules;
  
  const CropScheduleLoaded({required this.schedules});
  
  @override
  List<Object?> get props => [schedules];
}

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

class ActiveScheduleLoading extends CropScheduleState {}

class ActiveScheduleLoaded extends CropScheduleState {
  final Map<String, dynamic>? activeSchedule;
  
  const ActiveScheduleLoaded({required this.activeSchedule});
  
  @override
  List<Object?> get props => [activeSchedule];
}

class CropScheduleOperationInProgress extends CropScheduleState {}

class CropScheduleOperationSuccess extends CropScheduleState {}

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