WT1.1.7+3 Search bug fix, English translations

This commit is contained in:
bossanyit 2021-03-01 21:08:12 +01:00
parent 6bea5e70e1
commit 7d04a27514
16 changed files with 49 additions and 35 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 98 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 110 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 112 KiB

View File

@ -70,8 +70,8 @@
"Save": "Save",
"Delete": "Delete",
"Endurance_desc":"",
"OneRepMax_desc":"",
"Endurance_desc":"<p>The essence of the endurance test is also to suggest the right WEIGHT and number of REPETATIONS for you. It is very important to do the test properly with the requested repetition! If your goal is to maintain long-term strength or you are an athlete, be sure to complete our endurance module as well.</p><p><b>Why endurance?</b></p><p>It improves the oxygen and nutrients supply of the muscles therefore you will be able to move more weights on a longer distance (e.g.: push-ups or pull-ups). It has less weight gain effect, it rather results a more athletic and strong physique if you exercise in a long term.</p>",
"OneRepMax_desc":"<p>Knowing the maximum of one repetition which also known as 1RM, can be important to you in calculating the right WEIGHT and REPEAT for you. Execute the test correctly!</p><p>This way we can suggest the weights and repetitions that are best for you later. If building muscle or strength is your goal, it is essential to do the 1RM tests!</p><p><b>What is 1RM?</b></p><p>This is the weight what you are able to move at once properly. Upon the maximum weight exercise is performed correctly, we can derive the weight and number of repetitions which fits to your goals.</p>",
"Name": "Name",
"Exercise": "Exercise",
@ -134,9 +134,9 @@
"Meso-Endomorph":"Meso-Endomorph",
"Ectomorph_desc": "Ectomorf",
"Endomorph_desc":"Endomorf",
"Mesomorph_desc":"Mezomorf",
"Ectomorph_desc": "<p>Ectomorph is your body type if:<p><ul><li>You have basically a thin physique like a long-distance runner</li><li>Long limbs and narrow shoulders are typical of you</li><li>You have difficulties to build muscles</li><li>If your chest and waist are almost the same width</li><li>You lose muscle easily</li><li>You have a relatively low body fat percentage</li></ul><br/><br/><p>We cant talk about 100% matching of course but this data is very important for personalization. It happens sometime that an ectomorph can has excess fat. In this case, the thinness of joints and the behaviour of muscles are the crucial aspect.</p>",
"Endomorph_desc":"<p>This is your body type if you feel that your physique is the sharp opposite of ectomorph and:</p><ul><li>Despite of your strong-looking physique, your muscles are less visually outlined</li><li>Getting rid of excess fat is difficult for you</li><li>You get stronger very easily</li><li>Your rib cage is wide and large</li><li>You have thick and strong joints</li><li>If your hips are wide and strong</li></ul><p>We cant talk about 100% matching here too of course but this data is very important for personalization. It can happen that an endomorph is difficult to distinguish from a mesomorph.</p><p>In this case, check the size of the rib cage and the waist. From a side view, a mesomorph may have a flatter chest and abdomen compared to an originally strong and fleshy endomorph. All apple and pear shape are considered as endomorph.</p>",
"Mesomorph_desc":"<p>This is your body type if:</p><ul><li>You have an athletic physique like a sprinter, swimmer or gymnast</li><li>Wide clavicles and shoulders are typical of you</li><li>Your body is symmetrical</li><li>You have narrow hips and sporty, narrow waist</li><li>You have basically thinner joints but strong bones</li><li>Mesomorphs are more muscular than ectomorphs</li><li>You get muscular quickly</li><li>A mesomorph person has thicker bones and joints than an ectomorph</li><li>Your chest is wide compared to your waist</li><li>You have stronger calves and forearms than an ectomorph</li></ul><p>We cant talk about 100% matching here too of course but this data is very important for personalisation. A mesomorph person can also has excess fat. In this case, the hip/chest ratio and behaviour of muscles are the deciding factors.</p>",
"Description": "Description",
@ -148,7 +148,7 @@
"Your Real 1RM:":"Your Real 1RM:",
"Check":"Check",
"Control Exercise:": "Test Exercise:",
"controlexercise_desc":"",
"controlexercise_desc":"<p>Why is a test exercise necessary?</p><br/><p>Why do we recommend completing them?</p><p>If you complete the test exercises in a proper way and as described, the application will give you an accurate view of your muscle strength and endurance condition.</p><p> Based on this, you can perform the exercises in a customized way later.</p><p> What does it mean?</p><p> This means that the app can determine the right WEIGHT for you to achieve your goal and the associated number of REPETATIONS. This is the key to success!</p><p> Furthermore, you can also create your own training day in the custom training plan menu within the app.</p><p> Dont forget! The test will provide feedback only about your current condition. If you would like to improve continuously, you need to return to the 1RM or Endurance Tests every 3-6 weeks.</p><p> Cmon go for it!</p>",
"Summary of your test":"Summary of your test",
"Test":"Test",
"1st Control": "1st Test Exercise",
@ -195,7 +195,7 @@
"Percent": "Percent",
"One Rep Max": "One Rep Max",
"OneRepMax": "One Rep Max",
"onerepmax_desc": "",
"onerepmax_desc": "<p>Knowing the maximum of one repetition which also known as 1RM, can be important to you in calculating the right WEIGHT and REPEAT for you. Execute the test correctly!</p><p>This way we can suggest the weights and repetitions that are best for you later. If building muscle or strength is your goal, it is essential to do the 1RM tests!</p><p><b>What is 1RM?</b></p><p>This is the weight what you are able to move at once properly. Upon the maximum weight exercise is performed correctly, we can derive the weight and number of repetitions which fits to your goals.</p>",
"Detailed": "Detailed",
"Weekly": "Weekly",

