import 'package:equatable/equatable.dart';
import 'package:syncrow_app/features/app_layout/model/space_model.dart';
import 'package:syncrow_app/features/scene/model/update_automation.dart';

abstract class SceneEvent extends Equatable {
  const SceneEvent();

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

class LoadScenes extends SceneEvent {
  final String unitId;
  final bool showInDevice;
  final SpaceModel unit;

  const LoadScenes(this.unitId, this.unit, {this.showInDevice = false});

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

class LoadAutomation extends SceneEvent {
  final String unitId;
    final String communityId;


  const LoadAutomation(this.unitId, this.communityId);

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

class SceneTrigger extends SceneEvent {
  final String sceneId;
  final String name;

  const SceneTrigger(this.sceneId, this.name);

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

//updateAutomationStatus
class UpdateAutomationStatus extends SceneEvent {
  final String automationId;
  final AutomationStatusUpdate automationStatusUpdate;
  final String communityId;

  const UpdateAutomationStatus({required this.automationStatusUpdate, required this.automationId, required this.communityId});

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