fix(diary): changeMeal fix

This commit is contained in:
2024-07-03 15:33:02 +03:00
parent b2f164da46
commit d58e96d07a

View File

@@ -197,15 +197,20 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
'Authorization': 'Bearer $token',
},
);
if (responseChart.statusCode == 200) {
final recommendedChartValues = jsonDecode(responseChart.body)['dailyNutritionRecommendation'].values.map<int>((value) => value as int).toList();
final consumedChartValues = jsonDecode(responseChart.body)['dailyNutritionIntake'].values.map<int>((value) => value as int).toList();
final responseBody = jsonDecode(responseChart.body);
final recommendedChartValues = responseBody['dailyNutritionRecommendation'].values.map<int>((value) => convertToInt(value)).toList();
final consumedChartValues = responseBody['dailyNutritionIntake'].values.map<int>((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<DiaryEditEvent, DiaryEditState> {
)['dailyNutritionRecommendation'];
final consumedChartValues = jsonDecode(responseChart.body)['dailyNutritionIntake'];
final List<SelectionPopupModel> meals = fillMealList(diary['meals']);
print(recommendedChartValues);
print(consumedChartValues);
try {
await Future(
() => emit(
@@ -287,9 +290,8 @@ class DiaryEditBloc extends Bloc<DiaryEditEvent, DiaryEditState> {
moodExpanded: true,
moderationExpanded: false,
token: token,
recommendedChartValues: recommendedChartValues.values.map<double>((value) => value as double).toList(),
consumedChartValues: consumedChartValues.values.map<double>((value) => value as double).toList(),
meals: diary['meals'],
recommendedChartValues: recommendedChartValues.values.map<int>((value) => convertToInt(value)).toList(),
consumedChartValues: consumedChartValues.values.map<int>((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<DiaryEditEvent, DiaryEditState> {
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<DiaryEditEvent, DiaryEditState> {
];
}
}
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}');
}
}