Translate exercise filter headers #208

This commit is contained in:
Sandi Milohanic
2022-10-28 12:12:36 +02:00
parent c46b0cc7a5
commit 9aa480c0dc
2 changed files with 9 additions and 7 deletions

View File

@@ -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<ExerciseCategory>(
title: 'Category',
title: AppLocalizations.of(context).category,
items: Map.fromEntries(
_categories.map(
(category) => MapEntry<ExerciseCategory, bool>(category, false),
@@ -120,7 +122,7 @@ class ExercisesProvider with ChangeNotifier {
),
),
equipment: FilterCategory<Equipment>(
title: 'Equipment',
title: AppLocalizations.of(context).equipment,
items: Map.fromEntries(
_equipment.map(
(singleEquipment) => MapEntry<Equipment, bool>(singleEquipment, false),
@@ -367,7 +369,7 @@ class ExercisesProvider with ChangeNotifier {
}
}
Future<void> fetchAndSetExercises() async {
Future<void> 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());

View File

@@ -89,7 +89,7 @@ class _HomeTabsScreenState extends State<HomeTabsScreen> with SingleTickerProvid
userProvider.fetchAndSetProfile(),
workoutPlansProvider.fetchAndSetUnits(),
nutritionPlansProvider.fetchIngredientsFromCache(),
exercisesProvider.fetchAndSetExercises(),
exercisesProvider.fetchAndSetExercises(context),
]);
// Plans, weight and gallery