From b4993c827c64a0e477642e2b9cb570c6210c4817 Mon Sep 17 00:00:00 2001 From: maxxkim Date: Mon, 15 Jul 2024 11:46:32 +0300 Subject: [PATCH] fix(diary): UI errors fix --- .../diary/presentation/bloc/diary_bloc.dart | 19 +- .../diary/presentation/bloc/diary_event.dart | 8 - .../diary/presentation/bloc/diary_state.dart | 7 +- .../bloc/diary_state.freezed.dart | 397 ++++++++++-------- .../presentation/pages/diary_screen.dart | 28 +- 5 files changed, 248 insertions(+), 211 deletions(-) diff --git a/lib/features/diary/presentation/bloc/diary_bloc.dart b/lib/features/diary/presentation/bloc/diary_bloc.dart index 9cc1b778..6bef4932 100644 --- a/lib/features/diary/presentation/bloc/diary_bloc.dart +++ b/lib/features/diary/presentation/bloc/diary_bloc.dart @@ -58,11 +58,19 @@ class DiaryBloc extends Bloc { final int? diaryID = data['id']; final DiaryModel diary = await diaryRepository.getDiary(diaryID ?? 45); final Meal currentMeal = diary.meals[0]; + List portions = [ + SelectionPopupModel(title: "gr"), + SelectionPopupModel(title: "pcs") + ]; emit(DiaryState.loaded( diary: diary, currentMeal: currentMeal, portions: currentMeal.portions, photos: currentMeal.photos, + portionList: portions, + portionController: portions[0], + selectedMood: 3, + selectedSatiety: 3, commentController: TextEditingController(), productNameController: TextEditingController(), productQuantityController: TextEditingController(), @@ -159,7 +167,8 @@ class DiaryBloc extends Bloc { 'Satiety change success! meal_id: ${currentState.currentMeal.id}, mood: ${event.selectedElement}', ); emit(updatedState); // Передаем обновленное состояние в emit - } + } else + print("dad"); } } @@ -435,9 +444,9 @@ class DiaryBloc extends Bloc { var currentState = state as DiaryStateLoaded; var response = await sendPortionData( - currentState.productNameController?.text, - currentState.portionController?.id == 0 ? 'pcs' : 'gr', - int.parse(currentState.productQuantityController!.text), + currentState.productNameController.text, + currentState.portionController.id == 0 ? 'pcs' : 'gr', + int.parse(currentState.productQuantityController.text), currentState.currentMeal.id, currentState.diary.id, ); @@ -623,7 +632,7 @@ class DiaryBloc extends Bloc { currentState.diary.id, currentState.wakeupController, currentState.retireController, - currentState.commentController?.text, + currentState.commentController.text, ); if (response.statusCode == 200) { diff --git a/lib/features/diary/presentation/bloc/diary_event.dart b/lib/features/diary/presentation/bloc/diary_event.dart index 6568873f..91445ffb 100644 --- a/lib/features/diary/presentation/bloc/diary_event.dart +++ b/lib/features/diary/presentation/bloc/diary_event.dart @@ -20,7 +20,6 @@ class ChangeSatiety extends DiaryEvent { this.selectedElement, ); final int selectedElement; - @override List get props => [selectedElement]; } @@ -30,7 +29,6 @@ class ChangeMood extends DiaryEvent { this.selectedElement, ); final int selectedElement; - @override List get props => [selectedElement]; } @@ -38,7 +36,6 @@ class ChangeMood extends DiaryEvent { class ChangeMealTime extends DiaryEvent { ChangeMealTime(this.time); final TimeOfDay time; - @override List get props => [time]; } @@ -47,7 +44,6 @@ class AddComment extends DiaryEvent { AddComment(this.diaryId, this.comment); final String comment; final int diaryId; - @override List get props => [comment, diaryId]; } @@ -115,7 +111,6 @@ class ProductInput extends DiaryEvent { class ChangeMeal extends DiaryEvent { ChangeMeal({required this.value, required this.meals}); - Meal value; List? meals; @override @@ -124,7 +119,6 @@ class ChangeMeal extends DiaryEvent { class ClearInput extends DiaryEvent { ClearInput({required this.value}); - TextEditingController value; @override List get props => [value]; @@ -132,7 +126,6 @@ class ClearInput extends DiaryEvent { class ChangePortion extends DiaryEvent { ChangePortion({required this.value}); - SelectionPopupModel value; @override List get props => [value]; @@ -140,7 +133,6 @@ class ChangePortion extends DiaryEvent { class FinishDay extends DiaryEvent { FinishDay(); - @override List get props => []; } diff --git a/lib/features/diary/presentation/bloc/diary_state.dart b/lib/features/diary/presentation/bloc/diary_state.dart index 4f324479..957dafc0 100644 --- a/lib/features/diary/presentation/bloc/diary_state.dart +++ b/lib/features/diary/presentation/bloc/diary_state.dart @@ -23,8 +23,9 @@ abstract class DiaryState with _$DiaryState { required List consumedChartValues, required List portions, required List photos, + required List portionList, required Meal currentMeal, - SelectionPopupModel? portionController, + required SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, @@ -35,8 +36,8 @@ abstract class DiaryState with _$DiaryState { required TextEditingController fatsController, required TextEditingController proteinsController, required TextEditingController carbsController, - int? selectedMood, - int? selectedSatiety, + required int selectedMood, + required int selectedSatiety, required bool wakeupExpanded, required bool moderationExpanded, required bool moodExpanded, diff --git a/lib/features/diary/presentation/bloc/diary_state.freezed.dart b/lib/features/diary/presentation/bloc/diary_state.freezed.dart index 6a06e2e4..5acd8d21 100644 --- a/lib/features/diary/presentation/bloc/diary_state.freezed.dart +++ b/lib/features/diary/presentation/bloc/diary_state.freezed.dart @@ -28,18 +28,19 @@ mixin _$DiaryState { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -63,18 +64,19 @@ mixin _$DiaryState { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -98,18 +100,19 @@ mixin _$DiaryState { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -215,18 +218,19 @@ class _$DiaryStateImpl implements _DiaryState { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -253,18 +257,19 @@ class _$DiaryStateImpl implements _DiaryState { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -291,18 +296,19 @@ class _$DiaryStateImpl implements _DiaryState { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -410,18 +416,19 @@ class _$DiaryStateLoadingImpl implements DiaryStateLoading { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -448,18 +455,19 @@ class _$DiaryStateLoadingImpl implements DiaryStateLoading { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -486,18 +494,19 @@ class _$DiaryStateLoadingImpl implements DiaryStateLoading { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -571,18 +580,19 @@ abstract class _$$DiaryStateLoadedImplCopyWith<$Res> { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -613,18 +623,19 @@ class __$$DiaryStateLoadedImplCopyWithImpl<$Res> Object? consumedChartValues = null, Object? portions = null, Object? photos = null, + Object? portionList = null, Object? currentMeal = null, - Object? portionController = freezed, + Object? portionController = null, Object? wakeupController = freezed, Object? retireController = freezed, Object? mealTimeController = freezed, - Object? commentController = freezed, - Object? productNameController = freezed, - Object? productQuantityController = freezed, - Object? caloriesController = freezed, - Object? fatsController = freezed, - Object? proteinsController = freezed, - Object? carbsController = freezed, + Object? commentController = null, + Object? productNameController = null, + Object? productQuantityController = null, + Object? caloriesController = null, + Object? fatsController = null, + Object? proteinsController = null, + Object? carbsController = null, Object? selectedMood = freezed, Object? selectedSatiety = freezed, Object? wakeupExpanded = null, @@ -662,14 +673,18 @@ class __$$DiaryStateLoadedImplCopyWithImpl<$Res> ? _value._photos : photos // ignore: cast_nullable_to_non_nullable as List, + portionList: null == portionList + ? _value._portionList + : portionList // ignore: cast_nullable_to_non_nullable + as List, currentMeal: null == currentMeal ? _value.currentMeal : currentMeal // ignore: cast_nullable_to_non_nullable as Meal, - portionController: freezed == portionController + portionController: null == portionController ? _value.portionController : portionController // ignore: cast_nullable_to_non_nullable - as SelectionPopupModel?, + as SelectionPopupModel, wakeupController: freezed == wakeupController ? _value.wakeupController : wakeupController // ignore: cast_nullable_to_non_nullable @@ -682,34 +697,34 @@ class __$$DiaryStateLoadedImplCopyWithImpl<$Res> ? _value.mealTimeController : mealTimeController // ignore: cast_nullable_to_non_nullable as TimeOfDay?, - commentController: freezed == commentController + commentController: null == commentController ? _value.commentController : commentController // ignore: cast_nullable_to_non_nullable - as TextEditingController?, - productNameController: freezed == productNameController + as TextEditingController, + productNameController: null == productNameController ? _value.productNameController : productNameController // ignore: cast_nullable_to_non_nullable - as TextEditingController?, - productQuantityController: freezed == productQuantityController + as TextEditingController, + productQuantityController: null == productQuantityController ? _value.productQuantityController : productQuantityController // ignore: cast_nullable_to_non_nullable - as TextEditingController?, - caloriesController: freezed == caloriesController + as TextEditingController, + caloriesController: null == caloriesController ? _value.caloriesController : caloriesController // ignore: cast_nullable_to_non_nullable - as TextEditingController?, - fatsController: freezed == fatsController + as TextEditingController, + fatsController: null == fatsController ? _value.fatsController : fatsController // ignore: cast_nullable_to_non_nullable - as TextEditingController?, - proteinsController: freezed == proteinsController + as TextEditingController, + proteinsController: null == proteinsController ? _value.proteinsController : proteinsController // ignore: cast_nullable_to_non_nullable - as TextEditingController?, - carbsController: freezed == carbsController + as TextEditingController, + carbsController: null == carbsController ? _value.carbsController : carbsController // ignore: cast_nullable_to_non_nullable - as TextEditingController?, + as TextEditingController, selectedMood: freezed == selectedMood ? _value.selectedMood : selectedMood // ignore: cast_nullable_to_non_nullable @@ -769,8 +784,9 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { required final List consumedChartValues, required final List portions, required final List photos, + required final List portionList, required this.currentMeal, - this.portionController, + required this.portionController, this.wakeupController, this.retireController, this.mealTimeController, @@ -792,7 +808,8 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { _recommendedChartValues = recommendedChartValues, _consumedChartValues = consumedChartValues, _portions = portions, - _photos = photos; + _photos = photos, + _portionList = portionList; @override final DiaryModel diary; @@ -841,10 +858,18 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { return EqualUnmodifiableListView(_photos); } + final List _portionList; + @override + List get portionList { + if (_portionList is EqualUnmodifiableListView) return _portionList; + // ignore: implicit_dynamic_type + return EqualUnmodifiableListView(_portionList); + } + @override final Meal currentMeal; @override - final SelectionPopupModel? portionController; + final SelectionPopupModel portionController; @override final TimeOfDay? wakeupController; @override @@ -852,19 +877,19 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { @override final TimeOfDay? mealTimeController; @override - final TextEditingController? commentController; + final TextEditingController commentController; @override - final TextEditingController? productNameController; + final TextEditingController productNameController; @override - final TextEditingController? productQuantityController; + final TextEditingController productQuantityController; @override - final TextEditingController? caloriesController; + final TextEditingController caloriesController; @override - final TextEditingController? fatsController; + final TextEditingController fatsController; @override - final TextEditingController? proteinsController; + final TextEditingController proteinsController; @override - final TextEditingController? carbsController; + final TextEditingController carbsController; @override final int? selectedMood; @override @@ -882,7 +907,7 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { @override String toString() { - return 'DiaryState.loaded(diary: $diary, diaryDate: $diaryDate, autocompleteList: $autocompleteList, recommendedChartValues: $recommendedChartValues, consumedChartValues: $consumedChartValues, portions: $portions, photos: $photos, currentMeal: $currentMeal, portionController: $portionController, wakeupController: $wakeupController, retireController: $retireController, mealTimeController: $mealTimeController, commentController: $commentController, productNameController: $productNameController, productQuantityController: $productQuantityController, caloriesController: $caloriesController, fatsController: $fatsController, proteinsController: $proteinsController, carbsController: $carbsController, selectedMood: $selectedMood, selectedSatiety: $selectedSatiety, wakeupExpanded: $wakeupExpanded, moderationExpanded: $moderationExpanded, moodExpanded: $moodExpanded, isLoading: $isLoading, isAdded: $isAdded)'; + return 'DiaryState.loaded(diary: $diary, diaryDate: $diaryDate, autocompleteList: $autocompleteList, recommendedChartValues: $recommendedChartValues, consumedChartValues: $consumedChartValues, portions: $portions, photos: $photos, portionList: $portionList, currentMeal: $currentMeal, portionController: $portionController, wakeupController: $wakeupController, retireController: $retireController, mealTimeController: $mealTimeController, commentController: $commentController, productNameController: $productNameController, productQuantityController: $productQuantityController, caloriesController: $caloriesController, fatsController: $fatsController, proteinsController: $proteinsController, carbsController: $carbsController, selectedMood: $selectedMood, selectedSatiety: $selectedSatiety, wakeupExpanded: $wakeupExpanded, moderationExpanded: $moderationExpanded, moodExpanded: $moodExpanded, isLoading: $isLoading, isAdded: $isAdded)'; } @override @@ -901,6 +926,8 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { .equals(other._consumedChartValues, _consumedChartValues) && const DeepCollectionEquality().equals(other._portions, _portions) && const DeepCollectionEquality().equals(other._photos, _photos) && + const DeepCollectionEquality() + .equals(other._portionList, _portionList) && (identical(other.currentMeal, currentMeal) || other.currentMeal == currentMeal) && (identical(other.portionController, portionController) || @@ -951,6 +978,7 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { const DeepCollectionEquality().hash(_consumedChartValues), const DeepCollectionEquality().hash(_portions), const DeepCollectionEquality().hash(_photos), + const DeepCollectionEquality().hash(_portionList), currentMeal, portionController, wakeupController, @@ -992,18 +1020,19 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -1022,6 +1051,7 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { consumedChartValues, portions, photos, + portionList, currentMeal, portionController, wakeupController, @@ -1056,18 +1086,19 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -1086,6 +1117,7 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { consumedChartValues, portions, photos, + portionList, currentMeal, portionController, wakeupController, @@ -1120,18 +1152,19 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -1152,6 +1185,7 @@ class _$DiaryStateLoadedImpl implements DiaryStateLoaded { consumedChartValues, portions, photos, + portionList, currentMeal, portionController, wakeupController, @@ -1222,18 +1256,19 @@ abstract class DiaryStateLoaded implements DiaryState { required final List consumedChartValues, required final List portions, required final List photos, + required final List portionList, required final Meal currentMeal, - final SelectionPopupModel? portionController, + required final SelectionPopupModel portionController, final TimeOfDay? wakeupController, final TimeOfDay? retireController, final TimeOfDay? mealTimeController, - required final TextEditingController? commentController, - required final TextEditingController? productNameController, - required final TextEditingController? productQuantityController, - required final TextEditingController? caloriesController, - required final TextEditingController? fatsController, - required final TextEditingController? proteinsController, - required final TextEditingController? carbsController, + required final TextEditingController commentController, + required final TextEditingController productNameController, + required final TextEditingController productQuantityController, + required final TextEditingController caloriesController, + required final TextEditingController fatsController, + required final TextEditingController proteinsController, + required final TextEditingController carbsController, final int? selectedMood, final int? selectedSatiety, required final bool wakeupExpanded, @@ -1249,18 +1284,19 @@ abstract class DiaryStateLoaded implements DiaryState { List get consumedChartValues; List get portions; List get photos; + List get portionList; Meal get currentMeal; - SelectionPopupModel? get portionController; + SelectionPopupModel get portionController; TimeOfDay? get wakeupController; TimeOfDay? get retireController; TimeOfDay? get mealTimeController; - TextEditingController? get commentController; - TextEditingController? get productNameController; - TextEditingController? get productQuantityController; - TextEditingController? get caloriesController; - TextEditingController? get fatsController; - TextEditingController? get proteinsController; - TextEditingController? get carbsController; + TextEditingController get commentController; + TextEditingController get productNameController; + TextEditingController get productQuantityController; + TextEditingController get caloriesController; + TextEditingController get fatsController; + TextEditingController get proteinsController; + TextEditingController get carbsController; int? get selectedMood; int? get selectedSatiety; bool get wakeupExpanded; @@ -1349,18 +1385,19 @@ class _$DiaryStateErrorImpl implements DiaryStateError { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -1387,18 +1424,19 @@ class _$DiaryStateErrorImpl implements DiaryStateError { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, @@ -1425,18 +1463,19 @@ class _$DiaryStateErrorImpl implements DiaryStateError { List consumedChartValues, List portions, List photos, + List portionList, Meal currentMeal, - SelectionPopupModel? portionController, + SelectionPopupModel portionController, TimeOfDay? wakeupController, TimeOfDay? retireController, TimeOfDay? mealTimeController, - TextEditingController? commentController, - TextEditingController? productNameController, - TextEditingController? productQuantityController, - TextEditingController? caloriesController, - TextEditingController? fatsController, - TextEditingController? proteinsController, - TextEditingController? carbsController, + TextEditingController commentController, + TextEditingController productNameController, + TextEditingController productQuantityController, + TextEditingController caloriesController, + TextEditingController fatsController, + TextEditingController proteinsController, + TextEditingController carbsController, int? selectedMood, int? selectedSatiety, bool wakeupExpanded, diff --git a/lib/features/diary/presentation/pages/diary_screen.dart b/lib/features/diary/presentation/pages/diary_screen.dart index af39f0b1..8dcdbb75 100644 --- a/lib/features/diary/presentation/pages/diary_screen.dart +++ b/lib/features/diary/presentation/pages/diary_screen.dart @@ -342,9 +342,10 @@ class DiaryScreen extends StatelessWidget { return null; }, builder: (context, diary) { + List meals = mealsToDropdown(diary!.meals); return CustomDropDown( - hintText: "Прием пищи", - items: mealsToDropdown(diary!.meals), + hintText: meals[0].title, + items: meals, contentPadding: EdgeInsets.symmetric( horizontal: 10.h, vertical: 9.v, @@ -442,10 +443,8 @@ class DiaryScreen extends StatelessWidget { }, builder: (context, diary) { return CustomDropDown( - items: [ - SelectionPopupModel(title: "gr"), - SelectionPopupModel(title: "pcs") - ], + items: state.portionList, + defaultValue: state.portionController, onChanged: changePortion(context, state), ); }, @@ -576,11 +575,11 @@ class DiaryScreen extends StatelessWidget { TextButton( onPressed: triggerModeration( context, - state.productNameController!.text, - state.caloriesController!.text, - state.proteinsController!.text, - state.fatsController!.text, - state.carbsController!.text, + state.productNameController.text, + state.caloriesController.text, + state.proteinsController.text, + state.fatsController.text, + state.carbsController.text, dialogContext, ), child: Text('Отправить'), @@ -630,7 +629,7 @@ class DiaryScreen extends StatelessWidget { selectProduct(AutocompleteOnSelected onSelected, String option, DiaryStateLoaded state) { - state.productNameController?.text = option; + state.productNameController.text = option; return () { onSelected(option); }; @@ -638,9 +637,6 @@ class DiaryScreen extends StatelessWidget { getAutocomplete(BuildContext context, FocusNode focusNode) { return (value) { - /*print(state.autocompleteList - ?.map((dynamic item) => item as String) - .toList());*/ if (value.length > 2) { context.read().add(ProductInput(value)); } @@ -663,7 +659,7 @@ class DiaryScreen extends StatelessWidget { }; } - changePortion(BuildContext context, DiaryState state) { + changePortion(BuildContext context, DiaryStateLoaded state) { return (value) { context.read().add(ChangePortion(value: value)); };