import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/device_managment/power_clamp/models/power_clamp_batch_model.dart';
import 'package:syncrow_web/pages/device_managment/power_clamp/models/power_clamp_model.dart';
import 'package:syncrow_web/pages/device_managment/power_clamp/view/power_chart.dart';

class SmartPowerState extends Equatable {
  @override
  List<Object?> get props => [];
}

class SmartPowerInitial extends SmartPowerState {}

class SmartPowerLoading extends SmartPowerState {}

class GetDeviceStatus extends SmartPowerState {}
//GetDeviceStatus

class SmartPowerLoadBatchControll extends SmartPowerState {
  final PowerClampBatchModel status;

  SmartPowerLoadBatchControll(this.status);

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

class DateSelectedState extends SmartPowerState {}

class FakeState extends SmartPowerState {}

class SmartPowerStatusLoaded extends SmartPowerState {
  final PowerClampModel deviceStatus;
  final int currentPage;
  SmartPowerStatusLoaded(this.deviceStatus, this.currentPage);
}

class SmartPowerError extends SmartPowerState {
  final String message;

  SmartPowerError(this.message);

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

class SmartPowerControlError extends SmartPowerState {
  final String message;

  SmartPowerControlError(this.message);

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

class SmartPowerBatchControlError extends SmartPowerState {
  final String message;

  SmartPowerBatchControlError(this.message);

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

class SmartPowerBatchStatusLoaded extends SmartPowerState {
  final List<String> status;

  SmartPowerBatchStatusLoaded(this.status);

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

class FilterRecordsState extends SmartPowerState {
  final List<EnergyData> filteredRecords;

  FilterRecordsState({required this.filteredRecords});
}
