part of 'create_event_bloc.dart';

@immutable
sealed class CreateEventEvent {}

class CreateEventInit extends CreateEventEvent {
  final EventModel? eventModel;
  final EventScheduleType? recurringType;

  CreateEventInit(this.recurringType, this.eventModel);
}

// class CreateEventChangeContractType extends CreateEventEvent {
//   final EventContractType contractType;
//
//   CreateEventChangeContractType(this.contractType);
// }

class CreateEventChangeHub extends CreateEventEvent {
  final HubModel hub;

  CreateEventChangeHub(this.hub);
}

class CreateEventValidateAndPreview extends CreateEventEvent {
  CreateEventValidateAndPreview();
}

// class CreateEventChangeContractNumber extends CreateEventEvent {
//   final String contractNumber;
//
//   CreateEventChangeContractNumber(this.contractNumber);
// }

class CreateEventChangePoNumber extends CreateEventEvent {
  final String poNumber;

  CreateEventChangePoNumber(this.poNumber);
}

class CreateEventNameChange extends CreateEventEvent {
  final String value;

  CreateEventNameChange(this.value);
}

class CreateEventAddInfoChange extends CreateEventEvent {
  final String value;

  CreateEventAddInfoChange(this.value);
}

class CreateEventTagSelected extends CreateEventEvent {
  final TagModel tag;

  CreateEventTagSelected(this.tag);
}

class CreateEventAddShift extends CreateEventEvent {
  CreateEventAddShift();
}

class CreateEventRemoveShift extends CreateEventEvent {
  final String id;

  CreateEventRemoveShift(this.id);
}

class CreateEventToggleAddon extends CreateEventEvent {
  final AddonModel addon;

  CreateEventToggleAddon(this.addon);
}

class CreateEventEntityUpdatedEvent extends CreateEventEvent {
  CreateEventEntityUpdatedEvent();
}

class DeleteDraftEvent extends CreateEventEvent {
  DeleteDraftEvent();
}
