part of 'occupancy_heat_map_bloc.dart';

enum OccupancyHeatMapStatus { initial, loading, loaded, failure }

final class OccupancyHeatMapState extends Equatable {
  const OccupancyHeatMapState({
    this.status = OccupancyHeatMapStatus.initial,
    this.heatMapData = const [],
    this.errorMessage,
  });

  final OccupancyHeatMapStatus status;
  final String? errorMessage;
  final List<OccupancyHeatMapModel> heatMapData;

  OccupancyHeatMapState copyWith({
    OccupancyHeatMapStatus? status,
    List<OccupancyHeatMapModel>? heatMapData,
    String? errorMessage,
  }) {
    return OccupancyHeatMapState(
      status: status ?? this.status,
      heatMapData: heatMapData ?? this.heatMapData,
      errorMessage: errorMessage ?? this.errorMessage,
    );
  }

  @override
  List<Object?> get props => [status, errorMessage, heatMapData];
}
