
import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/device_managment/door_lock/models/door_lock_status_model.dart';

sealed class DoorLockState extends Equatable {
  const DoorLockState();

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

class DoorLockInitial extends DoorLockState {}

class DoorLockStatusLoading extends DoorLockState {}

class DoorLockStatusLoaded extends DoorLockState {
  final DoorLockStatusModel status;

  const DoorLockStatusLoaded(this.status);

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

class DoorLockControlLoading extends DoorLockState {}

class DoorLockControlError extends DoorLockState {
  final String message;

  const DoorLockControlError(this.message);

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

class LoadingNewSate extends DoorLockState {
  final DoorLockStatusModel smartDoorModel;
  const LoadingNewSate({required this.smartDoorModel});

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

class UpdateState extends DoorLockState {
  final DoorLockStatusModel smartDoorModel;
  const UpdateState({required this.smartDoorModel});

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