From 211307e63e8ec3ec9e8735cbba8e8058aa744f6e Mon Sep 17 00:00:00 2001 From: bossanyit Date: Fri, 25 Jun 2021 17:30:14 +0200 Subject: [PATCH] WT 1.1.20 Training Plan improvements, InApp Messageing --- asset/menu/FG_2_edz.jpg | Bin 0 -> 69903 bytes asset/menu/stretching.jpg | Bin 0 -> 95210 bytes asset/menu/warmup.jpg | Bin 0 -> 126829 bytes i18n/en.json | 7 +- i18n/hu.json | 7 +- ios/Podfile.lock | 34 +-- ios/Runner.xcodeproj/project.pbxproj | 12 +- lib/bloc/login/login_bloc.dart | 16 +- .../training_plan/training_plan_bloc.dart | 71 +++-- .../training_plan/training_plan_state.dart | 8 + lib/main.dart | 7 +- lib/model/cache.dart | 10 +- lib/model/customer_property.dart | 8 +- lib/model/customer_training_plan_details.dart | 34 ++- lib/model/evaluation.dart | 6 +- lib/model/evaluation_attribute.dart | 2 +- lib/model/exercise_type.dart | 7 +- lib/model/training_plan.dart | 8 +- lib/model/training_plan_day.dart | 29 ++ lib/model/training_plan_detail.dart | 16 +- lib/push_notifications.dart | 34 --- .../training_plan_day_repository.dart | 35 +++ lib/repository/training_plan_repository.dart | 35 ++- lib/repository/workout_tree_repository.dart | 4 +- lib/service/firebase_api.dart | 151 ++++++++-- lib/service/package_service.dart | 10 +- lib/util/track.dart | 4 +- lib/view/registration.dart | 4 +- lib/view/training_plan_activate_page.dart | 74 +++-- lib/view/training_plan_execute_page.dart | 271 +++++++++++++----- lib/view/training_plan_exercise.dart | 9 +- lib/view/training_plans_page.dart | 1 + lib/widgets/menu_image.dart | 1 + lib/widgets/treeview_parent_widget.dart | 10 +- pubspec.lock | 50 ++-- pubspec.yaml | 18 +- 36 files changed, 693 insertions(+), 300 deletions(-) create mode 100644 asset/menu/FG_2_edz.jpg create mode 100644 asset/menu/stretching.jpg create mode 100644 asset/menu/warmup.jpg create mode 100644 lib/model/training_plan_day.dart delete mode 100644 lib/push_notifications.dart create mode 100644 lib/repository/training_plan_day_repository.dart diff --git a/asset/menu/FG_2_edz.jpg b/asset/menu/FG_2_edz.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5e39527b475ccae3c35cda275bffcd2f119403eb GIT binary patch literal 69903 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 Fq}g_5aYczZpFH1j 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 literal 0 HcmV?d00001 diff --git a/asset/menu/stretching.jpg b/asset/menu/stretching.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5539470d03705b551742659b06a2c96de3ed8c4b GIT binary patch literal 95210 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�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

