part of 'scene_bloc.dart';

abstract class SceneState extends Equatable {
  const SceneState();

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

class SceneInitial extends SceneState {}

class SceneLoading extends SceneState {}

class SceneLoaded extends SceneState {
  final List<ScenesModel> scenes;
  final List<ScenesModel> automationList;
  final String? loadingSceneId;
  final Map<String, bool> loadingStates;

  const SceneLoaded(this.scenes, this.automationList,
      {this.loadingSceneId, this.loadingStates = const {}});

  @override
  List<Object?> get props =>
      [scenes, loadingSceneId, automationList, loadingStates];
}

class SceneError extends SceneState {
  final String message;

  const SceneError({required this.message});

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

class SceneTriggerSuccess extends SceneState {
  final String sceneName;

  const SceneTriggerSuccess(this.sceneName);

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

class UpdateAutomationStatusLoading extends SceneState {
  const UpdateAutomationStatusLoading();
}
