import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/device_managment/all_devices/models/device_reports.dart';
import 'package:syncrow_web/pages/device_managment/ceiling_sensor/model/ceiling_sensor_model.dart';

class CeilingSensorState extends Equatable {
  const CeilingSensorState();

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

class CeilingInitialState extends CeilingSensorState {}

class CeilingLoadingInitialState extends CeilingSensorState {}

class CeilingUpdateState extends CeilingSensorState {
  final CeilingSensorModel ceilingSensorModel;
  const CeilingUpdateState({required this.ceilingSensorModel});

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

class CeilingLoadingNewSate extends CeilingSensorState {
  final CeilingSensorModel ceilingSensorModel;
  const CeilingLoadingNewSate({required this.ceilingSensorModel});

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

class CeilingFailedState extends CeilingSensorState {
  final String error;

  const CeilingFailedState({required this.error});

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

class CeilingReportsState extends CeilingSensorState {
  final DeviceReport deviceReport;

  const CeilingReportsState({required this.deviceReport});

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

class CeilingReportsLoadingState extends CeilingSensorState {}

class CeilingReportsFailedState extends CeilingSensorState {
  final String error;

  const CeilingReportsFailedState({required this.error});

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

class ShowCeilingDescriptionState extends CeilingSensorState {
  final String description;

  const ShowCeilingDescriptionState({required this.description});

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