import 'package:eatvio_app/features/diary/models/diary_model.dart'; import 'package:eatvio_app/features/diary/models/meal.dart'; import 'package:eatvio_app/features/diary/models/photo.dart'; import 'package:eatvio_app/features/diary/models/portion.dart'; import 'package:flutter/material.dart'; import 'package:freezed_annotation/freezed_annotation.dart'; import '../../../../data/models/selectionPopupModel/selection_popup_model.dart'; part 'diary_state.freezed.dart'; @freezed abstract class DiaryState with _$DiaryState { const factory DiaryState() = _DiaryState; const factory DiaryState.loading() = DiaryStateLoading; const factory DiaryState.loaded({ required DiaryModel diary, String? diaryDate, required List autocompleteList, required List recommendedChartValues, required List consumedChartValues, required List portions, required List photos, required List mealList, required List portionList, required Meal currentMeal, required SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, required TextEditingController commentController, required TextEditingController productNameController, required TextEditingController productQuantityController, required TextEditingController caloriesController, required TextEditingController fatsController, required TextEditingController proteinsController, required TextEditingController carbsController, required int selectedMood, required int selectedSatiety, required bool wakeupExpanded, required bool moderationExpanded, required bool moodExpanded, required bool isLoading, required bool isAdded, }) = DiaryStateLoaded; const factory DiaryState.error({ required String errorMessage, }) = DiaryStateError; }