View File

@ -142,7 +142,7 @@
"Ectomorph_desc": "<p>A Te testtípusod, ha:</p><ul><li>alapvetően vékony testalkat vagy, mint a hosszútávfutók</li><li>hosszú végtagok, keskenyebb vállak</li><li>nehezen tudsz izomtömeget növelni</li><li>Mellkas és a derék szinte egyforma szélességű</li><li>Könnyen elveszíted a felszedett izmot</li><li>Meglehetősen alacsony a testzsírszázalék jellemez</li></ul><p>Természetesen, mint a többi testtípusnál itt sem beszélhetünk 100%-os egyezésről, de fontos a választás a személyre szabottság érdekében. Előfordul, hogy egy ectomorph zsírfelesleggel is rendelkezik. Ekkor az ízületek vékonysága és az izomzat viselkedése a döntő szempont.</p>",
"Endomorph_desc":"<p>A te testtípusod, ha úgy érzed, hogy a testalkatod az ektomorf szöges ellentéte.</p><ul><li>Ha az erős megjelenésű testalkatod ellenére kevésbé érvényesülnek vizuálisan az izmok.</li><li>Ha nehezen szabadulsz meg a fölöslegtől</li><li>Nagyon könnyen erősödsz</li><li>Széles nagy térfogatú a bordakosár</li><li>Vastag erős ízületeid vannak</li><li>Ha a csípőben vagy erősebb</li></ul><p>Itt sem beszélhetünk 100%-os egyezésről, de fontos a személyre szabottság miatt. Előfordul, hogy egy endomorf nehezen különböztethető meg a mezomorftól. Ekkor vedd figyelembe a bordakosár méretét és a derekat. Oldalról egy mezomorf laposabb mellkassal, hassal rendelkezhet az eredendően „erős” tömöttebb, netán elhízott megjelenés a döntő szempont. Minden alma és körte forma ide sorolható.</p>",
"Endomorph_desc":"<p>A te testtípusod, ha úgy érzed, hogy a testalkatod az ektomorf szöges ellentéte.</p><ul><li>Ha az erős megjelenésű testalkatod ellenére kevésbé érvényesülnek vizuálisan az izmok.</li><li>Ha nehezen szabadulsz meg a fölöslegtől</li><li>Nagyon könnyen erősödsz</li><li>Széles nagy térfogatú a bordakosár</li><li>Vastag erős ízületeid vannak</li><li>Ha a csípőben vagy erősebb</li></ul><p>Itt sem beszélhetünk 100%-os egyezésről, de fontos a személyre szabottság miatt. Előfordul, hogy egy endomorf nehezen különböztethető meg a mezomorftól. Ekkor vedd figyelembe a bordakosár méretét és a derekat. Oldalról egy mezomorf laposabb mellkassal, hassal rendelkezhet az eredendően „erős” tömöttebb endomorfhoz képest. Minden alma és körte forma ide sorolható.</p>",
"Mesomorph_desc":"<p>A testtípusod, ha</p><ul><li>Sportos testalkat vagy, mint egy sprinter, úszó vagy tornász</li><li>Széles kulcscsontok és vállak</li><li>Szimmetrikus felépítés</li><li>Keskeny csípő és sportos keskeny derék</li><li>alapvetően vékonyabb ízületek, de erős csontok jellemeznek</li><li>izmosabbak, mint az ektomorfok</li><li>Gyorsan izmosodsz</li><li>vastagabbak a csontok és az ízületek az ekromorfhoz képest</li><li>mellkas a derékhez képest széles</li><li>erősebb vádli és alkar</li></ul><p>Természetesen, mint a többi testtípusnál itt sem beszélhetünk 100%-os egyezésről, de fontos a személyre szabottság miatt. Előfordul, hogy egy mezomorf zsírfelesleggel is rendelkezik. Ekkor a csípőcsont/mellkas arány és az izomzat viselkedése a döntő szempont.</p>",
"Description": "Leírás",

