Fix floating number, menu font size
This commit is contained in:
parent
9e6b1f2703
commit
eac21c5241
@ -6,6 +6,7 @@
|
|||||||
"TRAINING!": "TRAINING!",
|
"TRAINING!": "TRAINING!",
|
||||||
"Login": "Login",
|
"Login": "Login",
|
||||||
"Logout": "Logout",
|
"Logout": "Logout",
|
||||||
|
"Tests": "Tests",
|
||||||
"Change Language": "Change Language",
|
"Change Language": "Change Language",
|
||||||
"Password too short": "Password too short",
|
"Password too short": "Password too short",
|
||||||
"Please type an email address": "Please type an email address",
|
"Please type an email address": "Please type an email address",
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
"Home": "Főoldal",
|
"Home": "Főoldal",
|
||||||
"Customers": "Ügyfelek",
|
"Customers": "Ügyfelek",
|
||||||
"Exercises": "Gyakorlatok",
|
"Exercises": "Gyakorlatok",
|
||||||
|
"Tests": "Tesztek",
|
||||||
"TRAINING!": "EDZÉS!",
|
"TRAINING!": "EDZÉS!",
|
||||||
"Login": "Bejelentkezés",
|
"Login": "Bejelentkezés",
|
||||||
"Logout": "Kijelentkezés",
|
"Logout": "Kijelentkezés",
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import 'dart:collection';
|
|
||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
|
|
||||||
class WorkoutTree {
|
class WorkoutTree {
|
||||||
@ -9,8 +8,8 @@ class WorkoutTree {
|
|||||||
Color color;
|
Color color;
|
||||||
double fontSize;
|
double fontSize;
|
||||||
bool child;
|
bool child;
|
||||||
int exercise_type_id;
|
int exerciseTypeId;
|
||||||
|
|
||||||
WorkoutTree(this.id, this.parent, this.name, this.imageName, this.color, this.fontSize, this.child, this.exercise_type_id);
|
WorkoutTree(this.id, this.parent, this.name, this.imageName, this.color, this.fontSize, this.child, this.exerciseTypeId);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -17,7 +17,7 @@ class CustomerApi {
|
|||||||
|
|
||||||
Future<void> saveCustomer(Customer customer) async {
|
Future<void> saveCustomer(Customer customer) async {
|
||||||
String body = JsonEncoder().convert(customer.toJson());
|
String body = JsonEncoder().convert(customer.toJson());
|
||||||
print(" ===== saving exerciseType id: " + customer.customerId.toString() + ":" + body );
|
print(" ===== saving customer id: " + customer.customerId.toString() + ":" + body );
|
||||||
await _client.post(
|
await _client.post(
|
||||||
"customers/"+customer.customerId.toString(),
|
"customers/"+customer.customerId.toString(),
|
||||||
body);
|
body);
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
import 'package:aitrainer_app/util/loading_screen_state.dart';
|
import 'package:aitrainer_app/util/loading_screen_state.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
|
||||||
|
|
||||||
|
|
||||||
/// Loading Screen Widget that updates the screen once all inistializer methods
|
/// Loading Screen Widget that updates the screen once all inistializer methods
|
||||||
/// are called
|
/// are called
|
||||||
|
// ignore: must_be_immutable
|
||||||
class LoadingScreen extends StatefulWidget {
|
class LoadingScreen extends StatefulWidget {
|
||||||
/// List of methods that are called once the Loading Screen is rendered
|
/// List of methods that are called once the Loading Screen is rendered
|
||||||
/// for the first time. These are the methods that can update the messages
|
/// for the first time. These are the methods that can update the messages
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
import 'dart:core';
|
import 'dart:core';
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
import 'file:///D:/projects/aitrainer/src/aitrainer_app/lib/util/loading_screen.dart';
|
import 'package:aitrainer_app/util/loading_screen.dart';
|
||||||
import 'package:aitrainer_app/localization/app_language.dart';
|
|
||||||
import 'package:aitrainer_app/localization/app_localization.dart';
|
|
||||||
import 'package:aitrainer_app/widgets/home.dart';
|
import 'package:aitrainer_app/widgets/home.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.dart';
|
import 'package:flutter/scheduler.dart';
|
||||||
|
@ -9,70 +9,70 @@ class MenuTests {
|
|||||||
MenuTests(BuildContext context) {
|
MenuTests(BuildContext context) {
|
||||||
this.tree['Cardio']= WorkoutTree(1, 0, AppLocalizations.of(context).translate("Cardio"),
|
this.tree['Cardio']= WorkoutTree(1, 0, AppLocalizations.of(context).translate("Cardio"),
|
||||||
'asset/menu/1.cardio.png',
|
'asset/menu/1.cardio.png',
|
||||||
Colors.white, 48, false,0);
|
Colors.white, 32, false,0);
|
||||||
this.tree['Aerobic']= WorkoutTree(2, 1, AppLocalizations.of(context).translate("Aerobic"),
|
this.tree['Aerobic']= WorkoutTree(2, 1, AppLocalizations.of(context).translate("Aerobic"),
|
||||||
'asset/menu/1.1.aerob.png',
|
'asset/menu/1.1.aerob.png',
|
||||||
Colors.white, 48, false,0);
|
Colors.white, 32, false,0);
|
||||||
this.tree['Cooper']= WorkoutTree(21, 2, AppLocalizations.of(context).translate("Cooper"),
|
this.tree['Cooper']= WorkoutTree(21, 2, AppLocalizations.of(context).translate("Cooper"),
|
||||||
'asset/menu/1.1.1.cooper.png',
|
'asset/menu/1.1.1.cooper.png',
|
||||||
Colors.white, 48, true,30);
|
Colors.white, 32, true,30);
|
||||||
this.tree['Anaerobic']= WorkoutTree(3, 1, AppLocalizations.of(context).translate("Anaerobic"),
|
this.tree['Anaerobic']= WorkoutTree(3, 1, AppLocalizations.of(context).translate("Anaerobic"),
|
||||||
'asset/menu/1.2.anaerob.png',
|
'asset/menu/1.2.anaerob.png',
|
||||||
Colors.white, 48, false,0);
|
Colors.white, 32, false,0);
|
||||||
this.tree['300m']= WorkoutTree(22, 3, "300m",
|
this.tree['300m']= WorkoutTree(22, 3, "300m",
|
||||||
'asset/menu/1.2.1.300m.png',
|
'asset/menu/1.2.1.300m.png',
|
||||||
Colors.white, 48, true,31);
|
Colors.white, 32, true,31);
|
||||||
this.tree['400m']= WorkoutTree(24, 3, "400m",
|
this.tree['400m']= WorkoutTree(24, 3, "400m",
|
||||||
'asset/menu/1.2.2.400m.png',
|
'asset/menu/1.2.2.400m.png',
|
||||||
Colors.white, 48, true,32);
|
Colors.white, 32, true,32);
|
||||||
|
|
||||||
this.tree['Strength']= WorkoutTree(4, 0, AppLocalizations.of(context).translate("Strength"),
|
this.tree['Strength']= WorkoutTree(4, 0, AppLocalizations.of(context).translate("Strength"),
|
||||||
'asset/menu/2.strength.png',
|
'asset/menu/2.strength.png',
|
||||||
Colors.white, 48, false,0);
|
Colors.white, 32, false,0);
|
||||||
this.tree['Endurance']= WorkoutTree(5, 4, AppLocalizations.of(context).translate("Endurance"),
|
this.tree['Endurance']= WorkoutTree(5, 4, AppLocalizations.of(context).translate("Endurance"),
|
||||||
'asset/menu/2.1.endurance.png',
|
'asset/menu/2.1.endurance.png',
|
||||||
Colors.white, 36, false,0);
|
Colors.white, 36, false,0);
|
||||||
this.tree['Pullups']= WorkoutTree(6, 5, AppLocalizations.of(context).translate("Pull Ups"),
|
this.tree['Pullups']= WorkoutTree(6, 5, AppLocalizations.of(context).translate("Pull Ups"),
|
||||||
'asset/menu/2.1.1.pull-ups.png',
|
'asset/menu/2.1.1.pull-ups.png',
|
||||||
Colors.white, 48, true,38);
|
Colors.white, 32, true,38);
|
||||||
this.tree['Pushups']= WorkoutTree(7, 5, AppLocalizations.of(context).translate("Pushups"),
|
this.tree['Pushups']= WorkoutTree(7, 5, AppLocalizations.of(context).translate("Pushups"),
|
||||||
'asset/menu/2.1.2.pushup.png',
|
'asset/menu/2.1.2.pushup.png',
|
||||||
Colors.white, 48, true,33);
|
Colors.white, 32, true,33);
|
||||||
this.tree['Situps']= WorkoutTree(10, 5, AppLocalizations.of(context).translate("Sit-ups"),
|
this.tree['Situps']= WorkoutTree(10, 5, AppLocalizations.of(context).translate("Sit-ups"),
|
||||||
'asset/menu/2.1.3.sit-ups.png',
|
'asset/menu/2.1.3.sit-ups.png',
|
||||||
Colors.white, 48, true,36);
|
Colors.white, 32, true,36);
|
||||||
this.tree['Squats']= WorkoutTree(11, 5, AppLocalizations.of(context).translate("Squats"),
|
this.tree['Squats']= WorkoutTree(11, 5, AppLocalizations.of(context).translate("Squats"),
|
||||||
'asset/menu/2.1.4.squats.png',
|
'asset/menu/2.1.4.squats.png',
|
||||||
Colors.white, 48, true,35);
|
Colors.white, 32, true,35);
|
||||||
this.tree['TimedPushups']= WorkoutTree(12, 5, AppLocalizations.of(context).translate("Timed Pushups"),
|
this.tree['TimedPushups']= WorkoutTree(12, 5, AppLocalizations.of(context).translate("Timed Pushups"),
|
||||||
'asset/menu/2.1.5.timedpushup.png',
|
'asset/menu/2.1.5.timedpushup.png',
|
||||||
Colors.white, 32, true,34);
|
Colors.white, 32, true,34);
|
||||||
this.tree['Core']= WorkoutTree(43, 5, AppLocalizations.of(context).translate("Core"),
|
this.tree['Core']= WorkoutTree(43, 5, AppLocalizations.of(context).translate("Core"),
|
||||||
'asset/menu/2.1.6.core.png',
|
'asset/menu/2.1.6.core.png',
|
||||||
Colors.white, 48, true,45);
|
Colors.white, 32, true,45);
|
||||||
|
|
||||||
this.tree['1RM']= WorkoutTree(8, 4, AppLocalizations.of(context).translate("1RM"),
|
this.tree['1RM']= WorkoutTree(8, 4, AppLocalizations.of(context).translate("1RM"),
|
||||||
'asset/menu/2.2.1.1RM.png',
|
'asset/menu/2.2.1.1RM.png',
|
||||||
Colors.white, 48, false,0);
|
Colors.white, 32, false,0);
|
||||||
this.tree['Chestpress']= WorkoutTree(13, 8, AppLocalizations.of(context).translate("Chest Press"),
|
this.tree['Chestpress']= WorkoutTree(13, 8, AppLocalizations.of(context).translate("Chest Press"),
|
||||||
'asset/menu/2.2.1.1.chestpress.png',
|
'asset/menu/2.2.1.1.chestpress.png',
|
||||||
Colors.white, 48, true,37);
|
Colors.white, 32, true,37);
|
||||||
this.tree['PullUps1rm']= WorkoutTree(14, 8, AppLocalizations.of(context).translate("Pull Ups"),
|
this.tree['PullUps1rm']= WorkoutTree(14, 8, AppLocalizations.of(context).translate("Pull Ups"),
|
||||||
'asset/menu/2.2.1.2.pullups.png',
|
'asset/menu/2.2.1.2.pullups.png',
|
||||||
Colors.white, 48, true, 38);
|
Colors.white, 32, true, 38);
|
||||||
this.tree['Biceps']= WorkoutTree(15, 8, AppLocalizations.of(context).translate("Biceps"),
|
this.tree['Biceps']= WorkoutTree(15, 8, AppLocalizations.of(context).translate("Biceps"),
|
||||||
'asset/menu/2.2.1.3.biceps.png',
|
'asset/menu/2.2.1.3.biceps.png',
|
||||||
Colors.white, 48, true, 39);
|
Colors.white, 32, true, 39);
|
||||||
this.tree['Triceps']= WorkoutTree(16, 8, AppLocalizations.of(context).translate("Triceps"),
|
this.tree['Triceps']= WorkoutTree(16, 8, AppLocalizations.of(context).translate("Triceps"),
|
||||||
'asset/menu/2.2.1.4.triceps.png',
|
'asset/menu/2.2.1.4.triceps.png',
|
||||||
Colors.white, 48, true, 40);
|
Colors.white, 32, true, 40);
|
||||||
this.tree['Shoulders']= WorkoutTree(17, 8, AppLocalizations.of(context).translate("Shoulders"),
|
this.tree['Shoulders']= WorkoutTree(17, 8, AppLocalizations.of(context).translate("Shoulders"),
|
||||||
'asset/menu/2.2.1.5.shoulders.png',
|
'asset/menu/2.2.1.5.shoulders.png',
|
||||||
Colors.white, 48, true, 41);
|
Colors.white, 32, true, 41);
|
||||||
|
|
||||||
this.tree['BodyCompositions']= WorkoutTree(9, 0, AppLocalizations.of(context).translate("Body Compositions"),
|
this.tree['BodyCompositions']= WorkoutTree(9, 0, AppLocalizations.of(context).translate("Body Compositions"),
|
||||||
'asset/menu/3.bcs1.png',
|
'asset/menu/3.bcs1.png',
|
||||||
Colors.white, 40, false,0);
|
Colors.white, 32, false,0);
|
||||||
this.tree['BMI']= WorkoutTree(18, 9, AppLocalizations.of(context).translate("BMI"),
|
this.tree['BMI']= WorkoutTree(18, 9, AppLocalizations.of(context).translate("BMI"),
|
||||||
'asset/menu/3.1.BMI.png',
|
'asset/menu/3.1.BMI.png',
|
||||||
Colors.white, 32, true,42);
|
Colors.white, 32, true,42);
|
||||||
@ -81,7 +81,7 @@ class MenuTests {
|
|||||||
Colors.white, 32, true,0);
|
Colors.white, 32, true,0);
|
||||||
this.tree['Sizes']= WorkoutTree(20, 9, AppLocalizations.of(context).translate("Sizes"),
|
this.tree['Sizes']= WorkoutTree(20, 9, AppLocalizations.of(context).translate("Sizes"),
|
||||||
'asset/menu/3.3.sizes.png',
|
'asset/menu/3.3.sizes.png',
|
||||||
Colors.black, 48, true,0);
|
Colors.white, 32, true,0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
import 'package:aitrainer_app/localization/app_language.dart';
|
import 'package:aitrainer_app/localization/app_language.dart';
|
||||||
import 'package:aitrainer_app/localization/app_localization.dart';
|
import 'package:aitrainer_app/localization/app_localization.dart';
|
||||||
import 'package:aitrainer_app/viewmodel/exercise_changing_view_model.dart';
|
import 'package:aitrainer_app/viewmodel/exercise_changing_view_model.dart';
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
import 'package:intl/intl.dart';
|
import 'package:intl/intl.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
@ -153,6 +154,9 @@ class _ExerciseNewPageState extends State {
|
|||||||
validator: (input) {
|
validator: (input) {
|
||||||
return validateNumberInput(input);
|
return validateNumberInput(input);
|
||||||
},
|
},
|
||||||
|
inputFormatters: [
|
||||||
|
WhitelistingTextInputFormatter(RegExp(r"[\d.]"))
|
||||||
|
],
|
||||||
onFieldSubmitted: (input) => {
|
onFieldSubmitted: (input) => {
|
||||||
print ("UnitQuantity value $input"),
|
print ("UnitQuantity value $input"),
|
||||||
model.exerciseViewModel.setUnitQuantity(
|
model.exerciseViewModel.setUnitQuantity(
|
||||||
@ -186,6 +190,9 @@ class _ExerciseNewPageState extends State {
|
|||||||
validator: (input) {
|
validator: (input) {
|
||||||
return validateNumberInput(input);
|
return validateNumberInput(input);
|
||||||
},
|
},
|
||||||
|
inputFormatters: [
|
||||||
|
WhitelistingTextInputFormatter(RegExp(r"[\d.]"))
|
||||||
|
],
|
||||||
onFieldSubmitted: (input) =>
|
onFieldSubmitted: (input) =>
|
||||||
{
|
{
|
||||||
print ("Quantity value $input"),
|
print ("Quantity value $input"),
|
||||||
@ -212,11 +219,19 @@ class _ExerciseNewPageState extends State {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Pattern pattern = r'^\d+(?:\.\d+)?$';
|
||||||
|
RegExp regex = new RegExp(pattern);
|
||||||
|
if (!regex.hasMatch(input)) {
|
||||||
|
return error;
|
||||||
|
}
|
||||||
|
|
||||||
rc = double.tryParse(input);
|
rc = double.tryParse(input);
|
||||||
if ( rc == null ) {
|
if ( rc == null ) {
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ( ! ( double.parse(input) < 10000 && double.parse(input) > 0) ) {
|
if ( ! ( double.parse(input) < 10000 && double.parse(input) > 0) ) {
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
import 'package:aitrainer_app/localization/app_localization.dart';
|
||||||
import 'package:aitrainer_app/model/auth.dart';
|
import 'package:aitrainer_app/model/auth.dart';
|
||||||
import 'package:aitrainer_app/model/exercise_type.dart';
|
import 'package:aitrainer_app/model/exercise_type.dart';
|
||||||
import 'package:aitrainer_app/model/workout_tree.dart';
|
import 'package:aitrainer_app/model/workout_tree.dart';
|
||||||
@ -36,8 +37,9 @@ class _MenuPageState extends State<MenuPage> {
|
|||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
title: Row(
|
title: Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
|
Text(AppLocalizations.of(context).translate("Tests")),
|
||||||
Image.asset(
|
Image.asset(
|
||||||
'asset/image/WT_long_logo.png',
|
'asset/image/WT_long_logo.png',
|
||||||
fit: BoxFit.cover,
|
fit: BoxFit.cover,
|
||||||
@ -46,7 +48,7 @@ class _MenuPageState extends State<MenuPage> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
leading: IconButton(
|
leading: IconButton(
|
||||||
icon: Icon(Icons.arrow_back, color: Colors.black),
|
icon: Icon(Icons.arrow_back, color: Colors.white),
|
||||||
onPressed: () => {
|
onPressed: () => {
|
||||||
this.setState(() {
|
this.setState(() {
|
||||||
widget.parent = 0;
|
widget.parent = 0;
|
||||||
@ -104,7 +106,7 @@ class _MenuPageState extends State<MenuPage> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
} else {
|
} else {
|
||||||
exerciseType = Common.getExerciseType(workoutTree.exercise_type_id),
|
exerciseType = Common.getExerciseType(workoutTree.exerciseTypeId),
|
||||||
model.setExerciseType(exerciseType),
|
model.setExerciseType(exerciseType),
|
||||||
model.setCustomer(Auth().userLoggedIn),
|
model.setCustomer(Auth().userLoggedIn),
|
||||||
if ( Auth().userLoggedIn == null ) {
|
if ( Auth().userLoggedIn == null ) {
|
||||||
|
@ -1,11 +1,9 @@
|
|||||||
import 'package:aitrainer_app/util/message_state.dart';
|
import 'package:aitrainer_app/util/message_state.dart';
|
||||||
import 'package:aitrainer_app/util/session.dart';
|
import 'package:aitrainer_app/util/session.dart';
|
||||||
import 'package:aitrainer_app/view/menu_page.dart';
|
|
||||||
import 'package:aitrainer_app/widgets/bottom_nav.dart';
|
|
||||||
import 'package:aitrainer_app/widgets/home.dart';
|
import 'package:aitrainer_app/widgets/home.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'file:///D:/projects/aitrainer/src/aitrainer_app/lib/util/loading_screen.dart';
|
import 'package:aitrainer_app/util/loading_screen.dart';
|
||||||
|
|
||||||
class LoadingScreenMain extends StatefulWidget {
|
class LoadingScreenMain extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
@ -44,7 +42,7 @@ class LoadingScreenMainState extends State<LoadingScreenMain> {
|
|||||||
class TimeMessages {
|
class TimeMessages {
|
||||||
static Future timer(MessageState state, Function callback) async {
|
static Future timer(MessageState state, Function callback) async {
|
||||||
//while (true) {
|
//while (true) {
|
||||||
await Future.delayed(Duration(seconds: 4), () {
|
await Future.delayed(Duration(seconds: 2), () {
|
||||||
state.setMessage = DateTime.now().toIso8601String();
|
state.setMessage = DateTime.now().toIso8601String();
|
||||||
print("---- TimeMessages initializer");
|
print("---- TimeMessages initializer");
|
||||||
Session session = Session();
|
Session session = Session();
|
||||||
|
Loading…
Reference in New Issue
Block a user