mirror of
https://github.com/wger-project/flutter.git
synced 2026-02-18 00:17:48 +01:00
Translate exercise filter headers #208
This commit is contained in:
@@ -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());
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user