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 1ad049d4..1e8af7fe 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 @@ -197,15 +197,20 @@ class DiaryEditBloc extends Bloc { 'Authorization': 'Bearer $token', }, ); + if (responseChart.statusCode == 200) { - final recommendedChartValues = jsonDecode(responseChart.body)['dailyNutritionRecommendation'].values.map((value) => value as int).toList(); - final consumedChartValues = jsonDecode(responseChart.body)['dailyNutritionIntake'].values.map((value) => value as int).toList(); + final responseBody = jsonDecode(responseChart.body); + + final recommendedChartValues = responseBody['dailyNutritionRecommendation'].values.map((value) => convertToInt(value)).toList(); + + final consumedChartValues = responseBody['dailyNutritionIntake'].values.map((value) => convertToInt(value)).toList(); + print([recommendedChartValues, consumedChartValues]); return [recommendedChartValues, consumedChartValues]; } else { emit(DiaryEditErrorState('Ошибка при декодировании данных КБЖУ')); print('fail'); - return [[], []]; // Возвращаем пустые списки вместо -1 + return [[], []]; // Return empty lists instead of -1 } } @@ -267,8 +272,6 @@ class DiaryEditBloc extends Bloc { )['dailyNutritionRecommendation']; final consumedChartValues = jsonDecode(responseChart.body)['dailyNutritionIntake']; final List meals = fillMealList(diary['meals']); - print(recommendedChartValues); - print(consumedChartValues); try { await Future( () => emit( @@ -287,9 +290,8 @@ class DiaryEditBloc extends Bloc { moodExpanded: true, moderationExpanded: false, token: token, - recommendedChartValues: recommendedChartValues.values.map((value) => value as double).toList(), - consumedChartValues: consumedChartValues.values.map((value) => value as double).toList(), - meals: diary['meals'], + recommendedChartValues: recommendedChartValues.values.map((value) => convertToInt(value)).toList(), + consumedChartValues: consumedChartValues.values.map((value) => convertToInt(value)).toList(), portions: diary['meals'][0]['portions'], photos: diary['meals'][0]['photos'], wakeupController: toTime(diary['wakeup'] ?? "09:00"), @@ -575,7 +577,6 @@ class DiaryEditBloc extends Bloc { orElse: () => null, ); int? id = event.value.id; - print(meal['photos']); DiaryEditLoadedState updatedState = currentState.copyWith( currentMeal: event.value, portions: meal['portions'], @@ -1064,3 +1065,13 @@ class DiaryEditBloc extends Bloc { ]; } } + +int convertToInt(dynamic value) { + if (value is int) { + return value; + } else if (value is double) { + return value.toInt(); + } else { + throw FormatException('Unexpected value type: ${value.runtimeType}'); + } +}