View File

@ -388,7 +388,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = SFJJBDCU6Z;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
@ -531,7 +531,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = SFJJBDCU6Z;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (
@ -566,7 +566,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 2;
CURRENT_PROJECT_VERSION = 3;
DEVELOPMENT_TEAM = SFJJBDCU6Z;
ENABLE_BITCODE = NO;
FRAMEWORK_SEARCH_PATHS = (

View File

@ -2,7 +2,6 @@ import 'dart:async';
import 'package:aitrainer_app/bloc/menu/menu_bloc.dart';
import 'package:aitrainer_app/model/cache.dart';
import 'package:aitrainer_app/model/exercise_ability.dart';
import 'package:aitrainer_app/model/property.dart';
import 'package:aitrainer_app/model/exercise_type.dart';
import 'package:aitrainer_app/model/fitness_state.dart';
import 'package:aitrainer_app/repository/customer_repository.dart';
@ -71,7 +70,6 @@ class ExerciseNewBloc extends Bloc<ExerciseNewEvent, ExerciseNewState> with Logg
height = customerRepository.customer.getProperty("Height");
birthYear = customerRepository.customer.birthYear;
fitnessLevel = customerRepository.customer.fitnessLevel;
}
if (exerciseType.unit == "second") {
stopWatchTimer.rawTime.listen((value) => {timerValue = value, this.setQuantity((value / 1000).toDouble())});
@ -87,14 +85,14 @@ class ExerciseNewBloc extends Bloc<ExerciseNewEvent, ExerciseNewState> with Logg
if (this.exerciseRepository.exerciseType.unit != "second") {
if (menuBloc.ability.toString() == ExerciseAbility.oneRepMax.toString()) {
this.exerciseTask = "Please take a relative bigger weight and repeat 12-20 times";
if (init) {
if (init == true) {
this.setQuantity(12);
}
} else if (this.exerciseRepository.exerciseType.isEndurance() &&
menuBloc.ability.toString() == ExerciseAbility.endurance.toString() &&
exerciseRepository.exerciseType.unitQuantity == "1") {
this.exerciseTask = "Please take a medium weight and repeat 20-30 times";
if (init) {
if (init == true) {
this.setQuantity(20);
}
}
@ -230,7 +228,7 @@ class ExerciseNewBloc extends Bloc<ExerciseNewEvent, ExerciseNewState> with Logg
if (this.bmi == 0) {
getBMI();
}
final double distortionWidth = mediaWidth / baseWidth;
final double distortionWidth = customerRepository.mediaWidth / baseWidth;
final double distortionHeight = distortionWidth - 0.02; //mediaHeight / baseHeight;
/* log("Width: " +
mediaWidth.toStringAsFixed(0) +

View File

@ -18,18 +18,18 @@ final temperatureColors = [
const Color(0xFF1D0DE2),
const Color(0xFF0D4AE2),
const Color(0xFF0D57E2),
const Color(0xFF0D74E2),
const Color(0xFF0DB8E2),
const Color(0xFF0DD8E2),
const Color(0xFF0DE2BB),
const Color(0xFF0DE2A1),
const Color(0xFF0DE284),
const Color(0xFF0DE25E),
const Color(0xFF0DE244),
const Color(0xFF84E20D),
const Color(0xFFC2E20D),
const Color(0xFFE2DF0D),
const Color(0xFFE2A10D),
const Color(0xFF012e7d),
const Color(0xFF01417d),
const Color(0xFF01737d),
const Color(0xFF017d71),
const Color(0xFF017d49),
const Color(0xFF017d1c),
const Color(0xFF317d01),
const Color(0xFF477d01),
const Color(0xFF607d01),
const Color(0xFF7d7d01),
const Color(0xFF7d6001),
const Color(0xFF7d4701),
const Color(0xFFE2740D),
const Color(0xFFE2510D),
const Color(0xFFE22D0D),

View File

@ -119,8 +119,7 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans, Logging {
..add(ExerciseNewLoad()),
child: BlocConsumer<ExerciseNewBloc, ExerciseNewState>(
listener: (context, state) {
if (state is ExerciseNewLoading) {
} else if (state is ExerciseNewError) {
if (state is ExerciseNewError) {
Scaffold.of(context).showSnackBar(
SnackBar(backgroundColor: Colors.orange, content: Text(state.message, style: TextStyle(color: Colors.white))));
}
@ -163,7 +162,7 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans, Logging {
return SizeWidget(exerciseBloc: exerciseBloc);
}
final String exerciseTask = exerciseBloc.setExerciseTask();
final String exerciseTask = exerciseBloc.setExerciseTask(init: true);
return Form(
child: Scaffold(
@ -443,6 +442,8 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans, Logging {
LinkedHashMap args = LinkedHashMap();
print("quantity: " + bloc.quantity.toString());
if (bloc.exerciseRepository.exercise.quantity == null) {
print("Repository quantity modify");
//bloc.exerciseRepository.exercise.quantity = bloc.quantity;
return;
}

View File

@ -1,6 +1,6 @@
import 'dart:convert';
import 'dart:ui';
import 'package:aitrainer_app/model/exercise_ability.dart';
import 'package:aitrainer_app/bloc/menu/menu_bloc.dart';
import 'package:aitrainer_app/library/custom_icon_icons.dart';
import 'package:aitrainer_app/util/enums.dart';
@ -270,9 +270,17 @@ class _MenuPageWidgetState extends State<MenuPageWidget> with Trans, Logging {
)),
MenuSearchBar(
listItems: menuBloc.menuTreeRepository.menuAsExercise,
onFind: (value) => {
Track().track(TrackingEvent.search, eventValue: value.exerciseType.name),
Navigator.of(context).pushNamed('exerciseNewPage', arguments: value.exerciseType)
onFind: (value) {
print("onFind: ${value.toJson()}");
if (Cache().userLoggedIn == null) {
Scaffold.of(context).showSnackBar(SnackBar(
backgroundColor: Colors.orange,
content: Text(AppLocalizations.of(context).translate('Please log in'), style: TextStyle(color: Colors.white))));
} else {
Track().track(TrackingEvent.search, eventValue: value.exerciseType.name);
menuBloc.ability = ExerciseAbility.oneRepMax;
Navigator.of(context).pushNamed('exerciseNewPage', arguments: value.exerciseType);
}
},
),
SizedBox(

View File

@ -236,10 +236,12 @@ flutter:
- asset/menu/bent_arm_barbell_pullovers.jpg
- asset/menu/bent_knee_situps.jpg
- asset/menu/bent_over_lateral_raises_with_dumbbells.jpg
- asset/menu/bent_over_lateral_raises.jpg
- asset/menu/bent_over_rows.jpg
- asset/menu/biceps_machine.jpg
- asset/menu/bmi.jpg
- asset/menu/bmr.jpg
- asset/menu/cable_bent_over_rows.jpg
- asset/menu/cable_crosses.jpg
- asset/menu/cable_flyes.jpg
- asset/menu/cable_rows.jpg
@ -255,11 +257,13 @@ flutter:
- asset/menu/cooper.jpg
- asset/menu/crisscross.jpg
- asset/menu/cross_bench_dumbbell_pullover.jpg
- asset/menu/csigas_tolas_fej_felett.jpg
- asset/menu/deadlift.jpg
- asset/menu/decline_bench_press.jpg
- asset/menu/decline_dumbbell_bench_press.jpg
- asset/menu/decline_flyes.jpg
- asset/menu/decline_cable_flyes.jpg
- asset/menu/decline_pushups.jpg
- asset/menu/donkey_calf_raises.jpg
- asset/menu/dumbbell_alternate_bicep_curl.jpg
- asset/menu/dumbell_bench_presses.jpg
@ -278,7 +282,9 @@ flutter:
- asset/menu/incline_curl_with_dumbbels.jpg
- asset/menu/incline_dumbbell_press.jpg
- asset/menu/incline_flyes.jpg
- asset/menu/incline_leg_raises.jpg
- asset/menu/incline_press.jpg
- asset/menu/incline_pushups.jpg
- asset/menu/incline_triceps_extension.jpg
- asset/menu/leg_curls.jpg
- asset/menu/leg_extension.jpg
@ -301,6 +307,7 @@ flutter:
- asset/menu/plank.jpg
- asset/menu/pull_up.jpg
- asset/menu/pulldown_machine.jpg
- asset/menu/pulldown_to_neck_machine.jpg
- asset/menu/pullups.jpg
- asset/menu/pushups.jpg
- asset/menu/pushups_dip.jpg