diff --git a/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_bloc.dart b/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_bloc.dart index 8ad6b1bd..3daaf2d2 100644 --- a/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_bloc.dart +++ b/lib/presentation/diary/diary_edit_screen/bloc/diary_edit_bloc.dart @@ -83,6 +83,7 @@ class DiaryEditBloc extends Bloc { productNameController: currentState.productNameController, selectedSatiety: currentState.selectedSatiety, selectedMood: currentState.selectedMood, + portions: currentState.portions, diaryDate: currentState.diaryDate, diaryId: currentState.diaryId, productQuantityController: @@ -346,16 +347,21 @@ class DiaryEditBloc extends Bloc { FutureOr _changeMeal(ChangeMeal event, Emitter emit) { if (state is DiaryEditLoadedState) { var currentState = state as DiaryEditLoadedState; + final meal = currentState.meals?.firstWhere( + (meal) => meal['type'] == event.value.id, + orElse: () => null); + int? id = event.value.id; + DiaryEditLoadedState updatedState = currentState.copyWith( currentMeal: event.value, - portions: event.meals?[event.value.id ?? 0]['portions'], - mealTimeController: - toTime(event.meals?[event.value.id ?? 0]['time'] ?? "1$id:00"), - selectedMood: event.meals?[event.value.id ?? 0]['mood'], - selectedSatiety: event.meals?[event.value.id ?? 0]['satiety']); - emit(updatedState); + portions: meal['portions'], + mealTimeController: toTime(meal['time'] ?? "1$id:00"), + selectedMood: meal['mood'], + selectedSatiety: meal['satiety']); + print(currentState.meals); print(updatedState.portions); + emit(updatedState); } }