feat(diary): chart update

This commit is contained in:
mso7nueh
2024-11-11 13:29:05 +03:00
parent d824cbc58e
commit bc8cff2a55
12 changed files with 760 additions and 82 deletions

View File

@@ -1,6 +1,7 @@
import 'dart:io';
import 'package:eatvio_app/features/diary/models/diary_day_model.dart';
import 'package:eatvio_app/features/diary/models/nutrition_model.dart';
import 'package:eatvio_app/features/diary/presentation/bloc/diary_state.dart';
import 'package:eatvio_app/features/diary/repositories/diary_repository.dart';
import 'package:eatvio_app/features/glossary/models/glossary_model.dart';
@@ -23,6 +24,7 @@ class DiaryCubit extends Cubit<DiaryState> {
emit(
DiaryState.loaded(
diary: await diaryRepository.getDiaryByDate(date),
nutrition: await getNutrition(await diaryRepository.getDiaryIndexByDate(date)),
currentSelectedSatietyRating: currentSelectedSatietyRating,
),
);
@@ -32,6 +34,10 @@ class DiaryCubit extends Cubit<DiaryState> {
}
}
Future<NutritionDataModel> getNutrition(int index) async {
return (await diaryRepository.getNutritionData(index));
}
addProductToMeal({
required int diaryId,
required int mealId,

View File

@@ -1,4 +1,5 @@
import 'package:eatvio_app/features/diary/models/diary_day_model.dart';
import 'package:eatvio_app/features/diary/models/nutrition_model.dart';
import 'package:freezed_annotation/freezed_annotation.dart';
part 'diary_state.freezed.dart';
@@ -15,6 +16,7 @@ class DiaryState with _$DiaryState {
const factory DiaryState.loaded({
required DiaryDayModel diary,
required NutritionDataModel nutrition,
required double currentSelectedSatietyRating,
}) = DiaryStateLoaded;
}

View File

@@ -21,8 +21,8 @@ mixin _$DiaryState {
TResult Function() $default, {
required TResult Function() loading,
required TResult Function(String errorMessage) error,
required TResult Function(
DiaryDayModel diary, double currentSelectedSatietyRating)
required TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)
loaded,
}) =>
throw _privateConstructorUsedError;
@@ -31,7 +31,8 @@ mixin _$DiaryState {
TResult? Function()? $default, {
TResult? Function()? loading,
TResult? Function(String errorMessage)? error,
TResult? Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult? Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
}) =>
throw _privateConstructorUsedError;
@@ -40,7 +41,8 @@ mixin _$DiaryState {
TResult Function()? $default, {
TResult Function()? loading,
TResult Function(String errorMessage)? error,
TResult Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
required TResult orElse(),
}) =>
@@ -137,8 +139,8 @@ class _$DiaryStateImpl implements _DiaryState {
TResult Function() $default, {
required TResult Function() loading,
required TResult Function(String errorMessage) error,
required TResult Function(
DiaryDayModel diary, double currentSelectedSatietyRating)
required TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)
loaded,
}) {
return $default();
@@ -150,7 +152,8 @@ class _$DiaryStateImpl implements _DiaryState {
TResult? Function()? $default, {
TResult? Function()? loading,
TResult? Function(String errorMessage)? error,
TResult? Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult? Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
}) {
return $default?.call();
@@ -162,7 +165,8 @@ class _$DiaryStateImpl implements _DiaryState {
TResult Function()? $default, {
TResult Function()? loading,
TResult Function(String errorMessage)? error,
TResult Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
required TResult orElse(),
}) {
@@ -258,8 +262,8 @@ class _$DiaryStateLoadingImpl implements DiaryStateLoading {
TResult Function() $default, {
required TResult Function() loading,
required TResult Function(String errorMessage) error,
required TResult Function(
DiaryDayModel diary, double currentSelectedSatietyRating)
required TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)
loaded,
}) {
return loading();
@@ -271,7 +275,8 @@ class _$DiaryStateLoadingImpl implements DiaryStateLoading {
TResult? Function()? $default, {
TResult? Function()? loading,
TResult? Function(String errorMessage)? error,
TResult? Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult? Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
}) {
return loading?.call();
@@ -283,7 +288,8 @@ class _$DiaryStateLoadingImpl implements DiaryStateLoading {
TResult Function()? $default, {
TResult Function()? loading,
TResult Function(String errorMessage)? error,
TResult Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
required TResult orElse(),
}) {
@@ -408,8 +414,8 @@ class _$DiaryStateErrorImpl implements DiaryStateError {
TResult Function() $default, {
required TResult Function() loading,
required TResult Function(String errorMessage) error,
required TResult Function(
DiaryDayModel diary, double currentSelectedSatietyRating)
required TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)
loaded,
}) {
return error(errorMessage);
@@ -421,7 +427,8 @@ class _$DiaryStateErrorImpl implements DiaryStateError {
TResult? Function()? $default, {
TResult? Function()? loading,
TResult? Function(String errorMessage)? error,
TResult? Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult? Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
}) {
return error?.call(errorMessage);
@@ -433,7 +440,8 @@ class _$DiaryStateErrorImpl implements DiaryStateError {
TResult Function()? $default, {
TResult Function()? loading,
TResult Function(String errorMessage)? error,
TResult Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
required TResult orElse(),
}) {
@@ -500,9 +508,13 @@ abstract class _$$DiaryStateLoadedImplCopyWith<$Res> {
$Res Function(_$DiaryStateLoadedImpl) then) =
__$$DiaryStateLoadedImplCopyWithImpl<$Res>;
@useResult
$Res call({DiaryDayModel diary, double currentSelectedSatietyRating});
$Res call(
{DiaryDayModel diary,
NutritionDataModel nutrition,
double currentSelectedSatietyRating});
$DiaryDayModelCopyWith<$Res> get diary;
$NutritionDataModelCopyWith<$Res> get nutrition;
}
/// @nodoc
@@ -519,6 +531,7 @@ class __$$DiaryStateLoadedImplCopyWithImpl<$Res>
@override
$Res call({
Object? diary = null,
Object? nutrition = null,
Object? currentSelectedSatietyRating = null,
}) {
return _then(_$DiaryStateLoadedImpl(
@@ -526,6 +539,10 @@ class __$$DiaryStateLoadedImplCopyWithImpl<$Res>
? _value.diary
: diary // ignore: cast_nullable_to_non_nullable
as DiaryDayModel,
nutrition: null == nutrition
? _value.nutrition
: nutrition // ignore: cast_nullable_to_non_nullable
as NutritionDataModel,
currentSelectedSatietyRating: null == currentSelectedSatietyRating
? _value.currentSelectedSatietyRating
: currentSelectedSatietyRating // ignore: cast_nullable_to_non_nullable
@@ -542,22 +559,36 @@ class __$$DiaryStateLoadedImplCopyWithImpl<$Res>
return _then(_value.copyWith(diary: value));
});
}
/// Create a copy of DiaryState
/// with the given fields replaced by the non-null parameter values.
@override
@pragma('vm:prefer-inline')
$NutritionDataModelCopyWith<$Res> get nutrition {
return $NutritionDataModelCopyWith<$Res>(_value.nutrition, (value) {
return _then(_value.copyWith(nutrition: value));
});
}
}
/// @nodoc
class _$DiaryStateLoadedImpl implements DiaryStateLoaded {
const _$DiaryStateLoadedImpl(
{required this.diary, required this.currentSelectedSatietyRating});
{required this.diary,
required this.nutrition,
required this.currentSelectedSatietyRating});
@override
final DiaryDayModel diary;
@override
final NutritionDataModel nutrition;
@override
final double currentSelectedSatietyRating;
@override
String toString() {
return 'DiaryState.loaded(diary: $diary, currentSelectedSatietyRating: $currentSelectedSatietyRating)';
return 'DiaryState.loaded(diary: $diary, nutrition: $nutrition, currentSelectedSatietyRating: $currentSelectedSatietyRating)';
}
@override
@@ -566,6 +597,8 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded {
(other.runtimeType == runtimeType &&
other is _$DiaryStateLoadedImpl &&
(identical(other.diary, diary) || other.diary == diary) &&
(identical(other.nutrition, nutrition) ||
other.nutrition == nutrition) &&
(identical(other.currentSelectedSatietyRating,
currentSelectedSatietyRating) ||
other.currentSelectedSatietyRating ==
@@ -574,7 +607,7 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded {
@override
int get hashCode =>
Object.hash(runtimeType, diary, currentSelectedSatietyRating);
Object.hash(runtimeType, diary, nutrition, currentSelectedSatietyRating);
/// Create a copy of DiaryState
/// with the given fields replaced by the non-null parameter values.
@@ -591,11 +624,11 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded {
TResult Function() $default, {
required TResult Function() loading,
required TResult Function(String errorMessage) error,
required TResult Function(
DiaryDayModel diary, double currentSelectedSatietyRating)
required TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)
loaded,
}) {
return loaded(diary, currentSelectedSatietyRating);
return loaded(diary, nutrition, currentSelectedSatietyRating);
}
@override
@@ -604,10 +637,11 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded {
TResult? Function()? $default, {
TResult? Function()? loading,
TResult? Function(String errorMessage)? error,
TResult? Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult? Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
}) {
return loaded?.call(diary, currentSelectedSatietyRating);
return loaded?.call(diary, nutrition, currentSelectedSatietyRating);
}
@override
@@ -616,12 +650,13 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded {
TResult Function()? $default, {
TResult Function()? loading,
TResult Function(String errorMessage)? error,
TResult Function(DiaryDayModel diary, double currentSelectedSatietyRating)?
TResult Function(DiaryDayModel diary, NutritionDataModel nutrition,
double currentSelectedSatietyRating)?
loaded,
required TResult orElse(),
}) {
if (loaded != null) {
return loaded(diary, currentSelectedSatietyRating);
return loaded(diary, nutrition, currentSelectedSatietyRating);
}
return orElse();
}
@@ -667,10 +702,12 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded {
abstract class DiaryStateLoaded implements DiaryState {
const factory DiaryStateLoaded(
{required final DiaryDayModel diary,
required final NutritionDataModel nutrition,
required final double currentSelectedSatietyRating}) =
_$DiaryStateLoadedImpl;
DiaryDayModel get diary;
NutritionDataModel get nutrition;
double get currentSelectedSatietyRating;
/// Create a copy of DiaryState