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 AddDeviceModelState extends Equatable {
  const AddDeviceModelState();

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

class AddDeviceModelInitial extends AddDeviceModelState {}

class AddDeviceModelLoading extends AddDeviceModelState {}

class AddDeviceModelLoaded extends AddDeviceModelState {
  final List<SelectedProduct> selectedProducts;
  final List<Tag> initialTag;

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

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

class AddDeviceModelError extends AddDeviceModelState {
  final String errorMessage;

  const AddDeviceModelError(this.errorMessage);

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