WT 1.1.0+35 Design, Menü filter, Test Server

This commit is contained in:
bossanyit
2020-12-08 17:05:55 +01:00
parent f5f4ade9d5
commit 85ce68a9b8
26 changed files with 821 additions and 256 deletions
+36 -6
View File
@@ -12,7 +12,6 @@ import 'package:aitrainer_app/widgets/app_bar.dart';
import 'package:aitrainer_app/widgets/bmi_widget.dart';
import 'package:aitrainer_app/widgets/bmr_widget.dart';
import 'package:aitrainer_app/widgets/size_widget.dart';
import 'package:aitrainer_app/widgets/splash.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@@ -102,12 +101,12 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans {
//LoadingDialog.hide(context);
}
final exerciseBloc = BlocProvider.of<ExerciseNewBloc>(context);
return getExerciseWidget(exerciseBloc, exerciseType);
return getExerciseWidget(exerciseBloc, exerciseType, menuBloc);
},
));
}
Widget getExerciseWidget(ExerciseNewBloc exerciseBloc, ExerciseType exerciseType) {
Widget getExerciseWidget(ExerciseNewBloc exerciseBloc, ExerciseType exerciseType, MenuBloc menuBloc) {
exerciseBloc.exerciseRepository.setExerciseType(exerciseType);
final String exerciseName = AppLanguage().appLocal == Locale("en")
? exerciseBloc.exerciseRepository.exerciseType.name
@@ -120,7 +119,7 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans {
exerciseDescription = "";
}
print(exerciseBloc.exerciseRepository.exerciseType.name);
//print(exerciseBloc.exerciseRepository.exerciseType.name);
if (exerciseBloc.exerciseRepository.exerciseType.name == "BMR") {
return BMR(exerciseBloc: exerciseBloc);
@@ -132,8 +131,17 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans {
return SizeWidget(exerciseBloc: exerciseBloc);
}
String exerciseTask = "";
if (exerciseBloc.exerciseRepository.exerciseType.is1RM && menuBloc.ability.toString() == ExerciseAbility.oneRepMax.toString()) {
exerciseTask = "Please take a relative bigger weight and repeat 12-20 times";
exerciseBloc.quantity = 12;
} else if (exerciseBloc.exerciseRepository.exerciseType.isEndurance &&
menuBloc.ability.toString() == ExerciseAbility.endurance.toString()) {
exerciseTask = "Please take a medium weight and repeat 20-30 times";
exerciseBloc.quantity = 20;
}
return Form(
//autovalidateMode: AutovalidateMode.disabled,
child: Scaffold(
resizeToAvoidBottomInset: true,
appBar: AppBarNav(depth: 1),
@@ -189,6 +197,21 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans {
Divider(
color: Colors.transparent,
),
Text(
t(exerciseTask),
style: GoogleFonts.inter(
fontSize: 14,
color: Colors.orange,
fontWeight: FontWeight.bold,
),
maxLines: 3,
textAlign: TextAlign.center,
overflow: TextOverflow.fade,
softWrap: true,
),
Divider(
color: Colors.transparent,
),
columnQuantityUnit(exerciseBloc),
Divider(
color: Colors.transparent,
@@ -269,7 +292,7 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans {
borderSide: BorderSide(color: Colors.black26, width: 0.4),
),
),
initialValue: "12",
initialValue: bloc.quantity.toStringAsFixed(0),
keyboardType: TextInputType.number,
textInputAction: TextInputAction.next,
style: GoogleFonts.archivoBlack(fontSize: 80, color: Colors.orange[200]),
@@ -340,6 +363,13 @@ class _ExerciseNewPageState extends State<ExerciseNewPage> with Trans {
args['readonly'] = false,
Navigator.of(context).pushNamed('exerciseControlPage', arguments: args)
}
else if (bloc.exerciseRepository.exerciseType.isEndurance)
{
args['exerciseRepository'] = bloc.exerciseRepository,
args['percent'] = 0.50,
args['readonly'] = false,
Navigator.of(context).pushNamed('exerciseControlPage', arguments: args)
}
},
)
],
+42 -24
View File
@@ -1,38 +1,28 @@
import 'package:aitrainer_app/bloc/menu/menu_bloc.dart';
import 'package:aitrainer_app/bloc/settings/settings_bloc.dart';
import 'package:aitrainer_app/localization/app_language.dart';
import 'package:aitrainer_app/localization/app_localization.dart';
import 'package:aitrainer_app/model/cache.dart';
import 'package:aitrainer_app/util/trans.dart';
import 'package:aitrainer_app/widgets/app_bar_min.dart';
import 'package:aitrainer_app/widgets/bottom_nav.dart';
import 'package:aitrainer_app/widgets/splash.dart';
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:toggle_switch/toggle_switch.dart';
class SettingsPage extends StatelessWidget {
// ignore: must_be_immutable
class SettingsPage extends StatelessWidget with Trans {
@override
Widget build(BuildContext context) {
// ignore: close_sinks
SettingsBloc settingsBloc = BlocProvider.of<SettingsBloc>(context);
settingsBloc.setLocale(AppLanguage().appLocal);
settingsBloc.context = context;
setContext(context);
MenuBloc menuBloc = BlocProvider.of<MenuBloc>(context);
return Scaffold(
appBar: AppBar(
title: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Text(AppLocalizations.of(context).translate('Settings')),
Image.asset(
'asset/image/WT_long_logo.png',
fit: BoxFit.cover,
height: 65.0,
),
],
),
//title: Text(AppLocalizations.of(context).translate('Settings')),
backgroundColor: Colors.transparent,
),
appBar: AppBarMin(),
body: Container(
decoration: BoxDecoration(
image: DecorationImage(
@@ -70,13 +60,10 @@ class SettingsPage extends StatelessWidget {
return ListView(padding: EdgeInsets.only(top: 150), children: <Widget>[
ListTile(
leading: Icon(Icons.language),
subtitle: Text(AppLocalizations.of(context).translate("Change App Language")),
subtitle: Text(t("Change App Language")),
title: DropdownButton(
value: settingsBloc.getLocale() == Locale('en')
? AppLocalizations.of(context).translate("English")
: AppLocalizations.of(context).translate("Hungarian"),
items: [AppLocalizations.of(context).translate("English"), AppLocalizations.of(context).translate("Hungarian")]
.map<DropdownMenuItem<String>>((String value) {
value: settingsBloc.getLocale() == Locale('en') ? t("English") : t("Hungarian"),
items: [t("English"), t("Hungarian")].map<DropdownMenuItem<String>>((String value) {
return DropdownMenuItem<String>(
value: value,
child: Text(value),
@@ -85,6 +72,37 @@ class SettingsPage extends StatelessWidget {
onChanged: (String lang) => {
settingsBloc.add(SettingsChangeLanguage(language: lang)),
})),
getServer(),
]);
}
ListTile getServer() {
if (Cache().userLoggedIn.admin != 1) {
return ListTile(
title: Container(),
);
}
return ListTile(
leading: Icon(Icons.data_usage_sharp),
subtitle: Text("For Test purpuses select Test-Server. After that please restart the the App"),
title: ToggleSwitch(
minWidth: 120.0,
minHeight: 30.0,
fontSize: 14.0,
initialLabelIndex: Cache().liveServer
? Cache().testEnvironment == "1"
? 1
: 0
: 1,
activeBgColor: Colors.indigo,
activeFgColor: Colors.white,
inactiveBgColor: Colors.white60,
inactiveFgColor: Colors.grey[900],
labels: [t('Live-Server'), t('Test-Server')],
onToggle: (index) {
Cache().setServer(index == 0);
},
),
);
}
}