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, List? autocompleteList, required List recommendedChartValues, required List consumedChartValues, List? portions, List? photos, Meal? currentMeal, 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, int? selectedMood, 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; }