// ignore_for_file: must_be_immutable part of 'diary_bloc.dart'; /// Abstract class for all events that can be dispatched from the ///Diary widget. /// /// Events must be immutable and implement the [Equatable] interface. @immutable abstract class DiaryEvent extends Equatable {} /// Event that is dispatched when the Diary widget is first created. class LoadDiary extends DiaryEvent { @override List get props => []; } class LoadDiaryById extends DiaryEvent { LoadDiaryById( this.id, ); final String? id; @override List get props => []; } class ChangeSatiety extends DiaryEvent { ChangeSatiety( this.selectedElement, ); final int selectedElement; @override List get props => [selectedElement]; } class ChangeMood extends DiaryEvent { ChangeMood( this.selectedElement, ); final int selectedElement; @override List get props => [selectedElement]; } class ChangeMealTime extends DiaryEvent { ChangeMealTime(this.time); final TimeOfDay time; @override List get props => [time]; } class AddComment extends DiaryEvent { AddComment(this.diaryId, this.comment); final String comment; final int diaryId; @override List get props => [comment, diaryId]; } class WakeupEvent extends DiaryEvent { WakeupEvent(this.selectedTime); final TimeOfDay selectedTime; @override List get props => [selectedTime]; } class RetireEvent extends DiaryEvent { RetireEvent(this.selectedTime); final TimeOfDay selectedTime; @override List get props => [selectedTime]; } class ToggleMoodExpandedEvent extends DiaryEvent { @override List get props => []; } class ToggleWakeupExpandedEvent extends DiaryEvent { @override List get props => []; } class AddPortionEvent extends DiaryEvent { AddPortionEvent(); @override List get props => []; } class RemovePortionEvent extends DiaryEvent { RemovePortionEvent(this.portionId); final int portionId; @override List get props => [portionId]; } class UploadImages extends DiaryEvent { UploadImages(this.image); final XFile image; @override List get props => [image]; } class RemoveImageEvent extends DiaryEvent { RemoveImageEvent(this.photoID, this.path); final String photoID; final String path; @override List get props => [photoID, path]; } class ProductInput extends DiaryEvent { ProductInput(this.input); final String input; @override List get props => [input]; } class ChangeMeal extends DiaryEvent { ChangeMeal({required this.value}); SelectionPopupModel value; @override List get props => [value]; } class ClearInput extends DiaryEvent { ClearInput({required this.value}); TextEditingController value; @override List get props => [value]; } class ChangePortion extends DiaryEvent { ChangePortion({required this.value}); SelectionPopupModel value; @override List get props => [value]; } class FinishDay extends DiaryEvent { FinishDay(); @override List get props => []; } class RefreshEvent extends DiaryEvent { RefreshEvent(); @override List get props => []; } class ConfirmPortion extends DiaryEvent { ConfirmPortion(this.id); int id; @override List get props => [id]; } class SendModeration extends DiaryEvent { SendModeration({ required this.name, required this.energyOn100gr, required this.proteinsOn100gr, required this.fatsOn100gr, required this.carbohydratesOn100gr, }); String name; String energyOn100gr; String proteinsOn100gr; String fatsOn100gr; String carbohydratesOn100gr; @override List get props => [name, energyOn100gr, proteinsOn100gr, fatsOn100gr, carbohydratesOn100gr]; }