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

64 lines
2.1 KiB
Dart

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/portion.dart';
import 'package:eatvio_app/features/diary/models/product.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({
int? id,
}) = DiaryStateLoading;
const factory DiaryState.loaded({
required DiaryModel diary,
String? diaryDate,
required List<int> recommendedChartValues,
required List<int> consumedChartValues,
required List<Portion> portions,
required List<SelectionPopupModel> mealList,
required List<SelectionPopupModel> portionList,
required List<Product> autocompleteList,
required Map<String, dynamic> chartData,
required Meal currentMeal,
required SelectionPopupModel portionController,
required TimeOfDay wakeupController,
required TimeOfDay retireController,
TimeOfDay? mealTimeController,
required TextEditingController commentController,
required TextEditingController product_nameController,
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,
List<NutritionData>? chartDataCounted,
}) = DiaryStateLoaded;
const factory DiaryState.error({
required String errorMessage,
}) = DiaryStateError;
}
class NutritionData {
NutritionData(this.category, this.nutrition, this.color);
final String category;
final double nutrition;
final Color color;
}