diff --git a/lib/providers/exercises.dart b/lib/providers/exercises.dart index b8850333..5f641dbe 100644 --- a/lib/providers/exercises.dart +++ b/lib/providers/exercises.dart @@ -25,6 +25,7 @@ import 'package:json_annotation/json_annotation.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:wger/exceptions/no_such_entry_exception.dart'; import 'package:wger/helpers/consts.dart'; +import 'package:wger/main.dart'; import 'package:wger/models/exercises/alias.dart'; import 'package:wger/models/exercises/base.dart'; import 'package:wger/models/exercises/category.dart'; @@ -37,6 +38,7 @@ import 'package:wger/models/exercises/muscle.dart'; import 'package:wger/models/exercises/variation.dart'; import 'package:wger/models/exercises/video.dart'; import 'package:wger/providers/base_provider.dart'; +import 'package:flutter_gen/gen_l10n/app_localizations.dart'; class ExercisesProvider with ChangeNotifier { final WgerBaseProvider baseProvider; @@ -104,7 +106,7 @@ class ExercisesProvider with ChangeNotifier { } // Initialize filters for exercises search in exercises list - void _initFilters() { + void _initFilters(BuildContext context) { if (_muscles.isEmpty || _equipment.isEmpty || _filters != null) { return; } @@ -112,7 +114,7 @@ class ExercisesProvider with ChangeNotifier { setFilters( Filters( exerciseCategories: FilterCategory( - title: 'Category', + title: AppLocalizations.of(context).category, items: Map.fromEntries( _categories.map( (category) => MapEntry(category, false), @@ -120,7 +122,7 @@ class ExercisesProvider with ChangeNotifier { ), ), equipment: FilterCategory( - title: 'Equipment', + title: AppLocalizations.of(context).equipment, items: Map.fromEntries( _equipment.map( (singleEquipment) => MapEntry(singleEquipment, false), @@ -367,7 +369,7 @@ class ExercisesProvider with ChangeNotifier { } } - Future fetchAndSetExercises() async { + Future fetchAndSetExercises(BuildContext context) async { clear(); // Load exercises from cache, if available @@ -384,7 +386,7 @@ class ExercisesProvider with ChangeNotifier { cacheData['variations'].forEach((e) => _variations.add(Variation.fromJson(e))); cacheData['bases'].forEach((e) => _exerciseBases.add(readExerciseBaseFromBaseInfo(e))); - _initFilters(); + _initFilters(context); log("Read ${_exerciseBases.length} exercises from cache. Valid till ${cacheData['expiresIn']}"); return; } @@ -420,7 +422,7 @@ class ExercisesProvider with ChangeNotifier { log("Saved ${_exerciseBases.length} exercises to cache. Valid till ${cacheData['expiresIn']}"); await prefs.setString(PREFS_EXERCISES, json.encode(cacheData)); - _initFilters(); + _initFilters(context); notifyListeners(); } on MissingRequiredKeysException catch (error) { log(error.missingKeys.toString()); diff --git a/lib/screens/home_tabs_screen.dart b/lib/screens/home_tabs_screen.dart index 3012770a..0dc3ca29 100644 --- a/lib/screens/home_tabs_screen.dart +++ b/lib/screens/home_tabs_screen.dart @@ -89,7 +89,7 @@ class _HomeTabsScreenState extends State with SingleTickerProvid userProvider.fetchAndSetProfile(), workoutPlansProvider.fetchAndSetUnits(), nutritionPlansProvider.fetchIngredientsFromCache(), - exercisesProvider.fetchAndSetExercises(), + exercisesProvider.fetchAndSetExercises(context), ]); // Plans, weight and gallery