From 1d1d62d9501b0c0f7bcc2a3aa8bc5c0fed0fc247 Mon Sep 17 00:00:00 2001 From: Roland Geider Date: Thu, 8 Apr 2021 12:46:36 +0200 Subject: [PATCH] Search ingredients and exercises in the current locale --- lib/providers/exercises.dart | 7 +++++-- lib/providers/nutrition.dart | 7 +++++-- lib/widgets/nutrition/forms.dart | 8 +++++--- lib/widgets/workouts/forms.dart | 5 ++++- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/lib/providers/exercises.dart b/lib/providers/exercises.dart index e042f10e..861de5f3 100644 --- a/lib/providers/exercises.dart +++ b/lib/providers/exercises.dart @@ -149,14 +149,17 @@ class Exercises extends WgerBaseProvider with ChangeNotifier { /// /// We could do this locally, but the server has better text searching capabilities /// with postgresql. - Future searchExercise(String name) async { + Future searchExercise(String name, [String languageCode = 'en']) async { if (name.length <= 1) { return []; } // Send the request final response = await client.get( - makeUrl(_exerciseSearchPath, query: {'term': name}), + makeUrl( + _exerciseSearchPath, + query: {'term': name, 'language': languageCode}, + ), headers: { 'Authorization': 'Token ${auth.token}', 'User-Agent': 'wger Workout Manager App', diff --git a/lib/providers/nutrition.dart b/lib/providers/nutrition.dart index 9135e5ed..4baa6e66 100644 --- a/lib/providers/nutrition.dart +++ b/lib/providers/nutrition.dart @@ -268,14 +268,17 @@ class Nutrition extends WgerBaseProvider with ChangeNotifier { } /// Searches for an ingredient - Future searchIngredient(String name) async { + Future searchIngredient(String name, [String languageCode = 'en']) async { if (name.length <= 1) { return []; } // Send the request final response = await client.get( - makeUrl(_ingredientSearchPath, query: {'term': name}), + makeUrl( + _ingredientSearchPath, + query: {'term': name, 'language': languageCode}, + ), headers: { HttpHeaders.authorizationHeader: 'Token ${auth.token}', HttpHeaders.userAgentHeader: 'wger Workout Manager App', diff --git a/lib/widgets/nutrition/forms.dart b/lib/widgets/nutrition/forms.dart index d770fd35..d6cffbaf 100644 --- a/lib/widgets/nutrition/forms.dart +++ b/lib/widgets/nutrition/forms.dart @@ -27,6 +27,7 @@ import 'package:wger/models/nutrition/meal.dart'; import 'package:wger/models/nutrition/meal_item.dart'; import 'package:wger/models/nutrition/nutritional_plan.dart'; import 'package:wger/providers/nutrition.dart'; +import 'package:wger/screens/nutritional_plan_screen.dart'; class MealForm extends StatelessWidget { late Meal _meal; @@ -122,8 +123,10 @@ class MealItemForm extends StatelessWidget { decoration: InputDecoration(labelText: AppLocalizations.of(context)!.ingredient), ), suggestionsCallback: (pattern) async { - return await Provider.of(context, listen: false) - .searchIngredient(pattern); + return await Provider.of(context, listen: false).searchIngredient( + pattern, + Localizations.localeOf(context).languageCode, + ); }, itemBuilder: (context, dynamic suggestion) { return ListTile( @@ -230,7 +233,6 @@ class PlanForm extends StatelessWidget { // Saving was successful, reset the data _descriptionController.clear(); - _plan = NutritionalPlan.empty(); } on WgerHttpException catch (error) { showHttpExceptionErrorDialog(error, context); } catch (error) { diff --git a/lib/widgets/workouts/forms.dart b/lib/widgets/workouts/forms.dart index d0d0755b..8c9cceb8 100644 --- a/lib/widgets/workouts/forms.dart +++ b/lib/widgets/workouts/forms.dart @@ -282,7 +282,10 @@ class _SetFormWidgetState extends State { helperText: AppLocalizations.of(context)!.selectExercises), ), suggestionsCallback: (pattern) async { - return await Provider.of(context, listen: false).searchExercise(pattern); + return await Provider.of(context, listen: false).searchExercise( + pattern, + Localizations.localeOf(context).languageCode, + ); }, itemBuilder: (context, suggestion) { final result = suggestion! as Map;