From 82bed75528dc13c1b4172ae8f2b6db65c26b54d5 Mon Sep 17 00:00:00 2001 From: bossanyit Date: Sat, 4 Jun 2022 08:28:06 +0200 Subject: [PATCH] 1.1.26+3 development --- .../body_development_bloc.dart | 57 ++++++++++++++++++- lib/bloc/login/login_bloc.dart | 11 +++- .../training_evaluation_bloc.dart | 4 +- pubspec.yaml | 2 +- 4 files changed, 67 insertions(+), 7 deletions(-) diff --git a/lib/bloc/body_development/body_development_bloc.dart b/lib/bloc/body_development/body_development_bloc.dart index 8a173b7..9a24b82 100644 --- a/lib/bloc/body_development/body_development_bloc.dart +++ b/lib/bloc/body_development/body_development_bloc.dart @@ -1,5 +1,6 @@ +import 'dart:collection'; + import 'package:aitrainer_app/model/exercise.dart'; -import 'package:aitrainer_app/util/enums.dart'; import 'package:intl/intl.dart'; import 'dart:async'; import 'package:aitrainer_app/bloc/development_diagram/development_diagram_bloc.dart'; @@ -23,9 +24,11 @@ class BodyDevelopmentBloc extends Bloc legendsFmlm = ['First month', '1 month ago', 'last month']; List legendsL3m = ['2 months ago', '1 month ago', 'last month']; List legends = []; + List dateGroups = ["", "", ""]; List radarTicks = []; List radarFeatures = []; List> radarData = []; + List> tempRadarData = []; DiagramGroup group = DiagramGroup.sumMass; DiagramDateFilterGroup filter = DiagramDateFilterGroup.l3t; @@ -43,19 +46,71 @@ class BodyDevelopmentBloc extends Bloc dateGroup = this.getDateGroup(exercise, elementIndex); + if (dateGroup['dateGroupIndex'] != -1) { + double unitQuantity = exercise.unitQuantity == null ? 1 : exercise.unitQuantity!; + //print("index ${dateGroup['dateGroupIndex']} -- dateGroup: ${dateGroup['dateGroup']} -- value ${exercise.quantity! * unitQuantity}"); + tempRadarData[dateGroup['dateGroupIndex']][index] += (exercise.quantity! * unitQuantity) / (elementIndex + exerciseIndex + 1); + exerciseIndex++; + } + }); + elementIndex++; }); index++; }); + print(" temp $tempRadarData"); + } + + HashMap getDateGroup(Exercise exercise, int elementIndex) { + HashMap rc = HashMap(); + rc['dateGroupIndex'] = -1; + if (elementIndex == 0) { + rc['dateGroupIndex'] = 0; + rc['dateGroup'] = DateFormat(DateFormat.YEAR_MONTH, AppLanguage().appLocal.toString()).format(exercise.dateAdd!); + dateGroups[0] = rc['dateGroup']; + dateGroups[1] = + DateFormat(DateFormat.YEAR_MONTH, AppLanguage().appLocal.toString()).format(DateTime.now().subtract(Duration(days: 32))); + dateGroups[2] = DateFormat(DateFormat.YEAR_MONTH, AppLanguage().appLocal.toString()).format(DateTime.now()); + + print("DateGroups: ==== $dateGroups"); + } else { + final String dateGroup = DateFormat(DateFormat.YEAR_MONTH, AppLanguage().appLocal.toString()).format(exercise.dateAdd!); + if (dateGroup == dateGroups[0]) { + rc['dateGroup'] = dateGroup; + rc['dateGroupIndex'] = 0; + } else if (dateGroup == dateGroups[1]) { + rc['dateGroup'] = dateGroup; + rc['dateGroupIndex'] = 1; + } else if (dateGroup == dateGroups[2]) { + rc['dateGroup'] = dateGroup; + rc['dateGroupIndex'] = 2; + } + } + return rc; } Future getData() async { diff --git a/lib/bloc/login/login_bloc.dart b/lib/bloc/login/login_bloc.dart index 1738b0e..e08437b 100644 --- a/lib/bloc/login/login_bloc.dart +++ b/lib/bloc/login/login_bloc.dart @@ -34,7 +34,12 @@ class LoginBloc extends Bloc with Trans { Color testColor = Colors.green[800]!; bool emailCheckbox = true; - LoginBloc({required this.accountBloc, required this.userRepository, required this.context, required this.isRegistration, this.customerRepository}) + LoginBloc( + {required this.accountBloc, + required this.userRepository, + required this.context, + required this.isRegistration, + this.customerRepository}) : super(LoginInitial()) { this._init(); on(_onEmailChange); @@ -88,7 +93,7 @@ class LoginBloc extends Bloc with Trans { Track().track(TrackingEvent.login, eventValue: "email"); Cache().setLoginType(LoginType.email); - emit(LoginReady()); + emit(LoginSuccess()); } void _onLoginFB(LoginFB event, Emitter emit) async { @@ -97,7 +102,7 @@ class LoginBloc extends Bloc with Trans { await userRepository.getUserByFB(); accountBloc.add(AccountLogInFinished(customer: Cache().userLoggedIn!)); Track().track(TrackingEvent.login, eventValue: "FB"); - emit(LoginReady()); + emit(LoginSuccess()); } void _onLoginGoogle(LoginGoogle event, Emitter emit) async { diff --git a/lib/bloc/training_evaluation/training_evaluation_bloc.dart b/lib/bloc/training_evaluation/training_evaluation_bloc.dart index 94afa7f..083197a 100644 --- a/lib/bloc/training_evaluation/training_evaluation_bloc.dart +++ b/lib/bloc/training_evaluation/training_evaluation_bloc.dart @@ -50,11 +50,11 @@ class TrainingEvaluationBloc extends Bloc 5) { + /* if (end == null || DateTime.now().difference(end!).inMinutes > 5) { emit(TrainingEvaluationReady()); } else { emit(TrainingEvaluationVictoryReady()); - } + } */ } void createEvaluationData() { diff --git a/pubspec.yaml b/pubspec.yaml index 038f3fb..5d044fb 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -45,7 +45,7 @@ dependencies: flutter_html: ^2.0.0 wakelock: ^0.6.1+2 timeline_tile: ^2.0.0 - purchases_flutter: ^3.8.0 + purchases_flutter: ^3.9.5 package_info: ^2.0.0 ezanimation: ^0.6.0 confetti: ^0.6.0