feat(diary): add diary page, calendar, meals

This commit is contained in:
mso7nueh
2024-10-24 16:59:51 +03:00
parent e2b54cca99
commit 1883b93315
52 changed files with 2480 additions and 5592 deletions

View File

@@ -1,63 +1,19 @@
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:eatvio_app/features/diary/models/diary_day_model.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 {
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.loading() = DiaryStateLoading;
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;
const factory DiaryState.loaded({
required DiaryDayModel diary,
}) = DiaryStateLoaded;
}