From 649cded2cf2e6e7a395a9ec2d70ea28f3e66a523 Mon Sep 17 00:00:00 2001 From: Mohammad Rafigh Date: Sat, 26 Nov 2022 20:17:40 +0330 Subject: [PATCH 1/3] Show exercise names in gym mode navigation Closes #297 --- lib/providers/exercises.dart | 8 ++++++++ lib/widgets/workouts/gym_mode.dart | 8 +++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/lib/providers/exercises.dart b/lib/providers/exercises.dart index b88503332..572877037 100644 --- a/lib/providers/exercises.dart +++ b/lib/providers/exercises.dart @@ -181,6 +181,14 @@ class ExercisesProvider with ChangeNotifier { ); } + /// Find exercise base by UUID + ExerciseBase findExerciseBaseByUuid(String uuid) { + return _exerciseBases.firstWhere( + (base) => base.uuid == uuid, + orElse: () => throw NoSuchEntryException(), + ); + } + /// Find exercise bases by variation IDs /// /// exerciseIdToExclude: the ID of the exercise to exclude from the list of diff --git a/lib/widgets/workouts/gym_mode.dart b/lib/widgets/workouts/gym_mode.dart index 96616393e..5a3f24e7d 100644 --- a/lib/widgets/workouts/gym_mode.dart +++ b/lib/widgets/workouts/gym_mode.dart @@ -1063,6 +1063,8 @@ class NavigationHeader extends StatelessWidget { }); Widget getDialog(BuildContext context) { + final exerciseProvider = Provider.of(context, listen: false); + return AlertDialog( title: Text( AppLocalizations.of(context).jumpTo, @@ -1074,7 +1076,11 @@ class NavigationHeader extends StatelessWidget { children: [ ...exercisePages.keys.map((e) { return ListTile( - title: Text(e), + title: Text( + exerciseProvider.findExerciseBaseByUuid(e).getExercise( + Localizations.localeOf(context).languageCode + ).name + ), trailing: const Icon(Icons.chevron_right), onTap: () { _controller.animateToPage( From f0d6a985a2481c65e9fb9cefa6f644368db26292 Mon Sep 17 00:00:00 2001 From: Mohammad Rafigh Date: Sat, 26 Nov 2022 20:23:14 +0330 Subject: [PATCH 2/3] Add myself in AUTHORS.md --- AUTHORS.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/AUTHORS.md b/AUTHORS.md index 577861e81..5876cfd78 100644 --- a/AUTHORS.md +++ b/AUTHORS.md @@ -17,6 +17,7 @@ - Florian Schmitz - - Aman Negi - - Sandi Milohanic - +- Mohammad Rafigh - ## Translators @@ -51,7 +52,7 @@ - Norwegian Bokmål - Allan Nordhøy (98) - + - Japanese - Kosei TANAKA (97) @@ -61,5 +62,5 @@ - Nenza Nurfirmansyah (73) - Croatian - + - Sandi Milohaic From aedad926d0c86b92af8c56713739c337b335c411 Mon Sep 17 00:00:00 2001 From: Mohammad Rafigh Date: Sun, 27 Nov 2022 00:20:53 +0330 Subject: [PATCH 3/3] Add video of exercise in gym mode Closes #296 --- lib/widgets/workouts/gym_mode.dart | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/lib/widgets/workouts/gym_mode.dart b/lib/widgets/workouts/gym_mode.dart index 5a3f24e7d..5e0c63fb9 100644 --- a/lib/widgets/workouts/gym_mode.dart +++ b/lib/widgets/workouts/gym_mode.dart @@ -41,6 +41,7 @@ import 'package:wger/providers/workout_plans.dart'; import 'package:wger/theme/theme.dart'; import 'package:wger/widgets/core/core.dart'; import 'package:wger/widgets/exercises/images.dart'; +import 'package:wger/widgets/exercises/videos.dart'; import 'package:wger/widgets/workouts/forms.dart'; class GymMode extends StatefulWidget { @@ -698,6 +699,17 @@ class ExerciseOverview extends StatelessWidget { textAlign: TextAlign.center, )) .toList(), + if (_exerciseBase.videos.isNotEmpty) + SizedBox( + width: double.infinity, + height: 200, + child: ListView( + scrollDirection: Axis.horizontal, + children: [ + ..._exerciseBase.videos.map((e) => ExerciseVideoWidget(video: e)).toList(), + ], + ), + ), if (_exerciseBase.images.isNotEmpty) SizedBox( width: double.infinity,