rrCs?rl0lL7055|d%#r9+*1 zGk|?Sr9+X`_(0GKxl2ShT0+~26H%d*P~{msqN2puAx5bwZkBW0~I1Dq%W zv{fj-H*e<3LrAH*Ts1=*>ZQ=u=vgFr$o$6+3z1$eQJNivpkWLi#2}6spd?d$7-FEJ zC{RahDVd|iO2g>((lT~Dtbpv2!zG0vF{uwFw16H{3Y=XL&=cEh=nF|EsLSUa#K#W* zqvzy_fHFJ<=%+n6sYXY|gs8S8g%fE2vN6CCT3{hqRB_5s^mYT+h|t5ON^&3_u?&BJ z=23@e*-Vy3&nyE=b7DuzSfb6XhVSLDr$CB07gmVk63Pe21^bwJRj4T5^b>~$F0UTvxBiXWx8#?ee=ApHbHHRu;YlC>2_0W7zr z_unpMJ2N)JSeB~-58JO%m;;uYdk{lYig;mxhwQ7CL(fa~B_M!DeSt|Cp@2iP5a}Ld zMEf}eIoWWZ?BW1%R>kkDg`FW8vp@wo=YgM%pw6fD6z4YAp@KzKkg?0y(B#8 zz>mN%mX3-T@ZuSKk~;4mIU`31t+ICZR5-)HQGQ=S&qi8ul_GYVva897$9G~xbM~5$ zga#@mr9{tx=YV2z;viR~$E9Kq{#;g>ma zUqZGpl97PlXpJo=v)D)g)kxpB)5KgInSlv27FnV+22Vf^b1-BhL5(>Aj#{To&BLTP zU4@`UQJ~_Rf#)_NLf<0U7`D(?PRFlhi%@-S0U9YJhe(9kRzf|2c^Vrn0RtBz+Z9vs z8#8at>F?bmm_QD#z(PUcI?n+KZ~*RrCD;JyYG55C2$t?{ZOK*3s2X2Gy42s7;7-TO zN|79oI5OwcLi4MnmZ}1Jv4&EZx6smuWR}l8F4R9mY9Rg3TbFcH;cCMah_P}?hVf5L z&bnX;!;co)aF}|;a$wQC8Px83`l2-RY#+2iJK(Ar!#1S*fJZ8(zCT3)MpZA-^v ze9Nd(Mu1D`8wCrt1axn5;5Vu0fE`CLI80ZnI()zk#mhw!aAivek8eeyQ_x`u7#Vm; zcDiTW&$-C6J9)%G#i;x8jBP5WjZ3LAJr_Zxk`hn4u!YO0@I>OMWlp77A$p?%cjmT| zz#2`;h0U0((sZ$&(aHiwX({d{*H_S$<>1|5$XYttNH9>Z zUBlq`P_Udk%GqH~f|wbY0B>C?K~CC~Lr$JVDS8 zwEe>o3c^MyfE6zrm*L7>F2V-ZsE()vsLhriUxIOUHik>Ym?1*i#KB)SI3U7qS0K8h z4+>|H;Ahee(A*|x+S~{Fa3(;e_puklRr$arD+{S4p-BP)Cds?y704!9*nzCL=BRsv zfco;x0A$+m>$8l7f}&U-8ni+}Lg|bG_vIuH<~G9!=|)h)oVVDAzsQfo6+wC{?)~;s%_RWq3Atp`gz==w>G!iR2+%yrYm!+5~6|0Z@gWpAPzF)efyFLpZ65 zYX}qR+JGD5UO3y(v5X+o=Mb%Eg-IeJ%=IKAXg0=JF*%;T$NN>D7lybQ^qx!*BU#xUkF&d0KLl2oz5Gq*OPFt0JFb&qJa1i$aF z1;g=cJe8S9Odl(URgeRuuceeCdQ2G*grb310)|trpk#+)s-%UN#-fhciP*8?)JfB^ffw93Ye!Oftb{QmF%0qrs{U;qFB literal 0 HcmV?d00001 diff --git a/asset/menu/warmup.jpg b/asset/menu/warmup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a0b5afc3bb6c2c77181cf6297e076c5ac8047bf6 GIT binary patch literal 126829 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 r-$u;Ds<6fPj(baG^g~@Vn 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 literal 0 HcmV?d00001 diff --git a/i18n/en.json b/i18n/en.json index e019450..aa24d00 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -436,7 +436,7 @@ "Do you want to restart, or select a new Training Plan?": "Do you want to restart, or select a new Training Plan?", "New Training Plan": "New Training Plan", "Restart": "Restart", - "Training Day": "Training Day", + "Training Day": "Day", "No Active Training Plan": "No Active Training Plan", "Please select one in the Training menu, or create your custom plan": "Please select one in the Training menu, or create your custom plan", "Continue your training": "Continue your training", @@ -473,5 +473,8 @@ "A new version of Workout Test is available!": "A new version of Workout Test is available!", "Update Now": "Update Now", "Update App?": "Update App?", - "Want to update?": "Please update the app" + "Want to update?": "Please update the app", + "Attention!": "Attention!", + "The safe and exact execution of this exercise you need a training buddy or a trainer": "The safe and exact execution of this exercise you need a training buddy or a trainer", + "Execution at your own risk!": "Execution at your own risk!" } \ No newline at end of file diff --git a/i18n/hu.json b/i18n/hu.json index b2663bd..5508c82 100644 --- a/i18n/hu.json +++ b/i18n/hu.json @@ -434,7 +434,7 @@ "Do you want to restart, or select a new Training Plan?": "Újra akarod indítani, vagy inkább egy másikat választasz?", "New Training Plan": "Másik edzésterv", "Restart": "Újraindítom", - "Training Day": "Edzésnap", + "Training Day": "Nap", "No Active Training Plan": "Nincs aktív edzésterv", "Please select one in the Training menu, or create your custom plan": "Kérlek válassz egyet a Tréning menüben, vagy hozd létre a saját egyéni edzésedet", "Continue your training": "Folytasd az edzést", @@ -471,5 +471,8 @@ "A new version of Workout Test is available!": "Egy új Workout Test verzió elérhető!", "Update Now": "Töltsd le most", "Update App?": "App frissítés", - "Want to update?": "Kérlek töltsd le" + "Want to update?": "Kérlek töltsd le", + "Attention!": "Figyelem!", + "The safe and exact execution of this exercise you need a training buddy or a trainer": "A gyakorlat biztonságos és maximális pontosságú végrehajtásához edzőtárs vagy edző segítsége szükséges", + "Execution at your own risk!": "Végrehajtás CSAK saját felelőségre!" } \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock index d9f910d..c5112c1 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -4,7 +4,7 @@ PODS: - AppAuth/ExternalUserAgent (= 1.4.0) - AppAuth/Core (1.4.0) - AppAuth/ExternalUserAgent (1.4.0) - - apple_sign_in (0.0.1): + - awesome_notifications (0.0.2): - Flutter - device_info (0.0.1): - Flutter @@ -116,10 +116,10 @@ PODS: - FirebaseInstallations (~> 8.0) - GoogleUtilities/Environment (~> 7.4) - "GoogleUtilities/NSData+zlib (~> 7.4)" - - flurry (0.0.4): + - Flurry-iOS-SDK/FlurrySDK (11.2.1) + - flurry_data (0.0.1): - Flurry-iOS-SDK/FlurrySDK - Flutter - - Flurry-iOS-SDK/FlurrySDK (11.2.1) - Flutter (1.0.0) - flutter_app_badger (0.0.1): - Flutter @@ -127,8 +127,6 @@ PODS: - FBSDKCoreKit (~> 9.1.0) - FBSDKLoginKit (~> 9.1.0) - Flutter - - flutter_local_notifications (0.0.1): - - Flutter - flutter_secure_storage (3.3.1): - Flutter - flutter_uxcam (2.0.0-beta.1): @@ -215,6 +213,8 @@ PODS: - Sentry (~> 7.0.3) - shared_preferences (0.0.1): - Flutter + - sign_in_with_apple (0.0.1): + - Flutter - sqflite (0.0.2): - Flutter - FMDB (>= 2.7.5) @@ -229,7 +229,7 @@ PODS: - Flutter DEPENDENCIES: - - apple_sign_in (from `.symlinks/plugins/apple_sign_in/ios`) + - awesome_notifications (from `.symlinks/plugins/awesome_notifications/ios`) - device_info (from `.symlinks/plugins/device_info/ios`) - devicelocale (from `.symlinks/plugins/devicelocale/ios`) - firebase_analytics (from `.symlinks/plugins/firebase_analytics/ios`) @@ -237,11 +237,10 @@ DEPENDENCIES: - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) - firebase_remote_config (from `.symlinks/plugins/firebase_remote_config/ios`) - - flurry (from `.symlinks/plugins/flurry/ios`) + - flurry_data (from `.symlinks/plugins/flurry_data/ios`) - Flutter (from `Flutter`) - flutter_app_badger (from `.symlinks/plugins/flutter_app_badger/ios`) - flutter_facebook_auth (from `.symlinks/plugins/flutter_facebook_auth/ios`) - - flutter_local_notifications (from `.symlinks/plugins/flutter_local_notifications/ios`) - flutter_secure_storage (from `.symlinks/plugins/flutter_secure_storage/ios`) - flutter_uxcam (from `.symlinks/plugins/flutter_uxcam/ios`) - google_sign_in (from `.symlinks/plugins/google_sign_in/ios`) @@ -252,6 +251,7 @@ DEPENDENCIES: - purchases_flutter (from `.symlinks/plugins/purchases_flutter/ios`) - sentry_flutter (from `.symlinks/plugins/sentry_flutter/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) + - sign_in_with_apple (from `.symlinks/plugins/sign_in_with_apple/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - url_launcher (from `.symlinks/plugins/url_launcher/ios`) - video_player (from `.symlinks/plugins/video_player/ios`) @@ -289,8 +289,8 @@ SPEC REPOS: - UXCam EXTERNAL SOURCES: - apple_sign_in: - :path: ".symlinks/plugins/apple_sign_in/ios" + awesome_notifications: + :path: ".symlinks/plugins/awesome_notifications/ios" device_info: :path: ".symlinks/plugins/device_info/ios" devicelocale: @@ -305,16 +305,14 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/firebase_messaging/ios" firebase_remote_config: :path: ".symlinks/plugins/firebase_remote_config/ios" - flurry: - :path: ".symlinks/plugins/flurry/ios" + flurry_data: + :path: ".symlinks/plugins/flurry_data/ios" Flutter: :path: Flutter flutter_app_badger: :path: ".symlinks/plugins/flutter_app_badger/ios" flutter_facebook_auth: :path: ".symlinks/plugins/flutter_facebook_auth/ios" - flutter_local_notifications: - :path: ".symlinks/plugins/flutter_local_notifications/ios" flutter_secure_storage: :path: ".symlinks/plugins/flutter_secure_storage/ios" flutter_uxcam: @@ -335,6 +333,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/sentry_flutter/ios" shared_preferences: :path: ".symlinks/plugins/shared_preferences/ios" + sign_in_with_apple: + :path: ".symlinks/plugins/sign_in_with_apple/ios" sqflite: :path: ".symlinks/plugins/sqflite/ios" url_launcher: @@ -348,7 +348,7 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7 - apple_sign_in: 7716c7ddfa195aeab7dec0dc374ef4ff45d1adb4 + awesome_notifications: 74462bc8e68b11f8235d78422266886759e9da61 device_info: d7d233b645a32c40dfdc212de5cf646ca482f175 devicelocale: b22617f40038496deffba44747101255cee005b0 FBSDKCoreKit: a00fe2efd780c195a5e09201bf51c56106245b40 @@ -367,12 +367,11 @@ SPEC CHECKSUMS: FirebaseInstallations: c4aab1005d6547b00a7529777fe52f5d4d45165b FirebaseMessaging: 1a33b4af3c8042ed6ddacb6c031894af2064bfab FirebaseRemoteConfig: 055f6b5ba1751547596ded5032c4d5c6054ca501 - flurry: 15b01f664ab1367c62b50291541ea7f78ca85aad Flurry-iOS-SDK: 5831da8fc6bedb31fa1f94aac6fd204d36dd351d + flurry_data: 49b7066a283aa41f4306974c1f2d74c61231ad74 Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c flutter_app_badger: 65de4d6f0c34a891df49e6cfb8a1c0496426fa68 flutter_facebook_auth: 4b170c07b7fce791497093fcc3f134fb215f3f07 - flutter_local_notifications: 0c0b1ae97e741e1521e4c1629a459d04b9aec743 flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec flutter_uxcam: ab8e5d3954eb448febd581375e2622e9eecb1066 FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a @@ -396,6 +395,7 @@ SPEC CHECKSUMS: Sentry: 5b16f877da362d23716d827e04db642455b26b40 sentry_flutter: 602dc1902e152269256115e2386e1029511f3440 shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d + sign_in_with_apple: 34f3f5456a45fd7ac5fb42905e2ad31dae061b4a sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef UXCam: c2c00873595ab89be227f197213dc3679ff88ae5 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 47784aa..028c493 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -388,7 +388,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = SFJJBDCU6Z; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -405,7 +405,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 1.1.18; + MARKETING_VERSION = 1.1.20; PRODUCT_BUNDLE_IDENTIFIER = com.aitrainer.app; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -531,7 +531,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = SFJJBDCU6Z; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -548,7 +548,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 1.1.18; + MARKETING_VERSION = 1.1.20; PRODUCT_BUNDLE_IDENTIFIER = com.aitrainer.app; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; @@ -566,7 +566,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements; - CURRENT_PROJECT_VERSION = 11; + CURRENT_PROJECT_VERSION = 2; DEVELOPMENT_TEAM = SFJJBDCU6Z; ENABLE_BITCODE = NO; FRAMEWORK_SEARCH_PATHS = ( @@ -583,7 +583,7 @@ "$(inherited)", "$(PROJECT_DIR)/Flutter", ); - MARKETING_VERSION = 1.1.18; + MARKETING_VERSION = 1.1.20; PRODUCT_BUNDLE_IDENTIFIER = com.aitrainer.app; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/lib/bloc/login/login_bloc.dart b/lib/bloc/login/login_bloc.dart index 53b078f..69ed7c0 100644 --- a/lib/bloc/login/login_bloc.dart +++ b/lib/bloc/login/login_bloc.dart @@ -87,9 +87,9 @@ class LoginBloc extends Bloc with Trans { yield LoginSuccess(); } else if (event is RegistrationSubmit) { yield LoginLoading(); - if (!this.dataPolicyAllowed) { + /* if (!this.dataPolicyAllowed) { throw Exception("Please accept our data policy"); - } + } */ final String? validationError = validate(); if (validationError != null) { yield LoginError(message: validationError); @@ -104,9 +104,9 @@ class LoginBloc extends Bloc with Trans { } } else if (event is RegistrationFB) { yield LoginLoading(); - if (!this.dataPolicyAllowed) { + /* if (!this.dataPolicyAllowed) { throw Exception("Please accept our data policy"); - } + } */ Cache().setLoginType(LoginType.fb); await userRepository.addUserFB(); accountBloc.add(AccountLogInFinished(customer: Cache().userLoggedIn!)); @@ -116,9 +116,9 @@ class LoginBloc extends Bloc with Trans { yield LoginSuccess(); } else if (event is RegistrationGoogle) { yield LoginLoading(); - if (!this.dataPolicyAllowed) { + /* if (!this.dataPolicyAllowed) { throw Exception("Please accept our data policy"); - } + } */ Cache().setLoginType(LoginType.google); await userRepository.addUserGoogle(); accountBloc.add(AccountLogInFinished(customer: Cache().userLoggedIn!)); @@ -128,9 +128,9 @@ class LoginBloc extends Bloc with Trans { yield LoginSuccess(); } else if (event is RegistrationApple) { yield LoginLoading(); - if (!this.dataPolicyAllowed) { + /* if (!this.dataPolicyAllowed) { throw Exception("Please accept our data policy"); - } + } */ Cache().setLoginType(LoginType.apple); await userRepository.addUserApple(); accountBloc.add(AccountLogInFinished(customer: Cache().userLoggedIn!)); diff --git a/lib/bloc/training_plan/training_plan_bloc.dart b/lib/bloc/training_plan/training_plan_bloc.dart index d6bb4cb..c60b6a3 100644 --- a/lib/bloc/training_plan/training_plan_bloc.dart +++ b/lib/bloc/training_plan/training_plan_bloc.dart @@ -58,15 +58,16 @@ class TrainingPlanBloc extends Bloc { await Cache().saveMyTrainingPlan(); yield TrainingPlanFinished(); } else if (event is TrainingPlanWeightChange) { - yield TrainingPlanLoading(); + yield TrainingPlanExerciseLoading(); event.detail.weight = event.weight; + yield TrainingPlanExerciseReady(); yield TrainingPlanReady(); } else if (event is TrainingPlanRepeatsChange) { - yield TrainingPlanLoading(); + yield TrainingPlanExerciseLoading(); event.detail.repeats = event.repeats; - + yield TrainingPlanExerciseReady(); yield TrainingPlanReady(); } else if (event is TrainingPlanSetChange) { yield TrainingPlanLoading(); @@ -91,10 +92,13 @@ class TrainingPlanBloc extends Bloc { } else if (event.detail.exercises.length >= 0) { event.detail.state = ExercisePlanDetailState.inProgress; } - - // recalculate the weight to the original planned repeats - if (event.detail.isTest && event.detail.exercises.length == 1) { - trainingPlanRepository.recalculateDetail(_myPlan!.trainingPlanId!, event.detail); + // recalculate the weight to the original planned repeats for the next details + if (exercise.unitQuantity != null && exercise.unitQuantity! > 0) { + for (var nextDetail in _myPlan!.details) { + if (nextDetail.exerciseTypeId == event.detail.exerciseTypeId && nextDetail.weight == -2) { + trainingPlanRepository.recalculateDetail(_myPlan!.trainingPlanId!, event.detail, nextDetail); + } + } } exercise.trainingPlanDetailsId = _myPlan!.trainingPlanId; @@ -230,28 +234,61 @@ class TrainingPlanBloc extends Bloc { dayNames.clear(); _myPlan!.days.clear(); String dayName = "."; + String previousDay = "."; _myPlan!.details.forEach((element) { if (element.day != null && element.day != dayName) { dayNames.add(element.day!); dayName = element.day!; + if (previousDay != ".") { + this.addExtraExerciseType("Stretching", previousDay); + } } if (_myPlan!.days[dayName] == null) { if (dayName == ".") { dayName = ""; } _myPlan!.days[dayName] = []; + + this.addExtraExerciseType("Warming Up", dayName); + previousDay = dayName; } _myPlan!.days[dayName]!.add(element); }); if (dayNames.length == 0) { - dayNames.add(""); - _myPlan!.days[""] = []; - _myPlan!.days[""]!.addAll(_myPlan!.details); + dayName = ""; + dayNames.add(dayName); + _myPlan!.days[dayName] = []; + _myPlan!.days[dayName]!.addAll(_myPlan!.details); } getActiveDayIndex(); } + void addExtraExerciseType(String name, String dayName) { + if (Cache().getExerciseTypes() == null) { + return; + } + for (var exerciseType in Cache().getExerciseTypes()!) { + if (exerciseType.name == name) { + CustomerTrainingPlanDetails detail = CustomerTrainingPlanDetails(); + detail.customerTrainingPlanDetailsId = 0; + detail.trainingPlanDetailsId = 0; + detail.exerciseTypeId = exerciseType.exerciseTypeId; + detail.repeats = 1; + detail.set = 1; + detail.day = ""; + detail.parallel = false; + detail.restingTime = 0; + detail.exerciseType = exerciseType; + if (_myPlan!.days[dayName] == null) { + _myPlan!.days[dayName] = []; + } + _myPlan!.days[dayName]!.add(detail); + break; + } + } + } + CustomerTrainingPlanDetails? getTrainingPlanDetail(int trainingPlanDetailsId) { CustomerTrainingPlanDetails? detail; if (_myPlan == null || _myPlan!.details.isEmpty) { @@ -297,13 +334,14 @@ class TrainingPlanBloc extends Bloc { int minStep = 99; for (final detail in this._myPlan!.details) { if (!detail.state.equalsTo(ExercisePlanDetailState.finished)) { - if (detail.exercises.isEmpty && !detail.state.equalsTo(ExercisePlanDetailState.skipped)) { + final day = dayNames[this.activeDayIndex]; + if (detail.exercises.isEmpty && !detail.state.equalsTo(ExercisePlanDetailState.skipped) && day == detail.day) { next = detail; minStep = 1; break; } else { final int step = detail.exercises.length; - if (step < minStep && !detail.state.equalsTo(ExercisePlanDetailState.skipped)) { + if (step < minStep && !detail.state.equalsTo(ExercisePlanDetailState.skipped) && day == detail.day) { next = detail; minStep = step; if (detail.parallel != true) { @@ -313,7 +351,7 @@ class TrainingPlanBloc extends Bloc { } } } - print("Next detail $next"); + //print("Next detail $next"); return next; } @@ -379,20 +417,19 @@ class TrainingPlanBloc extends Bloc { } int getActiveDayIndex() { + activeDayIndex = 0; if (restarting) { return 0; } if (_myPlan == null || _myPlan!.details.isEmpty) { -// throw Exception("No defined Training Plan"); return 0; } if (dayNames.isEmpty || dayNames.length == 1) { + activeDayIndex = 0; return 0; } - activeDayIndex = 0; - for (var day in dayNames) { if (_myPlan!.days[day] == null) { throw Exception("Wrong activated day: $day does not exist"); @@ -413,7 +450,7 @@ class TrainingPlanBloc extends Bloc { activeDayIndex = 0; this.add(TrainingPlanGoToRestart()); } - + print("ActiveDayIndex $activeDayIndex"); return activeDayIndex; } diff --git a/lib/bloc/training_plan/training_plan_state.dart b/lib/bloc/training_plan/training_plan_state.dart index 4479945..d9d2c60 100644 --- a/lib/bloc/training_plan/training_plan_state.dart +++ b/lib/bloc/training_plan/training_plan_state.dart @@ -15,10 +15,18 @@ class TrainingPlanLoading extends TrainingPlanState { const TrainingPlanLoading(); } +class TrainingPlanExerciseLoading extends TrainingPlanState { + const TrainingPlanExerciseLoading(); +} + class TrainingPlanReady extends TrainingPlanState { const TrainingPlanReady(); } +class TrainingPlanExerciseReady extends TrainingPlanState { + const TrainingPlanExerciseReady(); +} + class TrainingPlanFinished extends TrainingPlanState { const TrainingPlanFinished(); } diff --git a/lib/main.dart b/lib/main.dart index b7c2d06..bf39926 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,7 +3,6 @@ import 'dart:io'; import 'package:aitrainer_app/bloc/test_set_execute/test_set_execute_bloc.dart'; import 'package:aitrainer_app/bloc/training_plan/training_plan_bloc.dart'; import 'package:aitrainer_app/bloc/tutorial/tutorial_bloc.dart'; -import 'package:aitrainer_app/push_notifications.dart'; import 'package:aitrainer_app/repository/customer_repository.dart'; import 'package:aitrainer_app/repository/training_plan_repository.dart'; import 'package:aitrainer_app/repository/workout_tree_repository.dart'; @@ -44,7 +43,7 @@ import 'package:aitrainer_app/widgets/home.dart'; import 'package:aitrainer_app/library/facebook_app_events/facebook_app_events.dart'; import 'package:firebase_analytics/firebase_analytics.dart'; import 'package:firebase_analytics/observer.dart'; -import 'package:flurry/flurry.dart'; +import 'package:flurry_data/flurry_data.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter/widgets.dart'; @@ -110,6 +109,7 @@ Future main() async { if (isInDebugMode) { // In development mode simply print to console. FlutterError.dumpErrorToConsole(details); + FlurryData.logEvent("enter_test"); } else { // In production mode report to the application zone to report to // Sentry. @@ -192,10 +192,9 @@ Future main() async { Future initThirdParty() async { if (!isInDebugMode) { - await Flurry.initialize(androidKey: "JNYCTCWBT34FM3J8TV36", iosKey: "3QBG7BSMGPDH24S8TRQP", enableLog: true); + await FlurryData.initialize(androidKey: "JNYCTCWBT34FM3J8TV36", iosKey: "3QBG7BSMGPDH24S8TRQP", enableLog: true); FlutterUxcam.optIntoSchematicRecordings(); } - PushNotificationsManager().init(); } class WorkoutTestApp extends StatelessWidget { diff --git a/lib/model/cache.dart b/lib/model/cache.dart index cdbbe16..c72ff3e 100644 --- a/lib/model/cache.dart +++ b/lib/model/cache.dart @@ -19,6 +19,7 @@ import 'package:aitrainer_app/model/purchase.dart'; import 'package:aitrainer_app/model/split_test.dart'; import 'package:aitrainer_app/model/sport.dart'; import 'package:aitrainer_app/model/training_plan.dart'; +import 'package:aitrainer_app/model/training_plan_day.dart'; import 'package:aitrainer_app/model/tutorial.dart'; import 'package:aitrainer_app/model/workout_menu_tree.dart'; import 'package:aitrainer_app/repository/customer_repository.dart'; @@ -30,7 +31,7 @@ import 'package:aitrainer_app/util/enums.dart'; import 'package:aitrainer_app/util/env.dart'; import 'package:aitrainer_app/util/track.dart'; import 'package:firebase_remote_config/firebase_remote_config.dart'; -import 'package:flurry/flurry.dart'; +import 'package:flurry_data/flurry_data.dart'; import 'package:flutter_facebook_auth/flutter_facebook_auth.dart'; import 'package:flutter_uxcam/flutter_uxcam.dart'; import 'package:package_info/package_info.dart'; @@ -137,6 +138,7 @@ class Cache with Logging { List? _products; List _purchases = []; List _splitTests = []; + List _trainingPlanDays = []; List _exercisePlanTemplates = []; @@ -184,6 +186,7 @@ class Cache with Logging { String testEnv = EnvironmentConfig.test_env; this.testEnvironment = testEnv; if (testEnv == "1") { + print("testEnv $testEnv"); baseUrl = baseUrlTest; liveServer = false; } @@ -668,7 +671,7 @@ class Cache with Logging { await PackageApi().getCustomerPackage(customerId); if (!isInDebugMode) { - Flurry.setUserId(customerId.toString()); + FlurryData.setUserId(customerId.toString()); //Smartlook.setUserIdentifier(customerId.toString()); FlutterUxcam.setUserProperty("username", customerId.toString()); FlutterUxcam.setUserIdentity(customerId.toString()); @@ -737,4 +740,7 @@ class Cache with Logging { List getSplitTests() => this._splitTests; setSplitTests(value) => this._splitTests = value; + + List getTrainingPlanDays() => this._trainingPlanDays; + setTrainingPlanDays(value) => this._trainingPlanDays = value; } diff --git a/lib/model/customer_property.dart b/lib/model/customer_property.dart index ca246e6..52ee974 100644 --- a/lib/model/customer_property.dart +++ b/lib/model/customer_property.dart @@ -4,7 +4,7 @@ class CustomerProperty { int? customerPropertyId; late int propertyId; late int customerId; - late DateTime dateAdd; + DateTime? dateAdd; late double propertyValue; bool newData = false; @@ -14,7 +14,7 @@ class CustomerProperty { this.customerPropertyId = json['customerPropertyId']; this.propertyId = json['propertyId']; this.customerId = json['customerId']; - this.dateAdd = json['propertyName']; + this.dateAdd = json['dataAdd'] ?? DateTime.now(); this.propertyValue = json['propertyValue']; } @@ -24,14 +24,14 @@ class CustomerProperty { "customerPropertyId": this.customerPropertyId, "propertyId": this.propertyId, "customerId": this.customerId, - "dateAdd": DateFormat('yyyy-MM-dd HH:mm:ss').format(this.dateAdd), + "dateAdd": DateFormat('yyyy-MM-dd HH:mm:ss').format(this.dateAdd!), "propertyValue": this.propertyValue }; } else { return { "propertyId": this.propertyId, "customerId": this.customerId, - "dateAdd": DateFormat('yyyy-MM-dd HH:mm:ss').format(this.dateAdd), + "dateAdd": DateFormat('yyyy-MM-dd HH:mm:ss').format(this.dateAdd!), "propertyValue": this.propertyValue }; } diff --git a/lib/model/customer_training_plan_details.dart b/lib/model/customer_training_plan_details.dart index 21f993e..c0b1828 100644 --- a/lib/model/customer_training_plan_details.dart +++ b/lib/model/customer_training_plan_details.dart @@ -2,6 +2,7 @@ import 'package:aitrainer_app/model/cache.dart'; import 'package:aitrainer_app/model/exercise.dart'; import 'package:aitrainer_app/model/exercise_plan_detail.dart'; import 'package:aitrainer_app/model/exercise_type.dart'; +import 'package:aitrainer_app/repository/training_plan_day_repository.dart'; class CustomerTrainingPlanDetails { /// customerTrainingPlanDetails @@ -26,6 +27,8 @@ class CustomerTrainingPlanDetails { bool? parallel; String? day; + int? dayId; + /// exerciseType ExerciseType? exerciseType; @@ -63,10 +66,10 @@ class CustomerTrainingPlanDetails { : json['parallel'] == "true" ? true : null; - this.day = json['day'].toString(); - if (this.day == null || this.day == "null") { - this.day = ""; - } + this.dayId = json['dayId'] == "null" ? null : json['dayId']; + TrainingPlanDayRepository trainingPlanDayRepository = TrainingPlanDayRepository(); + this.day = trainingPlanDayRepository.getNameById(this.dayId); + try { Iterable iterable = json['exercises']; this.exercises = iterable.map((exercise) => Exercise.fromJson(exercise)).toList(); @@ -114,15 +117,30 @@ class CustomerTrainingPlanDetails { 'exercises': exercises.isEmpty ? [].toString() : exercises.map((exercise) => exercise.toJson()).toList().toString(), 'state': this.state.toStr(), "isTest": this.isTest, + "dayId": this.dayId, }; - if (this.day != null && this.day!.isNotEmpty) { - jsonMap["day"] = this.day; - } - //print("Detail $jsonMap"); + //print("Detail toJson $jsonMap"); return jsonMap; } @override String toString() => this.toJsonWithExercises().toString(); + + void copy(CustomerTrainingPlanDetails from) { + this.customerTrainingPlanDetailsId = from.customerTrainingPlanDetailsId; + this.trainingPlanDetailsId = from.trainingPlanDetailsId; + this.exerciseTypeId = from.exerciseTypeId; + this.exerciseType = from.exerciseType; + this.set = from.set; + this.repeats = from.repeats; + this.weight = from.weight; + this.restingTime = from.restingTime; + this.parallel = from.parallel; + this.exercises = from.exercises; + this.state = from.state; + this.isTest = from.isTest; + this.day = from.day; + this.dayId = from.dayId; + } } diff --git a/lib/model/evaluation.dart b/lib/model/evaluation.dart index b4e4bc9..ce4cfa9 100644 --- a/lib/model/evaluation.dart +++ b/lib/model/evaluation.dart @@ -1,10 +1,10 @@ import 'package:aitrainer_app/model/evaluation_attribute.dart'; class Evaluation { - late int evaluationId; + int? evaluationId; late String name; - late int exerciseTypeId; - late String unit; + int? exerciseTypeId; + String? unit; late List attributes; Evaluation.fromJson(Map json) { diff --git a/lib/model/evaluation_attribute.dart b/lib/model/evaluation_attribute.dart index 31250aa..3d4caff 100644 --- a/lib/model/evaluation_attribute.dart +++ b/lib/model/evaluation_attribute.dart @@ -1,6 +1,6 @@ class EvaluationAttribute { late int evaluationAttrId; - late int evaluationId; + int? evaluationId; late String name; late String sex; late int ageMin; diff --git a/lib/model/exercise_type.dart b/lib/model/exercise_type.dart index 3e5480e..c7ae7e1 100644 --- a/lib/model/exercise_type.dart +++ b/lib/model/exercise_type.dart @@ -17,7 +17,7 @@ class ExerciseType { late String unit; /// unitQuantity - late String unitQuantity; + String? unitQuantity; /// unitQuantityUnit String? unitQuantityUnit; @@ -28,6 +28,8 @@ class ExerciseType { /// base late bool base; + late bool buddyWarning; + /// imageUrl String imageUrl = ""; @@ -65,6 +67,7 @@ class ExerciseType { this.unitQuantityUnit = json['unitQuantityUnit']; this.active = json['active']; this.base = json['base']; + this.buddyWarning = json['buddyWarning']; if (json['images'].length > 0) { this.imageUrl = json['images'][0]['url']; } @@ -105,6 +108,8 @@ class ExerciseType { "unitQuantity": unitQuantity, "unitQuantityUnit": unitQuantityUnit, "active": active, + "base": base, + "buddyWarning": buddyWarning, "devices": this.devices.toString(), "nameTranslation": this.nameTranslation, "parents": this.parents.toString() diff --git a/lib/model/training_plan.dart b/lib/model/training_plan.dart index 223cc1b..9326e5b 100644 --- a/lib/model/training_plan.dart +++ b/lib/model/training_plan.dart @@ -4,10 +4,10 @@ import 'package:aitrainer_app/model/training_plan_detail.dart'; class TrainingPlan { late int trainingPlanId; - late String type; + String? type; late String name; - late String internalName; - late String description; + String? internalName; + String? description; late bool free; late bool active; int? treeId; @@ -28,7 +28,7 @@ class TrainingPlan { this.treeId = json['treeId']; nameTranslations['en'] = name; - descriptionTranslations['en'] = description; + descriptionTranslations['en'] = description ?? ""; if (json['translations'] != null && json['translations'].length > 0) { json['translations'].forEach((translation) { nameTranslations[translation['languageCode']] = translation['nameTranslation']; diff --git a/lib/model/training_plan_day.dart b/lib/model/training_plan_day.dart new file mode 100644 index 0000000..8286eb7 --- /dev/null +++ b/lib/model/training_plan_day.dart @@ -0,0 +1,29 @@ +import 'dart:collection'; + +class TrainingPlanDay { + late int dayId; + late String name; + + HashMap nameTranslations = HashMap(); + + TrainingPlanDay.fromJson(Map json) { + this.dayId = json['dayId']; + this.name = json['name']; + + nameTranslations['en'] = name; + if (json['translations'] != null && json['translations'].length > 0) { + json['translations'].forEach((translation) { + nameTranslations[translation['languageCode']] = translation['nameTranslation']; + }); + } + } + + Map toJson() => { + "dayId": this.dayId, + "name": this.name, + "nameTranslation": this.nameTranslations.toString(), + }; + + @override + String toString() => this.toJson().toString(); +} diff --git a/lib/model/training_plan_detail.dart b/lib/model/training_plan_detail.dart index d97a24e..bc299d8 100644 --- a/lib/model/training_plan_detail.dart +++ b/lib/model/training_plan_detail.dart @@ -1,14 +1,15 @@ class TrainingPlanDetail { late int trainingPlanDetailId; - late int trainingPlanId; + int? trainingPlanId; late int exerciseTypeId; late int sort; late int set; - late int repeats; - late double weight; - late int restingTime; - late bool parallel; - late String day; + int? repeats; + double? weight; + int? restingTime; + bool? parallel; + int? dayId; + String? day; TrainingPlanDetail.fromJson(Map json) { this.trainingPlanDetailId = json['trainingPlanDetailId']; @@ -20,7 +21,7 @@ class TrainingPlanDetail { this.weight = json['weight']; this.restingTime = json['restingTime']; this.parallel = json['parallel']; - this.day = json['day']; + this.dayId = json['dayId']; } Map toJson() => { @@ -32,6 +33,7 @@ class TrainingPlanDetail { "weight": this.weight, "restingTime": this.restingTime, "parallel": this.parallel, + "dayId": this.dayId, "day": this.day, }; diff --git a/lib/push_notifications.dart b/lib/push_notifications.dart deleted file mode 100644 index 882ea3d..0000000 --- a/lib/push_notifications.dart +++ /dev/null @@ -1,34 +0,0 @@ -import 'package:aitrainer_app/service/logging.dart'; -import 'package:firebase_messaging/firebase_messaging.dart'; -import 'package:flutter_local_notifications/flutter_local_notifications.dart'; - -class PushNotificationsManager with Logging { - PushNotificationsManager._(); - - factory PushNotificationsManager() => _instance; - - static final PushNotificationsManager _instance = PushNotificationsManager._(); - - Future init() async { - log(" --- Firebase Messagein init.."); - const AndroidNotificationChannel channel = AndroidNotificationChannel( - 'high_importance_channel', // id - 'High Importance Notifications', // title - 'This channel is used for important notifications.', // description - importance: Importance.max, - ); - final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin(); - - await flutterLocalNotificationsPlugin - .resolvePlatformSpecificImplementation() - ?.createNotificationChannel(channel); - - await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions( - alert: true, // Required to display a heads up notification - badge: true, - sound: true, - ); - String? token = await FirebaseMessaging.instance.getToken(); - log("FirebaseMessaging token $token"); - } -} diff --git a/lib/repository/training_plan_day_repository.dart b/lib/repository/training_plan_day_repository.dart new file mode 100644 index 0000000..14e5443 --- /dev/null +++ b/lib/repository/training_plan_day_repository.dart @@ -0,0 +1,35 @@ +import 'package:aitrainer_app/model/cache.dart'; +import 'package:aitrainer_app/model/training_plan.dart'; +import 'package:aitrainer_app/util/app_language.dart'; + +class TrainingPlanDayRepository { + const TrainingPlanDayRepository(); + + void assignTrainingPlanDays() { + List? plans = Cache().getTrainingPlans(); + if (plans == null) { + return; + } + plans.forEach((plan) { + if (plan.details != null) { + plan.details!.forEach((element) { + element.day = this.getNameById(element.dayId); + }); + } + }); + } + + String? getNameById(int? dayId) { + if (dayId == null) { + return ""; + } + String? name; + for (var day in Cache().getTrainingPlanDays()) { + if (day.dayId == dayId) { + name = day.nameTranslations[AppLanguage().appLocal.languageCode]; + break; + } + } + return name; + } +} diff --git a/lib/repository/training_plan_repository.dart b/lib/repository/training_plan_repository.dart index 819674c..84ad968 100644 --- a/lib/repository/training_plan_repository.dart +++ b/lib/repository/training_plan_repository.dart @@ -5,6 +5,7 @@ import 'package:aitrainer_app/model/exercise.dart'; import 'package:aitrainer_app/model/exercise_plan_detail.dart'; import 'package:aitrainer_app/model/exercise_tree.dart'; import 'package:aitrainer_app/model/training_plan.dart'; +import 'package:aitrainer_app/repository/training_plan_day_repository.dart'; import 'package:aitrainer_app/service/training_plan_service.dart'; import 'package:aitrainer_app/util/common.dart'; @@ -66,6 +67,7 @@ class TrainingPlanRepository { // 3 calculate weights int index = 0; + trainingPlan.details!.forEach((elem) { CustomerTrainingPlanDetails detail = CustomerTrainingPlanDetails(); detail.customerTrainingPlanDetailsId = ++index; @@ -73,7 +75,9 @@ class TrainingPlanRepository { detail.exerciseTypeId = elem.exerciseTypeId; detail.repeats = elem.repeats; detail.set = elem.set; - detail.day = elem.day; + detail.dayId = elem.dayId; + TrainingPlanDayRepository trainingPlanDayRepository = TrainingPlanDayRepository(); + detail.day = trainingPlanDayRepository.getNameById(elem.dayId); detail.parallel = elem.parallel; detail.restingTime = elem.restingTime; detail.exerciseType = Cache().getExerciseTypeById(detail.exerciseTypeId!); @@ -83,6 +87,13 @@ class TrainingPlanRepository { } else { detail.weight = 0; } + } else if (elem.weight == -2) { + final CustomerTrainingPlanDetails calculated = this.isWeightCalculatedByExerciseType(elem.exerciseTypeId, detail, plan); + if (calculated.weight != -1) { + detail.weight = calculated.weight; + } else { + detail.weight = -2; + } } else { detail.weight = elem.weight; } @@ -98,6 +109,19 @@ class TrainingPlanRepository { return plan; } + CustomerTrainingPlanDetails isWeightCalculatedByExerciseType( + int exerciseTypeId, CustomerTrainingPlanDetails detail, CustomerTrainingPlan plan) { + CustomerTrainingPlanDetails calculated = detail; + for (var element in plan.details) { + if (element.exerciseTypeId == exerciseTypeId) { + calculated = element; + break; + } + } + + return calculated; + } + TrainingPlan? getTrainingPlanById(int trainingPlanId) { TrainingPlan? plan; if (Cache().getTrainingPlans() == null) { @@ -148,8 +172,9 @@ class TrainingPlanRepository { return detail; } - CustomerTrainingPlanDetails recalculateDetail(int trainingPlanId, CustomerTrainingPlanDetails detail) { - CustomerTrainingPlanDetails recalculatedDetail = detail; + CustomerTrainingPlanDetails recalculateDetail( + int trainingPlanId, CustomerTrainingPlanDetails detail, CustomerTrainingPlanDetails nextDetail) { + CustomerTrainingPlanDetails recalculatedDetail = nextDetail; // 1. get original repeats @@ -164,14 +189,14 @@ class TrainingPlanRepository { plan.details!.forEach((element) { if (element.trainingPlanDetailId == detail.trainingPlanDetailsId) { print("element $element"); - originalRepeats = element.repeats; + originalRepeats = element.repeats ?? 0; } }); // 2 get recalculated repeats - recalculatedDetail.weight = Common.calculateWeigthByChangedQuantity(detail.weight!, detail.repeats!.toDouble(), originalRepeats.toDouble()); + recalculatedDetail.weight = Common.roundWeight(recalculatedDetail.weight!); print("recalculated repeats for $originalRepeats: ${recalculatedDetail.weight}"); recalculatedDetail.repeats = originalRepeats; diff --git a/lib/repository/workout_tree_repository.dart b/lib/repository/workout_tree_repository.dart index 27076d9..d7e43b7 100644 --- a/lib/repository/workout_tree_repository.dart +++ b/lib/repository/workout_tree_repository.dart @@ -112,10 +112,10 @@ class WorkoutTreeRepository with Logging { 0, ""); this.tree[exerciseType.name] = menuItem; - if (isRunning || is1RM) { + if (isRunning || is1RM || exerciseType.name == "Warming Up" || exerciseType.name == "Stretching") { menuAsExercise.add(menuItem); } - //log("ExerciseType in Menu item ${exerciseType.toJson()} is1RM: $is1RM"); + //log("ExerciseType in Menu item ${exerciseType.toJson()}"); }); } else { //log("No Parents " + exerciseType.toJson().toString()); diff --git a/lib/service/firebase_api.dart b/lib/service/firebase_api.dart index 0ae3f0b..7369aef 100644 --- a/lib/service/firebase_api.dart +++ b/lib/service/firebase_api.dart @@ -1,15 +1,20 @@ +import 'dart:math' as math; +import 'dart:convert'; +import 'package:crypto/crypto.dart'; import 'package:aitrainer_app/model/cache.dart'; import 'package:aitrainer_app/service/logging.dart' as logging; -import 'package:apple_sign_in/apple_sign_in.dart'; +import 'package:sign_in_with_apple/sign_in_with_apple.dart'; +import 'package:awesome_notifications/awesome_notifications.dart'; import 'package:firebase_auth/firebase_auth.dart'; import 'package:firebase_core/firebase_core.dart'; +import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_remote_config/firebase_remote_config.dart'; +import 'package:flutter/material.dart'; import 'package:flutter_facebook_auth/flutter_facebook_auth.dart'; import 'package:google_sign_in/google_sign_in.dart'; class FirebaseApi with logging.Logging { bool appleSignInAvailable = false; - //late FirebaseApi _instance; static final FirebaseAuth auth = FirebaseAuth.instance; @@ -29,15 +34,69 @@ class FirebaseApi with logging.Logging { Future initializeFlutterFire() async { try { // Wait for Firebase to initialize and set `_initialized` state to true - FirebaseApp app = await Firebase.initializeApp(); + await Firebase.initializeApp(); - this.appleSignInAvailable = await AppleSignIn.isAvailable(); + this.appleSignInAvailable = await SignInWithApple.isAvailable(); + AwesomeNotifications().initialize( + // set the icon to null if you want to use the default app icon + null, + [ + NotificationChannel( + channelKey: 'basic_channel', + channelName: 'Basic notifications', + channelDescription: 'Notification channel for basic tests', + defaultColor: Color(0xFF9D50DD), + ledColor: Colors.white) + ]); + + AwesomeNotifications().isNotificationAllowed().then((isAllowed) { + if (!isAllowed) { + // Insert here your friendly dialog box before call the request method + // This is very important to not harm the user experience + AwesomeNotifications().requestPermissionToSendNotifications(); + } + }); + + await FirebaseMessaging.instance.setForegroundNotificationPresentationOptions( + alert: true, // Required to display a heads up notification + badge: true, + sound: true, + ); + String? token = await FirebaseMessaging.instance.getToken(); + FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandler); + log("FirebaseMessaging token $token"); } catch (e) { // Set `_error` state to true if Firebase initialization fails log("Error initializing Firebase"); } } + Future _firebaseMessagingBackgroundHandler(RemoteMessage message) async { + print('Handling a background message: ${message.messageId}'); + + if (!StringUtils.isNullOrEmpty(message.notification?.title, considerWhiteSpaceAsEmpty: true) || + !StringUtils.isNullOrEmpty(message.notification?.body, considerWhiteSpaceAsEmpty: true)) { + print('message also contained a notification: ${message.notification}'); + + String? imageUrl; + imageUrl ??= message.notification!.android?.imageUrl; + imageUrl ??= message.notification!.apple?.imageUrl; + + Map notificationAdapter = { + NOTIFICATION_CHANNEL_KEY: 'basic_channel', + NOTIFICATION_ID: message.data[NOTIFICATION_CONTENT]?[NOTIFICATION_ID] ?? message.messageId ?? math.Random().nextInt(2147483647), + NOTIFICATION_TITLE: message.data[NOTIFICATION_CONTENT]?[NOTIFICATION_TITLE] ?? message.notification?.title, + NOTIFICATION_BODY: message.data[NOTIFICATION_CONTENT]?[NOTIFICATION_BODY] ?? message.notification?.body, + NOTIFICATION_LAYOUT: StringUtils.isNullOrEmpty(imageUrl) ? 'Default' : 'BigPicture', + NOTIFICATION_BIG_PICTURE: imageUrl + }; + + AwesomeNotifications().createNotificationFromJsonData(notificationAdapter); + } else { + AwesomeNotifications().createNotificationFromJsonData(message.data); + } + } + Future signInEmail(String? email, String? password) async { if (email == null) { throw Exception("Please type an email address"); @@ -85,20 +144,33 @@ class FirebaseApi with logging.Logging { return rc; } + String generateNonce([int length = 32]) { + final charset = '0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._'; + final random = math.Random.secure(); + return List.generate(length, (_) => charset[random.nextInt(charset.length)]).join(); + } + + /// Returns the sha256 hash of [input] in hex notation. + String sha256ofString(String input) { + final bytes = utf8.encode(input); + final digest = sha256.convert(bytes); + return digest.toString(); + } + Future> signInWithApple() async { Map userData = Map(); - final AuthorizationResult result = await AppleSignIn.performRequests([ - AppleIdRequest(requestedScopes: [Scope.email, Scope.fullName]) + /* final apple.AuthorizationResult result = await SignInWithApple.performRequests([ + apple.AppleIdRequest(requestedScopes: [apple.Scope.email, apple.Scope.fullName]) ]); switch (result.status) { - case AuthorizationStatus.authorized: + case apple.AuthorizationStatus.authorized: print('User authorized'); break; - case AuthorizationStatus.error: + case apple.AuthorizationStatus.error: print('User error'); throw Exception("Apple Sign-In failed"); - case AuthorizationStatus.cancelled: + case apple.AuthorizationStatus.cancelled: print('User cancelled'); throw Exception("Apple Sign-In cancelled"); } @@ -106,20 +178,36 @@ class FirebaseApi with logging.Logging { // Create an `OAuthCredential` from the credential returned by Apple. final oauthCredential = OAuthProvider("apple.com").credential( idToken: String.fromCharCodes(result.credential.identityToken), - accessToken: String.fromCharCodes(result.credential.authorizationCode)); + accessToken: String.fromCharCodes(result.credential.authorizationCode!)); + */ + // To prevent replay attacks with the credential returned from Apple, we + // include a nonce in the credential request. When signing in with + // Firebase, the nonce in the id token returned by Apple, is expected to + // match the sha256 hash of `rawNonce`. + final rawNonce = generateNonce(); + final nonce = sha256ofString(rawNonce); + // Request credential for the currently signed in Apple account. + final appleCredential = await SignInWithApple.getAppleIDCredential( + scopes: [ + AppleIDAuthorizationScopes.email, + AppleIDAuthorizationScopes.fullName, + ], + nonce: nonce, + ); + + // Create an `OAuthCredential` from the credential returned by Apple. + final oauthCredential = OAuthProvider("apple.com").credential( + idToken: appleCredential.identityToken, + rawNonce: rawNonce, + ); // Sign in the user with Firebase. If the nonce we generated earlier does // not match the nonce in `appleCredential.identityToken`, sign in will fail. UserCredential userCredential = await FirebaseAuth.instance.signInWithCredential(oauthCredential); Cache().firebaseUid = userCredential.user!.uid; log("userCredential: " + userCredential.toString()); - log("Apple Credentials: " + - result.credential.user.toString() + - " state " + - result.credential.state.toString() + - " email " + - userCredential.user!.email!); + log("Apple Credentials: ${appleCredential.userIdentifier} state ${appleCredential.state} email ${userCredential.user!.email!}"); userData['email'] = userCredential.user!.email; return userData; @@ -127,26 +215,43 @@ class FirebaseApi with logging.Logging { Future> registerWithApple() async { Map userData = Map(); - final AuthorizationResult result = await AppleSignIn.performRequests([ - AppleIdRequest(requestedScopes: [Scope.email, Scope.fullName]) + /* final apple.AuthorizationResult result = await apple.TheAppleSignIn.performRequests([ + apple.AppleIdRequest(requestedScopes: [apple.Scope.email, apple.Scope.fullName]) ]); switch (result.status) { - case AuthorizationStatus.authorized: + case apple.AuthorizationStatus.authorized: print('Apple User authorized'); break; - case AuthorizationStatus.error: + case apple.AuthorizationStatus.error: print('Apple User error'); throw Exception("Apple Sign-In failed"); - case AuthorizationStatus.cancelled: + case apple.AuthorizationStatus.cancelled: print('User cancelled'); throw Exception("Apple Sign-In cancelled"); } + */ + final rawNonce = generateNonce(); + final nonce = sha256ofString(rawNonce); - // Create an `OAuthCredential` from the credential returned by Apple. + // Request credential for the currently signed in Apple account. + final appleCredential = await SignInWithApple.getAppleIDCredential( + scopes: [ + AppleIDAuthorizationScopes.email, + AppleIDAuthorizationScopes.fullName, + ], + nonce: nonce, + ); + + final oauthCredential = OAuthProvider("apple.com").credential( + idToken: appleCredential.identityToken, + rawNonce: rawNonce, + ); + + /* // Create an `OAuthCredential` from the credential returned by Apple. final oauthCredential = OAuthProvider("apple.com").credential( idToken: String.fromCharCodes(result.credential.identityToken), accessToken: String.fromCharCodes(result.credential.authorizationCode)); - + */ // Sign in the user with Firebase. If the nonce we generated earlier does // not match the nonce in `appleCredential.identityToken`, sign in will fail. UserCredential userCredential = await FirebaseAuth.instance.signInWithCredential(oauthCredential); diff --git a/lib/service/package_service.dart b/lib/service/package_service.dart index 73d8a2f..32e0477 100644 --- a/lib/service/package_service.dart +++ b/lib/service/package_service.dart @@ -19,7 +19,9 @@ import 'package:aitrainer_app/model/property.dart'; import 'package:aitrainer_app/model/purchase.dart'; import 'package:aitrainer_app/model/split_test.dart'; import 'package:aitrainer_app/model/training_plan.dart'; +import 'package:aitrainer_app/model/training_plan_day.dart'; import 'package:aitrainer_app/model/tutorial.dart'; +import 'package:aitrainer_app/repository/training_plan_day_repository.dart'; import 'package:aitrainer_app/service/api.dart'; import 'package:aitrainer_app/service/exercise_type_service.dart'; import 'package:aitrainer_app/util/not_found_exception.dart'; @@ -105,6 +107,10 @@ class PackageApi { final List? tests = json.map((test) => SplitTest.fromJson(test)).toList(); //print("A/B tests: $tests"); Cache().setSplitTests(tests); + } else if (headRecord[0] == "TrainingPlanDay") { + final Iterable json = jsonDecode(headRecord[1]); + final List? days = json.map((day) => TrainingPlanDay.fromJson(day)).toList(); + Cache().setTrainingPlanDays(days); } }); @@ -114,9 +120,11 @@ class PackageApi { ExerciseTree tree = element as ExerciseTree; tree.imageUrl = await ExerciseTreeApi().buildImage(tree.imageUrl, tree.treeId); }); - //print("tree: $exerciseTree"); Cache().setExerciseTree(exerciseTree); + TrainingPlanDayRepository trainingPlanDayRepository = TrainingPlanDayRepository(); + trainingPlanDayRepository.assignTrainingPlanDays(); + return; } diff --git a/lib/util/track.dart b/lib/util/track.dart index 3bf721a..76c5993 100644 --- a/lib/util/track.dart +++ b/lib/util/track.dart @@ -5,7 +5,7 @@ import 'package:aitrainer_app/service/tracking_service.dart'; import 'package:aitrainer_app/util/enums.dart'; import 'package:aitrainer_app/model/tracking.dart' as model; import 'package:firebase_analytics/firebase_analytics.dart'; -import 'package:flurry/flurry.dart'; +import 'package:flurry_data/flurry_data.dart'; import 'package:flutter_uxcam/flutter_uxcam.dart'; class Track with Logging { @@ -20,7 +20,7 @@ class Track with Logging { void track(TrackingEvent event, {String eventValue = ""}) { if (!isInDebugMode) { - Flurry.logEvent(event.toString()); + FlurryData.logEvent(event.toString()); // Smartlook.setGlobalEventProperty(event.toString(), eventValue, false); FlutterUxcam.logEventWithProperties(event.enumToString(), {"value": eventValue}); model.Tracking tracking = model.Tracking(); diff --git a/lib/view/registration.dart b/lib/view/registration.dart index ba5bd00..2e59dde 100644 --- a/lib/view/registration.dart +++ b/lib/view/registration.dart @@ -202,8 +202,8 @@ class RegistrationPage extends StatelessWidget with Trans { Divider( color: Colors.transparent, ), - getDataProtection(loginBloc), - loginBloc.emailCheckbox ? getEmailSubscription(loginBloc) : Offstage(), + // getDataProtection(loginBloc), + // loginBloc.emailCheckbox ? getEmailSubscription(loginBloc) : Offstage(), Divider( color: Colors.transparent, ), diff --git a/lib/view/training_plan_activate_page.dart b/lib/view/training_plan_activate_page.dart index 3473152..43d7021 100644 --- a/lib/view/training_plan_activate_page.dart +++ b/lib/view/training_plan_activate_page.dart @@ -254,7 +254,7 @@ class TrainingPlanActivatePage extends StatelessWidget with Trans { ElevatedButton( style: ElevatedButton.styleFrom( onPrimary: Colors.white, - primary: Colors.orange, + primary: restricted ? Colors.grey[600] : Colors.orange, ), child: Text(t("Start")), onPressed: () { @@ -294,15 +294,25 @@ class TrainingPlanActivatePage extends StatelessWidget with Trans { } }, ), - restricted + /* restricted ? Container( padding: EdgeInsets.only(bottom: 8), child: Text( t("This is a premium function"), - style: GoogleFonts.inter(color: Colors.blue[700]), + style: GoogleFonts.inter( + color: Colors.deepOrange[800], + fontWeight: FontWeight.bold, + shadows: [ + Shadow( + offset: Offset(2.0, 2.0), + blurRadius: 4.0, + color: Colors.black54, + ), + ], + ), ), ) - : Offstage(), + : Offstage(), */ ]), ))); @@ -352,7 +362,7 @@ class TrainingPlanActivatePage extends StatelessWidget with Trans { Widget getPlanDetails(TrainingPlan plan, TrainingPlanBloc bloc) { return SfDataGrid( headerRowHeight: 30, - rowHeight: 45, + rowHeight: 60, source: TrainingPlanDetailSource( plan: plan, menuBloc: bloc.menuBloc, @@ -390,14 +400,33 @@ class TrainingPlanActivatePage extends StatelessWidget with Trans { Navigator.of(context).pop(), }, ); + }), + }, + onDropsetTap: () => { + showDialog( + context: context, + builder: (BuildContext context) { + return DialogCommon( + title: t("Dropset"), + descriptions: t("A drop set is an advanced resistance training technique "), + description2: + t(" in which you focus on completing a set until failure - or the inability to do another repetition."), + text: "OK", + onTap: () => { + Navigator.of(context).pop(), + }, + onCancel: () => { + Navigator.of(context).pop(), + }, + ); }) }), headerGridLinesVisibility: GridLinesVisibility.both, gridLinesVisibility: GridLinesVisibility.both, columns: [ GridTextColumn( - //columnWidthMode: ColumnWidthMode.lastColumnFill, - maximumWidth: 120, + columnWidthMode: ColumnWidthMode.lastColumnFill, + maximumWidth: 160, columnName: 'exerciseImage', label: Container( color: Colors.green[50], @@ -472,11 +501,13 @@ class TrainingPlanActivatePage extends StatelessWidget with Trans { class TrainingPlanDetailSource extends DataGridSource { final TrainingPlan plan; final MenuBloc menuBloc; + final VoidCallback onDropsetTap; final VoidCallback onWeightTap; final VoidCallback onRepeatTap; TrainingPlanDetailSource({ required this.plan, required this.menuBloc, + required this.onDropsetTap, required this.onWeightTap, required this.onRepeatTap, }) { @@ -540,7 +571,7 @@ class TrainingPlanDetailSource extends DataGridSource { ]), )) ]) - : dataGridCell.columnName == "weight" && dataGridCell.value == -1 + : dataGridCell.columnName == "weight" && (dataGridCell.value == -1 || dataGridCell.value == -2) ? GestureDetector( onTap: () { onWeightTap(); @@ -549,21 +580,30 @@ class TrainingPlanDetailSource extends DataGridSource { CustomIcon.question_circle, color: Colors.indigo[300], )) - : dataGridCell.columnName == "reps" && dataGridCell.value == -1 + : dataGridCell.columnName == "weight" && dataGridCell.value == -3 ? GestureDetector( onTap: () { - onRepeatTap(); + onDropsetTap(); }, child: Icon( CustomIcon.question_circle, - color: Colors.indigo[600], + color: Colors.orange[400], )) - : Text(dataGridCell.value.toString(), - style: GoogleFonts.inter( - fontSize: 14, - color: Colors.indigo, - fontWeight: FontWeight.bold, - ))); + : dataGridCell.columnName == "reps" && dataGridCell.value == -1 + ? GestureDetector( + onTap: () { + onRepeatTap(); + }, + child: Icon( + CustomIcon.question_circle, + color: Colors.indigo[600], + )) + : Text(dataGridCell.value.toString(), + style: GoogleFonts.inter( + fontSize: 14, + color: Colors.indigo, + fontWeight: FontWeight.bold, + ))); }).toList()); } } diff --git a/lib/view/training_plan_execute_page.dart b/lib/view/training_plan_execute_page.dart index 398d32f..fb23b98 100644 --- a/lib/view/training_plan_execute_page.dart +++ b/lib/view/training_plan_execute_page.dart @@ -8,8 +8,10 @@ import 'package:aitrainer_app/util/app_localization.dart'; import 'package:aitrainer_app/util/trans.dart'; import 'package:aitrainer_app/widgets/app_bar.dart'; import 'package:aitrainer_app/widgets/dialog_common.dart'; +import 'package:aitrainer_app/widgets/dialog_html.dart'; import 'package:aitrainer_app/widgets/menu_image.dart'; import 'package:aitrainer_app/widgets/victory_widget.dart'; +import 'package:badges/badges.dart'; import 'package:extended_tabs/extended_tabs.dart'; import 'package:ezanimation/ezanimation.dart'; import 'package:flutter/cupertino.dart'; @@ -125,6 +127,7 @@ class _ExerciseTabs extends State with TickerProviderStateMixin { @override void initState() { super.initState(); + print("init TAB ${widget.bloc.dayNames.length} index ${widget.bloc.activeDayIndex}"); tabController = TabController(length: widget.bloc.dayNames.length, vsync: this); tabController.animateTo(widget.bloc.activeDayIndex, duration: Duration(milliseconds: 300)); } @@ -143,6 +146,13 @@ class _ExerciseTabs extends State with TickerProviderStateMixin { Widget getTabs(TrainingPlanBloc bloc) { return Column(children: [ ExtendedTabBar( + indicator: BoxDecoration( + color: Colors.black87, + border: Border( + bottom: BorderSide(width: 4.0, color: Colors.blue), + top: BorderSide(width: 4.0, color: Colors.blue), + )), + labelPadding: EdgeInsets.only(left: 5, right: 5), tabs: getTabNames(), controller: tabController, onTap: (index) => bloc.activeDayIndex = index, @@ -168,52 +178,57 @@ class _ExerciseTabs extends State with TickerProviderStateMixin { List getTabNames() { List tabs = []; widget.bloc.dayNames.forEach((element) { - final Widget widget = RichText( - text: TextSpan( - style: GoogleFonts.inter( - fontSize: 14, - fontWeight: FontWeight.bold, - color: Colors.white, - ), - children: [ - TextSpan( - text: AppLocalizations.of(context)!.translate("Training Day") + ": \n", - style: GoogleFonts.inter( - fontSize: 14, - color: Colors.white, - shadows: [ - Shadow( - offset: Offset(5.0, 5.0), - blurRadius: 12.0, - color: Colors.black54, - ), - Shadow( - offset: Offset(-3.0, 3.0), - blurRadius: 12.0, - color: Colors.black54, - ), - ], - )), - TextSpan( - text: element, - style: GoogleFonts.inter( - fontSize: 14, - fontWeight: FontWeight.bold, - color: Colors.yellow[400], - shadows: [ - Shadow( - offset: Offset(5.0, 5.0), - blurRadius: 12.0, - color: Colors.black54, - ), - Shadow( - offset: Offset(-3.0, 3.0), - blurRadius: 12.0, - color: Colors.black54, - ), - ], - )), - ])); + final Widget widget = Container( + //height: 50, + padding: EdgeInsets.only(top: 2, left: 5, right: 5, bottom: 2), + color: Colors.white24, + child: RichText( + textScaleFactor: 0.8, + text: TextSpan( + style: GoogleFonts.inter( + fontSize: 14, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + children: [ + TextSpan( + text: AppLocalizations.of(context)!.translate("Training Day") + ": \n", + style: GoogleFonts.inter( + fontSize: 14, + color: Colors.white, + shadows: [ + Shadow( + offset: Offset(5.0, 5.0), + blurRadius: 12.0, + color: Colors.black54, + ), + Shadow( + offset: Offset(-3.0, 3.0), + blurRadius: 12.0, + color: Colors.black54, + ), + ], + )), + TextSpan( + text: element, + style: GoogleFonts.inter( + fontSize: 14, + fontWeight: FontWeight.bold, + color: Colors.yellow[400], + shadows: [ + Shadow( + offset: Offset(5.0, 5.0), + blurRadius: 12.0, + color: Colors.black54, + ), + Shadow( + offset: Offset(-3.0, 3.0), + blurRadius: 12.0, + color: Colors.black54, + ), + ], + )), + ]))); tabs.add(Tab(child: widget)); }); @@ -559,11 +574,17 @@ class _ExerciseTileState extends State with Trans { @override Widget build(BuildContext context) { setContext(context); + print("detail ${widget.detail}"); final ExercisePlanDetailState state = widget.detail.state; final bool done = state.equalsTo(ExercisePlanDetailState.finished) || state.equalsTo(ExercisePlanDetailState.skipped); final String countSerie = widget.detail.set.toString(); final String step = (widget.detail.exercises.length).toString(); String weight = widget.detail.weight != null ? widget.detail.weight!.toStringAsFixed(1) : "-"; + bool isDrop = false; + if (widget.detail.weight == -3) { + weight = t("DROP"); + isDrop = true; + } String restingTime = widget.detail.restingTime == null ? "" : widget.detail.restingTime!.toStringAsFixed(0); bool isTest = false; if (widget.detail.weight != null && widget.detail.weight! == -1) { @@ -574,6 +595,9 @@ class _ExerciseTileState extends State with Trans { if (widget.detail.repeats! == -1) { repeats = t("MAX"); } + final bool extraExercise = widget.detail.exerciseType!.name == "Warming Up" || widget.detail.exerciseType!.name == "Stretching"; + + bool buddyWarning = widget.detail.exerciseType == null ? false : widget.detail.exerciseType!.buddyWarning; setContext(context); return Container( color: Colors.transparent, @@ -620,10 +644,58 @@ class _ExerciseTileState extends State with Trans { Container( width: 120, height: 80, - child: MenuImage( - imageName: widget.bloc.getActualImageName(widget.detail.exerciseType!.exerciseTypeId), - workoutTreeId: widget.bloc.getActualWorkoutTreeId(widget.detail.exerciseType!.exerciseTypeId)!, - ), + child: Badge( + elevation: 0, + padding: EdgeInsets.all(0), + position: BadgePosition.bottomStart(start: -5), + animationDuration: Duration(milliseconds: 500), + animationType: BadgeAnimationType.slide, + badgeColor: Colors.transparent, + showBadge: true, + badgeContent: IconButton( + onPressed: () => showDialog( + context: context, + builder: (BuildContext context) { + return DialogHTML( + title: widget.detail.exerciseType!.nameTranslation, + htmlData: '

