import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/routines/models/create_scene_and_autoamtion/create_automation_model.dart';
import 'package:syncrow_web/utils/constants/app_enum.dart';

abstract class EffectPeriodEvent extends Equatable {
  const EffectPeriodEvent();

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

class InitialEffectPeriodEvent extends EffectPeriodEvent {
  final EffectiveTime effectiveTime;

  const InitialEffectPeriodEvent(this.effectiveTime);

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

class SetPeriod extends EffectPeriodEvent {
  final EnumEffectivePeriodOptions period;

  const SetPeriod(this.period);

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

class ToggleDay extends EffectPeriodEvent {
  final String day;

  const ToggleDay(this.day);

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

class SetCustomTime extends EffectPeriodEvent {
  final String startTime;
  final String endTime;

  const SetCustomTime(this.startTime, this.endTime);

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

class ResetEffectivePeriod extends EffectPeriodEvent {}

class ResetDays extends EffectPeriodEvent {
  @override
  List<Object> get props => [];
}

class SetDays extends EffectPeriodEvent {
  final String daysBinary;

  const SetDays(this.daysBinary);
}
