Show translated muscle names

This commit is contained in:
Roland Geider
2022-07-28 11:48:39 +02:00
parent a8ce8a65a0
commit 70cdd37f84
4 changed files with 22 additions and 15 deletions

View File

@@ -17,7 +17,9 @@
*/
import 'package:equatable/equatable.dart';
import 'package:flutter/widgets.dart';
import 'package:json_annotation/json_annotation.dart';
import 'package:wger/helpers/i18n.dart';
part 'muscle.g.dart';
@@ -49,6 +51,10 @@ class Muscle extends Equatable {
@override
List<Object?> get props => [id, name, isFront];
String nameTranslated(BuildContext context) {
return name + (nameEn.isNotEmpty ? ' (${getTranslation(nameEn, context)})' : '');
}
@override
String toString() {
return 'Muscle: $id - $name';

View File

@@ -71,17 +71,17 @@ class BasicStepContent extends StatelessWidget {
displayName: (Equipment e) => getTranslation(e.name, context),
),
AddExerciseMultiselectButton<Muscle>(
title: AppLocalizations.of(context).muscles,
items: muscles,
initialItems: addExerciseProvider.primaryMuscles,
onChange: (dynamic muscles) {
addExerciseProvider.primaryMuscles = muscles.cast<Muscle>();
},
onSaved: (dynamic muscles) {
addExerciseProvider.primaryMuscles = muscles.cast<Muscle>();
},
displayName: (Muscle e) => e.name,
),
title: AppLocalizations.of(context).muscles,
items: muscles,
initialItems: addExerciseProvider.primaryMuscles,
onChange: (dynamic muscles) {
addExerciseProvider.primaryMuscles = muscles.cast<Muscle>();
},
onSaved: (dynamic muscles) {
addExerciseProvider.primaryMuscles = muscles.cast<Muscle>();
},
displayName: (Muscle e) =>
e.name + (e.nameEn.isNotEmpty ? '\n(${getTranslation(e.nameEn, context)})' : '')),
AddExerciseMultiselectButton<Muscle>(
title: AppLocalizations.of(context).musclesSecondary,
items: muscles,

View File

@@ -152,7 +152,7 @@ class ExerciseDetail extends StatelessWidget {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const MuscleColorHelper(main: true),
..._exerciseBase.muscles.map((e) => Text(e.name)).toList(),
..._exerciseBase.muscles.map((e) => Text(e.nameTranslated(context))).toList(),
],
),
);

View File

@@ -44,7 +44,7 @@ void main() {
);
}
testWidgets('Test the widgets on the SetFormWidget', (WidgetTester tester) async {
testWidgets('Test the widgets on the exercise detail widget', (WidgetTester tester) async {
await tester.pumpWidget(createHomeScreen());
await tester.pumpAndSettle();
@@ -53,9 +53,10 @@ void main() {
expect(find.text('Bench'), findsOneWidget, reason: 'Equipment');
expect(find.text('Dumbbell'), findsOneWidget, reason: 'Equipment');
debugDumpApp();
expect(find.text('Muscles'), findsNWidgets(2), reason: 'One header, one sub header');
expect(find.text('Flutterus maximus'), findsOneWidget, reason: 'Muscles');
expect(find.text('Biceps brachii'), findsOneWidget, reason: 'Muscles');
expect(find.text('Flutterus maximus (NOT TRANSLATED)'), findsOneWidget, reason: 'Muscles');
expect(find.text('Biceps brachii (Biceps)'), findsOneWidget, reason: 'Muscles');
expect(find.text('Secondary muscles'), findsOneWidget);
expect(