' + widget.detail.exerciseType!.descriptionTranslation + '

'); + }), + icon: Icon( + Icons.info_outline, + color: Colors.yellow[200], + )), + child: Badge( + elevation: 0, + padding: EdgeInsets.all(0), + position: BadgePosition.topEnd(end: -8), + animationDuration: Duration(milliseconds: 500), + animationType: BadgeAnimationType.slide, + badgeColor: Colors.transparent, + showBadge: buddyWarning, + badgeContent: IconButton( + onPressed: () => showDialog( + context: context, + builder: (BuildContext context) { + return DialogCommon( + warning: true, + text: "Warning", + descriptions: t("Attention!"), + description2: t("The safe and exact execution of this exercise you need a training buddy or a trainer"), + description3: t("Execution at your own risk!"), + onTap: () => Navigator.of(context).pop(), + onCancel: () => Navigator.of(context).pop(), + title: t('Training Buddy'), + ); + }), + icon: Icon( + CustomIcon.exclamation_circle, + color: Colors.red[800], + )), + child: MenuImage( + imageName: widget.bloc.getActualImageName(widget.detail.exerciseType!.exerciseTypeId), + workoutTreeId: widget.bloc.getActualWorkoutTreeId(widget.detail.exerciseType!.exerciseTypeId)!, + radius: 12, + ))), ), SizedBox( width: 10, @@ -656,18 +728,18 @@ class _ExerciseTileState extends State with Trans { ), ], )), - widget.detail.exerciseType!.unitQuantityUnit != null + widget.detail.exerciseType!.unitQuantityUnit != null && !extraExercise ? TextSpan( text: "\n", ) : TextSpan(), - widget.detail.exerciseType!.unitQuantityUnit != null + widget.detail.exerciseType!.unitQuantityUnit != null && !extraExercise ? TextSpan( text: t(widget.detail.exerciseType!.unitQuantityUnit!) + ": ", style: GoogleFonts.inter( fontSize: 12, color: done ? Colors.grey[100] : Colors.yellow[400], fontWeight: FontWeight.bold)) : TextSpan(), - widget.detail.exerciseType!.unitQuantityUnit != null + widget.detail.exerciseType!.unitQuantityUnit != null && !extraExercise ? TextSpan( text: weight, style: GoogleFonts.inter( @@ -677,37 +749,50 @@ class _ExerciseTileState extends State with Trans { TextSpan( text: "\n", ), - TextSpan( - text: t(widget.detail.exerciseType!.unit) + ": ", - style: GoogleFonts.inter( - fontSize: 12, color: done ? Colors.grey[100] : Colors.yellow[400], fontWeight: FontWeight.bold)), - TextSpan( - text: repeats, - style: GoogleFonts.inter( - fontSize: 12, - )), + !extraExercise + ? TextSpan( + text: t(widget.detail.exerciseType!.unit) + ": ", + style: GoogleFonts.inter( + fontSize: 12, color: done ? Colors.grey[100] : Colors.yellow[400], fontWeight: FontWeight.bold)) + : TextSpan(), + !extraExercise + ? TextSpan( + text: repeats, + style: GoogleFonts.inter( + fontSize: 12, + )) + : TextSpan(), TextSpan( text: "\n", ), - TextSpan( - text: t("Set") + ": ", - style: GoogleFonts.inter( - fontSize: 12, color: done ? Colors.grey[100] : Colors.yellow[400], fontWeight: FontWeight.bold)), - TextSpan( - text: step + "/" + countSerie, - style: GoogleFonts.inter( - fontSize: 12, - )), + !extraExercise + ? TextSpan( + text: t("Set") + ": ", + style: GoogleFonts.inter( + fontSize: 12, color: done ? Colors.grey[100] : Colors.yellow[400], fontWeight: FontWeight.bold)) + : TextSpan(), + !extraExercise + ? TextSpan( + text: step + "/" + countSerie, + style: GoogleFonts.inter( + fontSize: 12, + )) + : TextSpan(), TextSpan( text: "\n", ), - TextSpan( - text: t("Resting time") + ": ", - style: GoogleFonts.inter( - fontSize: 12, color: done ? Colors.grey[100] : Colors.yellow[400], fontWeight: FontWeight.bold)), - TextSpan( - text: restingTime + " " + t("min(s)"), - style: GoogleFonts.inter(fontSize: 12, color: done ? Colors.grey[100] : Colors.white, fontWeight: FontWeight.bold)), + !extraExercise + ? TextSpan( + text: t("Resting time") + ": ", + style: GoogleFonts.inter( + fontSize: 12, color: done ? Colors.grey[100] : Colors.yellow[400], fontWeight: FontWeight.bold)) + : TextSpan(), + !extraExercise + ? TextSpan( + text: restingTime + " " + t("min(s)"), + style: + GoogleFonts.inter(fontSize: 12, color: done ? Colors.grey[100] : Colors.white, fontWeight: FontWeight.bold)) + : TextSpan(), ]), )), isTest @@ -740,7 +825,35 @@ class _ExerciseTileState extends State with Trans { )), ]); }) - : Offstage() + : isDrop + ? AnimatedBuilder( + animation: animation, + builder: (context, snapshot) { + return Column(mainAxisAlignment: MainAxisAlignment.center, children: [ + GestureDetector( + onTap: () => showDialog( + context: context, + builder: (BuildContext context) { + return DialogCommon( + warning: false, + title: t("Drop set"), + descriptions: t("Drop set"), + description2: t("Recommended method:"), + text: "OK", + onTap: () => Navigator.of(context).pop(), + onCancel: () => { + Navigator.of(context).pop(), + }, + ); + }), + child: Icon( + CustomIcon.question_circle, + color: Colors.orange[200], + size: 16, + )), + ]); + }) + : Offstage() ]), ), ), diff --git a/lib/view/training_plan_exercise.dart b/lib/view/training_plan_exercise.dart index 9617ed0..4adfa5d 100644 --- a/lib/view/training_plan_exercise.dart +++ b/lib/view/training_plan_exercise.dart @@ -6,7 +6,6 @@ import 'package:aitrainer_app/model/customer_training_plan_details.dart'; import 'package:aitrainer_app/util/trans.dart'; import 'package:aitrainer_app/widgets/app_bar.dart'; import 'package:aitrainer_app/widgets/exercise_save.dart'; -import 'package:aitrainer_app/widgets/number_picker.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:google_fonts/google_fonts.dart'; @@ -43,7 +42,7 @@ class TrainingPlanExercise extends StatelessWidget with Trans { }, builder: (context, state) { return ModalProgressHUD( child: getExercises(bloc, detail), - inAsyncCall: state is TrainingPlanLoading, + inAsyncCall: state is TrainingPlanExerciseLoading, opacity: 0.5, color: Colors.black54, progressIndicator: CircularProgressIndicator(), @@ -52,6 +51,7 @@ class TrainingPlanExercise extends StatelessWidget with Trans { ), floatingActionButton: Row(mainAxisAlignment: MainAxisAlignment.end, children: [ FloatingActionButton.extended( + heroTag: "skipButton", onPressed: () => { Navigator.of(context).pop(), bloc.add(TrainingPlanSkipExercise(detail: detail)), @@ -67,6 +67,7 @@ class TrainingPlanExercise extends StatelessWidget with Trans { width: 20, ), FloatingActionButton.extended( + heroTag: "saveButton", onPressed: () => { Navigator.of(context).pop(), bloc.add(TrainingPlanSaveExercise(detail: detail)), @@ -111,7 +112,7 @@ class TrainingPlanExercise extends StatelessWidget with Trans { ); } - Widget getExerciseForm(TrainingPlanBloc bloc, CustomerTrainingPlanDetails detail) { + /* Widget getExerciseForm(TrainingPlanBloc bloc, CustomerTrainingPlanDetails detail) { return Container( padding: const EdgeInsets.only(top: 10, left: 25, right: 25), child: SingleChildScrollView( @@ -224,5 +225,5 @@ class TrainingPlanExercise extends StatelessWidget with Trans { crossAxisAlignment: CrossAxisAlignment.start, children: listWidgets, ); - } + } */ } diff --git a/lib/view/training_plans_page.dart b/lib/view/training_plans_page.dart index d778eac..1216a3f 100644 --- a/lib/view/training_plans_page.dart +++ b/lib/view/training_plans_page.dart @@ -85,6 +85,7 @@ class MyTrainingPlans extends StatelessWidget with Trans, Logging { getTrainingPlan(t("Training Plans for Women"), "asset/menu/training_plans_q_woman.jpg", "for_woman"), getTrainingPlan(t("Training Plans of Celebrities"), "asset/menu/training_plans_q_celebrities.jpg", "celebrities"), getTrainingPlan(t("Training Plans for Gain Strength"), "asset/menu/training_plans_q_gain_strength.jpg", "gain_strength"), + getTrainingPlan(t("Physical Prepare Program for Footgolfers"), "asset/menu/FG_2_edz.jpg", "footgolf"), ]), gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( crossAxisCount: 2, diff --git a/lib/widgets/menu_image.dart b/lib/widgets/menu_image.dart index 40e53f9..3fc511f 100644 --- a/lib/widgets/menu_image.dart +++ b/lib/widgets/menu_image.dart @@ -4,6 +4,7 @@ import 'package:flutter/material.dart'; import 'package:aitrainer_app/library/image_cache.dart' as wt; import 'package:aitrainer_app/library/transparent_image.dart'; +// ignore: must_be_immutable class MenuImage extends StatelessWidget { final int? workoutTreeId; final String imageName; diff --git a/lib/widgets/treeview_parent_widget.dart b/lib/widgets/treeview_parent_widget.dart index b4046da..60c107a 100644 --- a/lib/widgets/treeview_parent_widget.dart +++ b/lib/widgets/treeview_parent_widget.dart @@ -25,10 +25,12 @@ class TreeviewParentWidget extends StatelessWidget { @override Widget build(BuildContext context) { - Widget parentWidget = Text( - this.text, - style: GoogleFonts.archivoBlack(fontSize: fontSize, color: color ?? Colors.blue[800]!, backgroundColor: Colors.transparent), - ); + Widget parentWidget = Text(this.text, + style: GoogleFonts.archivoBlack( + fontSize: fontSize, + color: color ?? Colors.blue[800]!, + backgroundColor: Colors.transparent, + )); return Card( color: backgroundColor, diff --git a/pubspec.lock b/pubspec.lock index d571604..f5d8b68 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -22,13 +22,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.6" - apple_sign_in: - dependency: "direct main" - description: - name: apple_sign_in - url: "https://pub.dartlang.org" - source: hosted - version: "0.1.0" archive: dependency: transitive description: @@ -50,6 +43,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.6.1" + awesome_notifications: + dependency: "direct main" + description: + name: awesome_notifications + url: "https://pub.dartlang.org" + source: hosted + version: "0.0.6+9" badges: dependency: "direct main" description: @@ -442,13 +442,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "0.36.1" - flurry: + flurry_data: dependency: "direct main" description: - name: flurry + name: flurry_data url: "https://pub.dartlang.org" source: hosted - version: "0.0.7" + version: "0.0.1" flutter: dependency: "direct main" description: flutter @@ -517,20 +517,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.1" - flutter_local_notifications: - dependency: "direct main" - description: - name: flutter_local_notifications - url: "https://pub.dartlang.org" - source: hosted - version: "5.0.0+4" - flutter_local_notifications_platform_interface: - dependency: transitive - description: - name: flutter_local_notifications_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "3.0.0" flutter_localizations: dependency: "direct main" description: flutter @@ -1064,6 +1050,13 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "1.0.1" + sign_in_with_apple: + dependency: "direct main" + description: + name: sign_in_with_apple + url: "https://pub.dartlang.org" + source: hosted + version: "3.0.0" sky_engine: dependency: transitive description: flutter @@ -1216,13 +1209,6 @@ packages: url: "https://pub.dartlang.org" source: hosted version: "2.0.0" - timezone: - dependency: transitive - description: - name: timezone - url: "https://pub.dartlang.org" - source: hosted - version: "0.7.0" timing: dependency: transitive description: @@ -1435,4 +1421,4 @@ packages: version: "3.1.0" sdks: dart: ">=2.12.0 <3.0.0" - flutter: ">=2.0.0" + flutter: ">=2.0.4" diff --git a/pubspec.yaml b/pubspec.yaml index 8477fa9..4b7c322 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 1.1.19+89 +version: 1.1.19+90 environment: sdk: ">=2.12.0 <3.0.0" @@ -53,31 +53,28 @@ dependencies: confetti: ^0.6.0-nullsafety crypto: ^3.0.0 carousel_slider: ^4.0.0-nullsafety.0 - #dropdown_search: ^0.5.0 convex_bottom_bar: ^3.0.0 flutter_app_badger: ^1.2.0 - #super_tooltip: ^1.0.1 url_launcher: ^6.0.3 extended_tabs: ^2.2.0 upgrader: ^3.3.0 - + firebase_core: ^1.2.0 firebase_analytics: ^8.1.0 firebase_messaging: ^10.0.0 - flutter_local_notifications: ^5.0.0 firebase_auth: ^1.2.0 firebase_remote_config: ^0.10.0 + awesome_notifications: ^0.0.6+9 syncfusion_flutter_gauges: ^19.1.63 syncfusion_flutter_datagrid: ^19.1.63 flutter_facebook_auth: ^3.4.0 google_sign_in: ^5.0.3 - apple_sign_in: ^0.1.0 - #sign_in_with_apple: ^3.0.0 - + sign_in_with_apple: ^3.0.0 + #smartlook: ^1.0.7 - flurry: ^0.0.4 + flurry_data: ^0.0.1 flutter_uxcam: ^2.0.0-beta.1 animated_widgets: ^1.0.6 @@ -249,6 +246,7 @@ flutter: - asset/menu/400m.jpg - asset/menu/FG_1_test.jpg - asset/menu/FG_1_training.jpg + - asset/menu/FG_2_edz.jpg - asset/menu/alternate_dumbbell_presses.jpg - asset/menu/alternate_standing_shoulder_press.jpg - asset/menu/arnold_press.jpg @@ -385,6 +383,7 @@ flutter: - asset/menu/standing_triceps_extension.jpg - asset/menu/stiff_legged_deadlift.jpg - asset/menu/straight-arm_rope_pull-down.jpg + - asset/menu/stretching.jpg - asset/menu/t_bar_rows.jpg - asset/menu/test_center.jpg - asset/menu/test_on_machines.jpg @@ -411,6 +410,7 @@ flutter: - asset/menu/upper_body.jpg - asset/menu/v_ups.jpg - asset/menu/wall_sit.jpg + - asset/menu/warmup.jpg - asset/menu/warrior_stand.jpg - asset/menu/weight_free_test.jpg - asset/menu/weighted_bench_dip.jpg