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/wall_sensor/model/wall_sensor_model.dart';

class WallSensorState extends Equatable {
  const WallSensorState();

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

class WallSensorInitialState extends WallSensorState {}

class WallSensorLoadingInitialState extends WallSensorState {}

class WallSensorUpdateState extends WallSensorState {
  final WallSensorModel wallSensorModel;
  const WallSensorUpdateState({required this.wallSensorModel});

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

class WallSensorLoadingNewSate extends WallSensorState {
  final WallSensorModel wallSensorModel;
  const WallSensorLoadingNewSate({required this.wallSensorModel});

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

class WallSensorFailedState extends WallSensorState {
  final String error;

  const WallSensorFailedState({required this.error});

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

class DeviceReportsLoadingState extends WallSensorState {}

class DeviceReportsState extends WallSensorState {
  final DeviceReport deviceReport;
  final String code;
  const DeviceReportsState({required this.deviceReport, required this.code});
}

class DeviceReportsFailedState extends WallSensorState {
  final String error;
  const DeviceReportsFailedState({required this.error});
}

class WallSensorShowDescriptionState extends WallSensorState {
  final String description;
  const WallSensorShowDescriptionState({required this.description});
}
