Files
eatvio_app/lib/features/diary/presentation/bloc/diary_state.dart

48 lines
1.6 KiB
Dart

import 'package:eatvio_app/features/diary/models/diary_model.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<dynamic>? autocompleteList,
required List<int> recommendedChartValues,
required List<int> consumedChartValues,
List<Portion>? portions,
List<Photo>? 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;
}