import 'package:equatable/equatable.dart';
import 'package:krow_domain/krow_domain.dart';

abstract class ShiftDetailsState extends Equatable {
  const ShiftDetailsState();

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

class ShiftDetailsInitial extends ShiftDetailsState {}

class ShiftDetailsLoading extends ShiftDetailsState {}

class ShiftDetailsLoaded extends ShiftDetailsState {
  final Shift shift;
  const ShiftDetailsLoaded(this.shift);

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

class ShiftDetailsError extends ShiftDetailsState {
  final String message;
  const ShiftDetailsError(this.message);

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

class ShiftActionSuccess extends ShiftDetailsState {
  final String message;
  const ShiftActionSuccess(this.message);

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