import 'package:equatable/equatable.dart';
import 'package:syncrow_app/features/devices/model/device_report_model.dart';
import 'package:syncrow_app/features/devices/model/wall_sensor_model.dart';

class WallSensorState extends Equatable {
  const WallSensorState();

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

class InitialState extends WallSensorState {}

class LoadingInitialState extends WallSensorState {}

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

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

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

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

class FailedState extends WallSensorState {
  final String error;

  const FailedState({required this.error});

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

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