diff --git a/lib/providers/nutrition.dart b/lib/providers/nutrition.dart index 8ceda95d..30aa26ba 100644 --- a/lib/providers/nutrition.dart +++ b/lib/providers/nutrition.dart @@ -67,8 +67,10 @@ class Nutrition extends WgerBaseProvider with ChangeNotifier { Meal? findMealById(int id) { for (var plan in _plans) { - var meal = plan.meals.firstWhere((plan) => plan.id == id); - return meal; + try { + var meal = plan.meals.firstWhere((plan) => plan.id == id); + return meal; + } on StateError catch (e) {} } return null; } @@ -201,8 +203,7 @@ class Nutrition extends WgerBaseProvider with ChangeNotifier { } /// Adds a meal item to a meal - Future addMealItem(MealItem mealItem, int mealId) async { - var meal = findMealById(mealId)!; + Future addMealItem(MealItem mealItem, Meal meal) async { final data = await post(mealItem.toJson(), makeUrl(_mealItemPath)); mealItem = MealItem.fromJson(data); diff --git a/lib/widgets/nutrition/forms.dart b/lib/widgets/nutrition/forms.dart index 31606d9d..b82ec7e1 100644 --- a/lib/widgets/nutrition/forms.dart +++ b/lib/widgets/nutrition/forms.dart @@ -177,7 +177,7 @@ class MealItemForm extends StatelessWidget { _form.currentState!.save(); try { - Provider.of(context, listen: false).addMealItem(_mealItem, _meal.id!); + Provider.of(context, listen: false).addMealItem(_mealItem, _meal); } on WgerHttpException catch (error) { showHttpExceptionErrorDialog(error, context); } catch (error) {