forked from eatvio/eatvio_app
64 lines
2.1 KiB
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;
|
|
}
|