import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/selected_product_model.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart';

abstract class AddDeviceState extends Equatable {
  const AddDeviceState();

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

class AddDeviceInitial extends AddDeviceState {}

class AddDeviceLoading extends AddDeviceState {}

class AddDeviceLoaded extends AddDeviceState {
  final List<SelectedProduct> selectedProducts;
  final List<Tag> initialTag;

  const AddDeviceLoaded({
    required this.selectedProducts,
    required this.initialTag,
  });

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

class AddDeviceError extends AddDeviceState {
  final String errorMessage;

  const AddDeviceError(this.errorMessage);

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