diff --git a/asset/image/alternatives_arrow.png b/asset/image/alternatives_arrow.png new file mode 100644 index 0000000..78311b9 Binary files /dev/null and b/asset/image/alternatives_arrow.png differ diff --git a/asset/image/sizes_q.jpg b/asset/image/sizes_q.jpg new file mode 100644 index 0000000..9b58ddc Binary files /dev/null and b/asset/image/sizes_q.jpg differ diff --git a/ios/Podfile.lock b/ios/Podfile.lock index a2b8604..d0c6822 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -8,76 +8,76 @@ PODS: - Flutter - devicelocale (0.0.1): - Flutter - - FBAEMKit (11.1.0): - - FBAEMKit/AEM (= 11.1.0) - - FBAEMKit/AEM (11.1.0): - - FBSDKCoreKit_Basics (~> 11.1.0) - - FBSDKCoreKit (11.1.0): - - FBSDKCoreKit/Core (= 11.1.0) - - FBSDKCoreKit/Core (11.1.0): - - FBAEMKit (~> 11.1.0) - - FBSDKCoreKit_Basics (~> 11.1.0) - - FBSDKCoreKit_Basics (11.1.0): - - FBSDKCoreKit_Basics/Basics (= 11.1.0) - - FBSDKCoreKit_Basics/Basics (11.1.0) - - FBSDKLoginKit (11.1.0): - - FBSDKLoginKit/Login (= 11.1.0) - - FBSDKLoginKit/Login (11.1.0): - - FBSDKCoreKit (~> 11.1.0) - - FBSDKCoreKit_Basics (~> 11.1.0) - - Firebase/Analytics (8.5.0): + - FBAEMKit (11.2.1): + - FBAEMKit/AEM (= 11.2.1) + - FBAEMKit/AEM (11.2.1): + - FBSDKCoreKit_Basics (~> 11.2.1) + - FBSDKCoreKit (11.2.1): + - FBSDKCoreKit/Core (= 11.2.1) + - FBSDKCoreKit/Core (11.2.1): + - FBAEMKit (~> 11.2.1) + - FBSDKCoreKit_Basics (~> 11.2.1) + - FBSDKCoreKit_Basics (11.2.1): + - FBSDKCoreKit_Basics/Basics (= 11.2.1) + - FBSDKCoreKit_Basics/Basics (11.2.1) + - FBSDKLoginKit (11.2.1): + - FBSDKLoginKit/Login (= 11.2.1) + - FBSDKLoginKit/Login (11.2.1): + - FBSDKCoreKit (~> 11.2.1) + - FBSDKCoreKit_Basics (~> 11.2.1) + - Firebase/Analytics (8.7.0): - Firebase/Core - - Firebase/Auth (8.5.0): + - Firebase/Auth (8.7.0): - Firebase/CoreOnly - - FirebaseAuth (~> 8.5.0) - - Firebase/Core (8.5.0): + - FirebaseAuth (~> 8.7.0) + - Firebase/Core (8.7.0): - Firebase/CoreOnly - - FirebaseAnalytics (~> 8.5.0) - - Firebase/CoreOnly (8.5.0): - - FirebaseCore (= 8.5.0) - - Firebase/DynamicLinks (8.5.0): + - FirebaseAnalytics (~> 8.7.0) + - Firebase/CoreOnly (8.7.0): + - FirebaseCore (= 8.7.0) + - Firebase/DynamicLinks (8.7.0): - Firebase/CoreOnly - - FirebaseDynamicLinks (~> 8.5.0) - - Firebase/InAppMessaging (8.5.0): + - FirebaseDynamicLinks (~> 8.7.0) + - Firebase/InAppMessaging (8.7.0): - Firebase/CoreOnly - - FirebaseInAppMessaging (~> 8.5.0-beta) - - Firebase/Messaging (8.5.0): + - FirebaseInAppMessaging (~> 8.7.0-beta) + - Firebase/Messaging (8.7.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 8.5.0) - - Firebase/RemoteConfig (8.5.0): + - FirebaseMessaging (~> 8.7.0) + - Firebase/RemoteConfig (8.7.0): - Firebase/CoreOnly - - FirebaseRemoteConfig (~> 8.5.0) - - firebase_analytics (8.3.0): - - Firebase/Analytics (= 8.5.0) + - FirebaseRemoteConfig (~> 8.7.0) + - firebase_analytics (8.3.3): + - Firebase/Analytics (= 8.7.0) - firebase_core - Flutter - - firebase_auth (3.0.2): - - Firebase/Auth (= 8.5.0) + - firebase_auth (3.1.2): + - Firebase/Auth (= 8.7.0) - firebase_core - Flutter - - firebase_core (1.5.0): - - Firebase/CoreOnly (= 8.5.0) + - firebase_core (1.7.0): + - Firebase/CoreOnly (= 8.7.0) - Flutter - - firebase_dynamic_links (2.0.8): - - Firebase/DynamicLinks (= 8.5.0) + - firebase_dynamic_links (2.0.10): + - Firebase/DynamicLinks (= 8.7.0) - firebase_core - Flutter - - firebase_in_app_messaging (0.5.0-8): - - Firebase/InAppMessaging (= 8.5.0) + - firebase_in_app_messaging (0.5.0-10): + - Firebase/InAppMessaging (= 8.7.0) - firebase_core - Flutter - - firebase_messaging (10.0.5): - - Firebase/Messaging (= 8.5.0) + - firebase_messaging (10.0.8): + - Firebase/Messaging (= 8.7.0) - firebase_core - Flutter - - firebase_remote_config (0.10.0-4): - - Firebase/RemoteConfig (= 8.5.0) + - firebase_remote_config (0.10.0-5): + - Firebase/RemoteConfig (= 8.7.0) - firebase_core - Flutter - - FirebaseABTesting (8.6.0): + - FirebaseABTesting (8.8.0): - FirebaseCore (~> 8.0) - - FirebaseAnalytics (8.5.0): - - FirebaseAnalytics/AdIdSupport (= 8.5.0) + - FirebaseAnalytics (8.7.0): + - FirebaseAnalytics/AdIdSupport (= 8.7.0) - FirebaseCore (~> 8.0) - FirebaseInstallations (~> 8.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.4) @@ -85,85 +85,87 @@ PODS: - GoogleUtilities/Network (~> 7.4) - "GoogleUtilities/NSData+zlib (~> 7.4)" - nanopb (~> 2.30908.0) - - FirebaseAnalytics/AdIdSupport (8.5.0): + - FirebaseAnalytics/AdIdSupport (8.7.0): - FirebaseCore (~> 8.0) - FirebaseInstallations (~> 8.0) - - GoogleAppMeasurement (= 8.5.0) + - GoogleAppMeasurement (= 8.7.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.4) - GoogleUtilities/MethodSwizzler (~> 7.4) - GoogleUtilities/Network (~> 7.4) - "GoogleUtilities/NSData+zlib (~> 7.4)" - nanopb (~> 2.30908.0) - - FirebaseAuth (8.5.0): + - FirebaseAuth (8.7.0): - FirebaseCore (~> 8.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.4) - GoogleUtilities/Environment (~> 7.4) - GTMSessionFetcher/Core (~> 1.5) - - FirebaseCore (8.5.0): + - FirebaseCore (8.7.0): - FirebaseCoreDiagnostics (~> 8.0) - GoogleUtilities/Environment (~> 7.4) - GoogleUtilities/Logger (~> 7.4) - - FirebaseCoreDiagnostics (8.6.0): + - FirebaseCoreDiagnostics (8.8.0): - GoogleDataTransport (~> 9.0) - GoogleUtilities/Environment (~> 7.4) - GoogleUtilities/Logger (~> 7.4) - nanopb (~> 2.30908.0) - - FirebaseDynamicLinks (8.5.0): + - FirebaseDynamicLinks (8.7.0): - FirebaseCore (~> 8.0) - - FirebaseInAppMessaging (8.5.0-beta): + - FirebaseInAppMessaging (8.7.0-beta): - FirebaseABTesting (~> 8.0) - FirebaseCore (~> 8.0) - FirebaseInstallations (~> 8.0) - GoogleUtilities/Environment (~> 7.4) - nanopb (~> 2.30908.0) - - FirebaseInstallations (8.6.0): + - FirebaseInstallations (8.8.0): - FirebaseCore (~> 8.0) - GoogleUtilities/Environment (~> 7.4) - GoogleUtilities/UserDefaults (~> 7.4) - PromisesObjC (< 3.0, >= 1.2) - - FirebaseMessaging (8.5.0): + - FirebaseMessaging (8.7.0): - FirebaseCore (~> 8.0) - FirebaseInstallations (~> 8.0) + - GoogleDataTransport (~> 9.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.4) - GoogleUtilities/Environment (~> 7.4) - GoogleUtilities/Reachability (~> 7.4) - GoogleUtilities/UserDefaults (~> 7.4) - - FirebaseRemoteConfig (8.5.0): + - nanopb (~> 2.30908.0) + - FirebaseRemoteConfig (8.7.0): - FirebaseABTesting (~> 8.0) - FirebaseCore (~> 8.0) - FirebaseInstallations (~> 8.0) - GoogleUtilities/Environment (~> 7.4) - "GoogleUtilities/NSData+zlib (~> 7.4)" - - Flurry-iOS-SDK/FlurrySDK (11.2.1) + - Flurry-iOS-SDK/FlurrySDK (11.3.0) - flurry_data (0.0.1): - Flurry-iOS-SDK/FlurrySDK - Flutter - Flutter (1.0.0) - flutter_app_badger (0.0.1): - Flutter - - flutter_facebook_auth (2.0.0): - - FBSDKCoreKit (~> 11.1.0) - - FBSDKLoginKit (~> 11.1.0) + - flutter_facebook_auth (3.5.1): + - FBSDKCoreKit (~> 11.2.0) + - FBSDKLoginKit (~> 11.2.0) - Flutter - flutter_secure_storage (3.3.1): - Flutter - - flutter_uxcam (2.0.0): + - flutter_uxcam (2.0.1): - Flutter - - UXCam (~> 3.3.4) + - UXCam (~> 3.3.6) - FMDB (2.7.5): - FMDB/standard (= 2.7.5) - FMDB/standard (2.7.5) - google_sign_in (0.0.1): - Flutter - GoogleSignIn (~> 5.0) - - GoogleAppMeasurement (8.5.0): - - GoogleAppMeasurement/AdIdSupport (= 8.5.0) + - GoogleAppMeasurement (8.7.0): + - GoogleAppMeasurement/AdIdSupport (= 8.7.0) - GoogleUtilities/AppDelegateSwizzler (~> 7.4) - GoogleUtilities/MethodSwizzler (~> 7.4) - GoogleUtilities/Network (~> 7.4) - "GoogleUtilities/NSData+zlib (~> 7.4)" - nanopb (~> 2.30908.0) - - GoogleAppMeasurement/AdIdSupport (8.5.0): + - GoogleAppMeasurement/AdIdSupport (8.7.0): - GoogleUtilities/AppDelegateSwizzler (~> 7.4) - GoogleUtilities/MethodSwizzler (~> 7.4) - GoogleUtilities/Network (~> 7.4) @@ -177,29 +179,29 @@ PODS: - AppAuth (~> 1.2) - GTMAppAuth (~> 1.0) - GTMSessionFetcher/Core (~> 1.1) - - GoogleUtilities/AppDelegateSwizzler (7.5.1): + - GoogleUtilities/AppDelegateSwizzler (7.5.2): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - - GoogleUtilities/Environment (7.5.1): + - GoogleUtilities/Environment (7.5.2): - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.5.1): + - GoogleUtilities/Logger (7.5.2): - GoogleUtilities/Environment - - GoogleUtilities/MethodSwizzler (7.5.1): + - GoogleUtilities/MethodSwizzler (7.5.2): - GoogleUtilities/Logger - - GoogleUtilities/Network (7.5.1): + - GoogleUtilities/Network (7.5.2): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.5.1)" - - GoogleUtilities/Reachability (7.5.1): + - "GoogleUtilities/NSData+zlib (7.5.2)" + - GoogleUtilities/Reachability (7.5.2): - GoogleUtilities/Logger - - GoogleUtilities/UserDefaults (7.5.1): + - GoogleUtilities/UserDefaults (7.5.2): - GoogleUtilities/Logger - GTMAppAuth (1.2.2): - AppAuth/Core (~> 1.4) - GTMSessionFetcher/Core (~> 1.5) - - GTMSessionFetcher/Core (1.5.0) + - GTMSessionFetcher/Core (1.7.0) - modal_progress_hud_nsn (0.0.1): - Flutter - nanopb (2.30908.0): @@ -222,25 +224,27 @@ PODS: - PurchasesCoreSwift (3.11.1) - PurchasesHybridCommon (1.6.3): - Purchases (= 3.11.1) - - Sentry (7.0.3): - - Sentry/Core (= 7.0.3) - - Sentry/Core (7.0.3) + - Sentry (7.1.4): + - Sentry/Core (= 7.1.4) + - Sentry/Core (7.1.4) - sentry_flutter (0.0.1): - Flutter - FlutterMacOS - - Sentry (~> 7.0.3) + - Sentry (~> 7.1.3) - share (0.0.1): - Flutter - shared_preferences (0.0.1): - Flutter - sign_in_with_apple (0.0.1): - Flutter + - smartlook (0.0.5): + - Flutter - sqflite (0.0.2): - Flutter - FMDB (>= 2.7.5) - url_launcher (0.0.1): - Flutter - - UXCam (3.3.4) + - UXCam (3.3.7) - video_player (0.0.1): - Flutter - wakelock (0.0.1): @@ -274,6 +278,7 @@ DEPENDENCIES: - share (from `.symlinks/plugins/share/ios`) - shared_preferences (from `.symlinks/plugins/shared_preferences/ios`) - sign_in_with_apple (from `.symlinks/plugins/sign_in_with_apple/ios`) + - smartlook (from `.symlinks/plugins/smartlook/ios`) - sqflite (from `.symlinks/plugins/sqflite/ios`) - url_launcher (from `.symlinks/plugins/url_launcher/ios`) - video_player (from `.symlinks/plugins/video_player/ios`) @@ -365,6 +370,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/shared_preferences/ios" sign_in_with_apple: :path: ".symlinks/plugins/sign_in_with_apple/ios" + smartlook: + :path: ".symlinks/plugins/smartlook/ios" sqflite: :path: ".symlinks/plugins/sqflite/ios" url_launcher: @@ -380,43 +387,43 @@ SPEC CHECKSUMS: AppAuth: 31bcec809a638d7bd2f86ea8a52bd45f6e81e7c7 device_info: d7d233b645a32c40dfdc212de5cf646ca482f175 devicelocale: b22617f40038496deffba44747101255cee005b0 - FBAEMKit: 5c8a8d08e5b2c79628490784883e0fcc75b12615 - FBSDKCoreKit: 7ccb8b4bb2b5ee2ad94327b774dc23f03509675d - FBSDKCoreKit_Basics: 8f978bce195845f609b0ec6b425949d0d24f525b - FBSDKLoginKit: d65eb587a9eaa89295338fb0bb3b358bde0b7ae4 - Firebase: ff8c73105b90e33e1dc6c8e5445d7adc2ccdc7c1 - firebase_analytics: 3b7d92b8d1a3482f557c201e5e46c2f7fa2644ff - firebase_auth: 214ff86facd807bbb0ccff32f4b2d3865e3bc4f3 - firebase_core: 82d486a6231b636aea229bd471bceca82cbe00a6 - firebase_dynamic_links: 0768a32e69be5b6f9af258f8e072537dff6b8969 - firebase_in_app_messaging: 04572963cf1ef212ac23e188cb0324316e948bf9 - firebase_messaging: 0c5342aa6d92d09429ef67c81a1345189fcb76c9 - firebase_remote_config: cd43874ff082605023b5913bb1d3206452f1ad48 - FirebaseABTesting: c3e48ebf5e7e5c674c5a131c68e941d7921d83dc - FirebaseAnalytics: 96325c1e0acbd2bb805c6a613028b1fe599d6a37 - FirebaseAuth: b152ea261b60eeb9419ae7e5bf34761382b33277 - FirebaseCore: 1c1ca72483b59b17050f5b4cec4fb748425a3901 - FirebaseCoreDiagnostics: 3721920bde3a9a6d5aa093c1d25e9d3e47f694af - FirebaseDynamicLinks: 6e406b3bb669f8c8a63e7254bb63251fa3f88a43 - FirebaseInAppMessaging: ee6cd4397d1e81d34b14f90ec38697dc4ef9fe93 - FirebaseInstallations: 0ede6ffcd215b8f93c19d9b06c1c54e2d4107e98 - FirebaseMessaging: 0705ec705c21705efc51c071fba924c8e25c63e7 - FirebaseRemoteConfig: 693c1f150408e9a727daf4d8c55c7f9c29ef9ad5 - Flurry-iOS-SDK: 5831da8fc6bedb31fa1f94aac6fd204d36dd351d + FBAEMKit: 5de0a7aaa854eec69bb5be20795952a63d38a5f6 + FBSDKCoreKit: bf655f808b040ed66a72b9922911b39d703e64f4 + FBSDKCoreKit_Basics: 73ebe3a27eb688ac5b5aa7e99f68992993042115 + FBSDKLoginKit: 2e76831ef08d356b8f9150ea51cce865074ea304 + Firebase: bc9325d5ee2041524bac78a5213d0e530c651309 + firebase_analytics: 72e3c5d712e43eeb0cb6f194f7cc10bc81e7d3fe + firebase_auth: 3193124aa14a62b8abec3fd069df73ef378d2c5b + firebase_core: f5ac1f2726a2bd0468cea0161eddeea3d83d7e3e + firebase_dynamic_links: 3c5f941aee6d2364c59e0ccb97218f55733a535c + firebase_in_app_messaging: 28508aa171a3032569910af896ca98a32cdfc827 + firebase_messaging: cfee8830477d2f1875e027a65cce7f6239ebf583 + firebase_remote_config: 1835382fd6c6de8f44a196548b5ebe317726ff3e + FirebaseABTesting: 981336dd14d84787e33466e4247f77ec2343f8d9 + FirebaseAnalytics: 52768800c2add1d84b751420cb4caaf8195f2c41 + FirebaseAuth: 2e7d029977648c67a5d51a263d4cbab76d34cf12 + FirebaseCore: f4804c1d3f4bbbefc88904d15653038f2c99ddf7 + FirebaseCoreDiagnostics: fe77f42da6329d6d83d21fd9d621a6b704413bfc + FirebaseDynamicLinks: e3fd315f43196811df8eac95803f10ff47c3b026 + FirebaseInAppMessaging: d1cff11faa69d294bef9c0773b91a6c84f771ac5 + FirebaseInstallations: 2563cb18a723ef9c6ef18318a49519b75dce613c + FirebaseMessaging: 93227dd71d7888e200baef65043f81acb2b6596e + FirebaseRemoteConfig: 34300dd83055c06e2768d0932dd8fb2c1575745f + Flurry-iOS-SDK: 494e340b623f1413711603dc0184f1fd4183e0d3 flurry_data: 49b7066a283aa41f4306974c1f2d74c61231ad74 Flutter: 434fef37c0980e73bb6479ef766c45957d4b510c flutter_app_badger: 65de4d6f0c34a891df49e6cfb8a1c0496426fa68 - flutter_facebook_auth: 528d51ea1324741b366fa87fa5dfd41016422364 + flutter_facebook_auth: 870a465b1afff3ace7a592bd44665d921991726c flutter_secure_storage: 7953c38a04c3fdbb00571bcd87d8e3b5ceb9daec - flutter_uxcam: 5b2418884a3bf41284a888c7ecc50317c8a84727 + flutter_uxcam: 32e4e8b4355be6bf9d512ad36aed6d86c98a5cdf FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a - google_sign_in: 6bd214b9c154f881422f5fe27b66aaa7bbd580cc - GoogleAppMeasurement: 8d10c1c470fcb0e5143ed74fddd164f0a0384800 + google_sign_in: de494e5e993986afae63e22a32441e30c35c9823 + GoogleAppMeasurement: 2be61ce546ad074dbe4dd545f222ac6033bb1d9e GoogleDataTransport: 85fd18ff3019bb85d3f2c551d04c481dedf71fc9 GoogleSignIn: 7137d297ddc022a7e0aa4619c86d72c909fa7213 - GoogleUtilities: 3df19e3c24f7bbc291d8b5809aa6b0d41e642437 + GoogleUtilities: 8de2a97a17e15b6b98e38e8770e2d129a57c0040 GTMAppAuth: ad5c2b70b9a8689e1a04033c9369c4915bfcbe89 - GTMSessionFetcher: b3503b20a988c4e20cc189aa798fd18220133f52 + GTMSessionFetcher: 43748f93435c2aa068b1cbe39655aaf600652e91 modal_progress_hud_nsn: f6fb744cd060653d66ed8f325360ef3650eb2fde nanopb: a0ba3315591a9ae0a16a309ee504766e90db0c96 package_info: 873975fc26034f0b863a300ad47e7f1ac6c7ec62 @@ -427,18 +434,19 @@ SPEC CHECKSUMS: purchases_flutter: 627527b070d80cdaf486fabe8b3d1dbe8d5cad92 PurchasesCoreSwift: ee857e4c21e6254b09d7e303a756fcf2b9164408 PurchasesHybridCommon: d65a799a61d688588534b80338edbcbf604ca93d - Sentry: 5b16f877da362d23716d827e04db642455b26b40 - sentry_flutter: 602dc1902e152269256115e2386e1029511f3440 + Sentry: 1d3eb1a25f8c5333c88dd5603904a6d461cd9fcf + sentry_flutter: f20d4f199442900fbdab2b8496f1d2091d8b94d9 share: 0b2c3e82132f5888bccca3351c504d0003b3b410 shared_preferences: af6bfa751691cdc24be3045c43ec037377ada40d - sign_in_with_apple: 34f3f5456a45fd7ac5fb42905e2ad31dae061b4a + sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440 + smartlook: bbc5c73a85c752a31dabf100c8930838c646342e sqflite: 6d358c025f5b867b29ed92fc697fd34924e11904 url_launcher: 6fef411d543ceb26efce54b05a0a40bfd74cbbef - UXCam: c2c00873595ab89be227f197213dc3679ff88ae5 + UXCam: 846259f745486b5d702423c8cbedf08e2cd8eb2c video_player: 9cc823b1d9da7e8427ee591e8438bfbcde500e6e wakelock: b0843b2479edbf6504d8d262c2959446f35373aa webview_flutter: 9f491a9b5a66f2573946a389b2677987b0ff8c0b PODFILE CHECKSUM: f10c0438b63bc24e6bbc207956dc27d16c4408f2 -COCOAPODS: 1.11.0.beta.2 +COCOAPODS: 1.11.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 6e4f3a9..2bc8233 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 = 5; + 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.23; + MARKETING_VERSION = 1.1.24; 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 = 5; + 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.23; + MARKETING_VERSION = 1.1.24; 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 = 5; + 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.23; + MARKETING_VERSION = 1.1.24; PRODUCT_BUNDLE_IDENTIFIER = com.aitrainer.app; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h"; diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist index 2d4236f..7d0290a 100644 --- a/ios/Runner/Info.plist +++ b/ios/Runner/Info.plist @@ -74,6 +74,8 @@ UIBackgroundModes + audio + fetch remote-notification UILaunchStoryboardName diff --git a/lib/bloc/customer_change/customer_change_bloc.dart b/lib/bloc/customer_change/customer_change_bloc.dart index 5123564..8ebf3dd 100644 --- a/lib/bloc/customer_change/customer_change_bloc.dart +++ b/lib/bloc/customer_change/customer_change_bloc.dart @@ -4,6 +4,7 @@ import 'package:aitrainer_app/model/cache.dart'; import 'package:aitrainer_app/model/sport.dart'; import 'package:aitrainer_app/repository/customer_repository.dart'; import 'package:aitrainer_app/repository/mautic_repository.dart'; +import 'package:aitrainer_app/util/app_language.dart'; import 'package:aitrainer_app/util/common.dart'; import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; @@ -138,6 +139,10 @@ class CustomerChangeBloc extends Bloc customerRepository.customer!.sportId = selectedSport!.sportId; } + if (customerRepository.customer!.lang == null) { + customerRepository.customer!.lang = AppLanguage().appLocal.languageCode; + } + await customerRepository.saveCustomer(); MauticRepository mauticRepository = MauticRepository(customerRepository: customerRepository); await mauticRepository.sendMauticDataChange(); diff --git a/lib/bloc/login/login_bloc.dart b/lib/bloc/login/login_bloc.dart index 90457a4..fb99baf 100644 --- a/lib/bloc/login/login_bloc.dart +++ b/lib/bloc/login/login_bloc.dart @@ -8,6 +8,7 @@ import 'package:aitrainer_app/repository/mautic_repository.dart'; import 'package:aitrainer_app/repository/split_test_respository.dart'; import 'package:aitrainer_app/repository/training_plan_repository.dart'; import 'package:aitrainer_app/repository/user_repository.dart'; +import 'package:aitrainer_app/util/app_language.dart'; import 'package:aitrainer_app/util/common.dart'; import 'package:aitrainer_app/util/enums.dart'; import 'package:aitrainer_app/util/track.dart'; @@ -170,6 +171,7 @@ class LoginBloc extends Bloc with Trans { customerRepository!.customer!.dataPolicyAllowed = 1; customerRepository!.customer!.emailSubscription = 1; customerRepository!.customer!.syncedDate = DateTime.now(); + customerRepository!.customer!.lang = AppLanguage().appLocal.languageCode; customerRepository!.setCustomerProperty("Weight", tempCustomer.getProperty("Weight")); customerRepository!.setCustomerProperty("Height", tempCustomer.getProperty("Height")); await customerRepository!.saveCustomer(); diff --git a/lib/bloc/training_plan/training_plan_bloc.dart b/lib/bloc/training_plan/training_plan_bloc.dart index 5c734d4..3cbe557 100644 --- a/lib/bloc/training_plan/training_plan_bloc.dart +++ b/lib/bloc/training_plan/training_plan_bloc.dart @@ -43,6 +43,8 @@ class TrainingPlanBloc extends Bloc { bool celebrating = false; int activeDayIndex = 0; + double base1RM = 0; + CustomerTrainingPlan? getMyPlan() => this._myPlan; setMyPlan(CustomerTrainingPlan? myPlan) => this._myPlan = myPlan; @@ -106,21 +108,13 @@ class TrainingPlanBloc extends Bloc { } else if (event is TrainingPlanWeightChangeRecalculate) { yield TrainingPlanExerciseLoading(); - /* double weightFromPlan = trainingPlanRepository.getOriginalWeight(this.getMyPlan()!.trainingPlanId!, event.detail); - print("Plan Wieght: $weightFromPlan"); - if (weightFromPlan != -1 || (weightFromPlan == -1 && event.detail.set! > 1)) { - bool isTest = weightFromPlan != -1 || weightFromPlan != -2; - if (!isTest || (isTest && event.detail.set! > 1)) { - //&& event.detail.exercises.length > 0 + print("Base1RM ${event.detail.base1RM}"); + if (event.detail.base1RM > 0) { event.detail.repeats = - Common.reCalculateRepeatsByChangedWeight(event.detail.weight!, event.detail.repeats!.toDouble(), event.weight); - - if (event.detail.repeats! < 3) { - event.detail.repeats = 4; - } + Common.calculateQuantityByChangedWeight(event.detail.base1RM, event.weight, event.detail.repeats!.toDouble()); ExerciseSaveStream().repeats = event.detail.repeats!; ExerciseSaveStream().getStreamController().add(true); - } */ + } event.detail.weight = event.weight; yield TrainingPlanExerciseReady(); yield TrainingPlanReady(); @@ -171,18 +165,22 @@ class TrainingPlanBloc extends Bloc { nextDetail.customerTrainingPlanDetailsId != event.detail.customerTrainingPlanDetailsId) { print("recalculating -2 ${event.detail.customerTrainingPlanDetailsId}"); trainingPlanRepository.recalculateDetail(_myPlan!.trainingPlanId!, event.detail, nextDetail); + nextDetail.base1RM = Common.calculate1RM(nextDetail.weight!, nextDetail.repeats!.toDouble()); } else if (nextDetail.exerciseTypeId == event.detail.exerciseTypeId && weightFromPlan == -1 && nextDetail.set! > 1) { print("recalculating -1 ${event.detail.customerTrainingPlanDetailsId}"); nextDetail = trainingPlanRepository.recalculateDetailFixRepeats(_myPlan!.trainingPlanId!, nextDetail); + nextDetail.base1RM = Common.calculate1RM(nextDetail.weight!, nextDetail.repeats!.toDouble()); } else if (nextDetail.exerciseTypeId == event.detail.exerciseTypeId && nextDetail.weight == -1 && nextDetail.set! == 1) { print("recalculating -1, set 1 ${event.detail.customerTrainingPlanDetailsId}"); nextDetail = trainingPlanRepository.recalculateDetailFixRepeatsSet1(_myPlan!.trainingPlanId!, nextDetail, event.detail); + nextDetail.base1RM = Common.calculate1RM(nextDetail.weight!, nextDetail.repeats!.toDouble()); } else if (nextDetail.exerciseTypeId == event.detail.exerciseTypeId && weightFromPlan == -2 && nextDetail.set! == 1 && nextDetail.exercises.length == 0) { print("recalculating -1/ no exercise, set 1 ${event.detail.customerTrainingPlanDetailsId}"); nextDetail = trainingPlanRepository.recalculateDetailFixRepeatsSet1(_myPlan!.trainingPlanId!, nextDetail, event.detail); + nextDetail.base1RM = Common.calculate1RM(nextDetail.weight!, nextDetail.repeats!.toDouble()); } } } @@ -427,9 +425,7 @@ class TrainingPlanBloc extends Bloc { String getSummary(TrainingPlanDetail detail) { String summary = ""; - String set = "1"; - set = detail.set.toString() + "/ "; List details = getAllTrainingPlanDetailsSameExercise(detail); int index = 0; @@ -622,7 +618,7 @@ class TrainingPlanBloc extends Bloc { } int index = indexInStart > indexInProgress ? indexInStart : indexInProgress; offset = (index) * 300; - print("Offset: $offset day: $day ($indexInStart, $indexInProgress)"); + //print("Offset: $offset day: $day ($indexInStart, $indexInProgress)"); return offset; } diff --git a/lib/model/customer.dart b/lib/model/customer.dart index ce30d85..e2f7e06 100644 --- a/lib/model/customer.dart +++ b/lib/model/customer.dart @@ -27,6 +27,7 @@ class Customer { DateTime? syncedDate; DateTime? trialDate; String? firebaseRegToken; + String? lang; LinkedHashMap properties = LinkedHashMap(); @@ -70,6 +71,7 @@ class Customer { this.trainer = json['trainer']; this.firebaseUid = json['firebaseUid']; this.firebaseRegToken = json['firebaseRegToken']; + this.lang = json['lang']; this.dataPolicyAllowed = json['dataPolicyAllowed']; this.emailSubscription = json['emailSubscription']; @@ -103,6 +105,7 @@ class Customer { "syncedDate": this.syncedDate == null ? null : DateFormat('yyyy-MM-dd HH:mm:ss').format(this.syncedDate!), "trialDate": this.trialDate == null ? null : DateFormat('yyyy-MM-dd HH:mm:ss').format(this.trialDate!), "firebaseRegToken": this.firebaseRegToken, + "lang": this.lang, }; @override diff --git a/lib/model/customer_training_plan_details.dart b/lib/model/customer_training_plan_details.dart index 75c9653..f73e64b 100644 --- a/lib/model/customer_training_plan_details.dart +++ b/lib/model/customer_training_plan_details.dart @@ -38,6 +38,8 @@ class CustomerTrainingPlanDetails { bool isTest = false; + double base1RM = -1; + CustomerTrainingPlanDetails(); CustomerTrainingPlanDetails.fromJson(Map json) { @@ -89,6 +91,8 @@ class CustomerTrainingPlanDetails { this.isTest = json['isTest'] == "true" ? true : false; this.exerciseType = Cache().getExerciseTypeById(exerciseTypeId!); + + this.base1RM = json['base1RM']; } ExerciseType? getExerciseType() => exerciseType; @@ -118,6 +122,7 @@ class CustomerTrainingPlanDetails { 'state': this.state.toStr(), "isTest": this.isTest, "dayId": this.dayId, + "base1RM": this.base1RM, }; //print("Detail toJson $jsonMap"); diff --git a/lib/model/mautic.dart b/lib/model/mautic.dart index 9ddc338..e07d39e 100644 --- a/lib/model/mautic.dart +++ b/lib/model/mautic.dart @@ -21,7 +21,7 @@ class Mautic { "goal": this.goal, "databaseId": this.databaseId, "subscriptionDate": this.subscriptionDate, - "language": this.language + "lang": this.language }; String toForm() { @@ -33,7 +33,7 @@ class Mautic { form += this.goal == null ? "" : "&mauticform[goal]=${this.goal}"; form += this.subscriptionDate == null ? "" : "&mauticform[subscribed]=${this.subscriptionDate}"; form += this.databaseId == null ? "" : "&mauticform[databaseid]=${this.databaseId}"; - form += this.language == null ? "" : "&mauticform[language]=${this.language}"; + form += this.language == null ? "" : "&mauticform[lang]=${this.language}"; form += this.purchaseDate == null ? "" : "&mauticform[purchase_date]=${this.purchaseDate}"; form += this.exerciseDate == null ? "" : "&mauticform[last_exercise]=${this.exerciseDate}"; form += this.trialDate == null ? "" : "&mauticform[trialdate]=${this.trialDate}"; diff --git a/lib/model/training_plan_detail.dart b/lib/model/training_plan_detail.dart index 58ae838..ccac359 100644 --- a/lib/model/training_plan_detail.dart +++ b/lib/model/training_plan_detail.dart @@ -36,7 +36,7 @@ class TrainingPlanDetail { "parallel": this.parallel, "dayId": this.dayId, "day": this.day, - "summary": this.summary + "summary": this.summary, }; @override diff --git a/lib/repository/mautic_repository.dart b/lib/repository/mautic_repository.dart index 4a683db..ff56400 100644 --- a/lib/repository/mautic_repository.dart +++ b/lib/repository/mautic_repository.dart @@ -43,6 +43,7 @@ class MauticRepository { } mautic.fitnessLevel = customerRepository.customer!.fitnessLevel == null ? "" : customerRepository.customer!.fitnessLevel!; mautic.goal = customerRepository.customer!.goal == null ? "" : customerRepository.customer!.goal!; + mautic.language = AppLanguage().appLocal.languageCode; await MauticApi().sendMauticForm(mautic); } diff --git a/lib/repository/training_plan_repository.dart b/lib/repository/training_plan_repository.dart index 77767f8..a6aa7cf 100644 --- a/lib/repository/training_plan_repository.dart +++ b/lib/repository/training_plan_repository.dart @@ -102,6 +102,9 @@ class TrainingPlanRepository { //print("Detail $detail exerciseType: ${detail.exerciseType}"); detail.state = ExercisePlanDetailState.start; + if (detail.weight != null && detail.weight! > 0) { + detail.base1RM = Common.calculate1RM(detail.weight!, detail.repeats!.toDouble()); + } plan.details.add(detail); }); diff --git a/lib/util/common.dart b/lib/util/common.dart index 03b5d6d..459729b 100644 --- a/lib/util/common.dart +++ b/lib/util/common.dart @@ -194,11 +194,8 @@ mixin Common { } static int calculateQuantityByChangedWeight(double initialRM, double weight, double repeat) { - final double rmWendler = weight * repeat * 0.0333 + weight; - final double rmOconner = weight * (1 + repeat / 40); - - final double repeatWendler = (rmWendler - weight) / 0.0333 / weight; - final double repeatOconner = (rmOconner / weight - 1) * 40; + final double repeatWendler = (initialRM - weight) / 0.0333 / weight; + final double repeatOconner = (initialRM / weight - 1) * 40; final newRepeat = ((repeatOconner + repeatWendler) / 2).ceil(); print("Initial 1RM: $initialRM Weight: $weight repeatWendler: $repeatWendler repeat Oconner: $repeatOconner. NEW REPEAT: $newRepeat"); return newRepeat; diff --git a/lib/util/track.dart b/lib/util/track.dart index 727e03f..7a7d449 100644 --- a/lib/util/track.dart +++ b/lib/util/track.dart @@ -26,7 +26,6 @@ class Track with Logging { Smartlook.setGlobalEventProperty(event.toString(), eventValue, false); FlutterUxcam.logEventWithProperties(event.enumToString(), {"value": eventValue}); model.Tracking tracking = model.Tracking(); - //analytics.logEvent(name: event.enumToString(), parameters: {"value": eventValue}); tracking.customerId = Cache().userLoggedIn == null ? 0 : Cache().userLoggedIn!.customerId!; tracking.event = event.enumToString(); if (eventValue.isNotEmpty) { diff --git a/lib/view/customer_welcome_page.dart b/lib/view/customer_welcome_page.dart index 183b61d..693a5c4 100644 --- a/lib/view/customer_welcome_page.dart +++ b/lib/view/customer_welcome_page.dart @@ -21,7 +21,7 @@ class _CustomerWelcomePageState extends State with Trans { setContext(context); return Scaffold( appBar: AppBarMin( - back: true, + back: false, ), body: Container( decoration: BoxDecoration( diff --git a/lib/view/exercise_new_page.dart b/lib/view/exercise_new_page.dart index ba9cf0c..5f465db 100644 --- a/lib/view/exercise_new_page.dart +++ b/lib/view/exercise_new_page.dart @@ -134,9 +134,6 @@ class _ExerciseNewPageState extends State with Trans, Logging { child: ExerciseSave( exerciseName: exerciseBloc.exerciseRepository.exerciseType!.nameTranslation, exerciseDescription: exerciseBloc.exerciseRepository.exerciseType!.descriptionTranslation, - exerciseTask: exerciseBloc.exerciseRepository.exerciseType!.unitQuantityUnit != null - ? t("Please take a relative bigger weight and repeat 12-20 times and do your best! MAXIMIZE it!") - : t("Please repeat as much times as you can! MAXIMIZE it!"), unit: exerciseBloc.exerciseRepository.exerciseType!.unit, unitQuantityUnit: exerciseBloc.exerciseRepository.exerciseType!.unitQuantityUnit, hasUnitQuantity: exerciseBloc.exerciseRepository.exerciseType!.unitQuantityUnit != null, diff --git a/lib/view/registration.dart b/lib/view/registration.dart index 532dd6c..85195a0 100644 --- a/lib/view/registration.dart +++ b/lib/view/registration.dart @@ -54,10 +54,10 @@ class RegistrationPage extends StatelessWidget with Trans { title: t("Successful Registration"), descriptions: t("Based on your initial data, we will generate the personalized training plan for you."), text: "OK", - onTap: () => {Navigator.of(context).pushNamed('customerWelcomePage')}, + onTap: () => {Navigator.of(context).popAndPushNamed('customerWelcomePage')}, onCancel: () => { trainingPlanRepository.generateTrainingPlan(), - Navigator.of(context).pushNamed("customerWelcomePage"), + Navigator.of(context).popAndPushNamed("customerWelcomePage"), }, ); }); diff --git a/lib/view/test_set_new.dart b/lib/view/test_set_new.dart index ce17367..0848fbb 100644 --- a/lib/view/test_set_new.dart +++ b/lib/view/test_set_new.dart @@ -96,9 +96,6 @@ class TestSetNew extends StatelessWidget with Trans { return ExerciseSave( exerciseName: bloc.exerciseType.nameTranslation, exerciseDescription: bloc.exerciseType.descriptionTranslation, - exerciseTask: bloc.exerciseType.unitQuantityUnit != null - ? t("Please take a relative bigger weight and repeat 12-20 times and do your best! MAXIMIZE it!") - : t("Please repeat as much times as you can! MAXIMIZE it!"), unit: bloc.exerciseType.unit, unitQuantityUnit: bloc.exerciseType.unitQuantityUnit, hasUnitQuantity: bloc.exerciseType.unitQuantityUnit != null, diff --git a/lib/view/training_plan_execute.dart b/lib/view/training_plan_execute.dart index b349b2f..fb09cac 100644 --- a/lib/view/training_plan_execute.dart +++ b/lib/view/training_plan_execute.dart @@ -308,7 +308,7 @@ class _ExerciseListState extends State with Trans { void animate() { offset = widget.bloc.getOffset(); - print("Offset: $offset"); + //print("Offset: $offset"); if (scrollController.hasClients) { scrollController.animateTo(offset, duration: Duration(milliseconds: 300), curve: Curves.easeIn); } diff --git a/lib/view/training_plan_exercise.dart b/lib/view/training_plan_exercise.dart index 0f45507..b9ea9fa 100644 --- a/lib/view/training_plan_exercise.dart +++ b/lib/view/training_plan_exercise.dart @@ -21,6 +21,7 @@ class TrainingPlanExercise extends StatelessWidget with Trans { final CustomerTrainingPlanDetails detail = args['customerTrainingPlanDetails']; // ignore: close_sinks final TrainingPlanBloc bloc = BlocProvider.of(context); + setContext(context); return Scaffold( appBar: AppBarNav(depth: 1), @@ -89,7 +90,6 @@ class TrainingPlanExercise extends StatelessWidget with Trans { return ExerciseSave( exerciseName: detail.exerciseType!.nameTranslation, exerciseDescription: detail.exerciseType!.descriptionTranslation, - exerciseTask: getExerciseTask(detail), unit: detail.exerciseType!.unit, unitQuantityUnit: detail.exerciseType!.unitQuantityUnit, hasUnitQuantity: detail.exerciseType!.unitQuantityUnit != null, @@ -116,28 +116,6 @@ class TrainingPlanExercise extends StatelessWidget with Trans { } } - String getExerciseTask(CustomerTrainingPlanDetails detail) { - String desc = ""; - if (detail.exerciseType!.unit == "second") { - return desc; - } - if (detail.exerciseType!.unitQuantityUnit != null) { - if (detail.weight == -1) { - return "Please take a relative bigger weight and at least 12 times and do your best! MAXIMIZE it!"; - } else if (detail.repeats == -1) { - return "Please repeat as much times as you can! MAXIMIZE it!"; - } else { - return "Please try to execute this exercise with exact weight and repeats what is suggested"; - } - } else { - if (detail.repeats == -1) { - return "Please repeat as much times as you can! MAXIMIZE it!"; - } else { - return "Please try to execute this exercise with exact repeats what is suggested"; - } - } - } - Widget getDropSet(TrainingPlanBloc bloc, CustomerTrainingPlanDetails detail) { return Container( decoration: BoxDecoration( diff --git a/lib/widgets/exercise_save.dart b/lib/widgets/exercise_save.dart index f6e4d31..02d49a0 100644 --- a/lib/widgets/exercise_save.dart +++ b/lib/widgets/exercise_save.dart @@ -138,7 +138,6 @@ class ExerciseSave extends StatefulWidget { final String unit; final String exerciseName; final String exerciseDescription; - final String exerciseTask; final int exerciseTypeId; final double? weight; final int? repeats; @@ -159,7 +158,6 @@ class ExerciseSave extends StatefulWidget { required this.unit, required this.exerciseName, required this.exerciseDescription, - required this.exerciseTask, required this.exerciseTypeId, this.weight, this.repeats, @@ -214,7 +212,7 @@ class _ExerciseSaveState extends State with Trans { SchedulerBinding.instance!.addPostFrameCallback((_) { subscription = stream.listen((event) { - _controller1.text = ExerciseSaveStream().weight.toStringAsFixed(0); + //_controller1.text = ExerciseSaveStream().weight.toStringAsFixed(0); _controller2.text = ExerciseSaveStream().repeats.toStringAsFixed(0); }); print("ExerciseSave weight ${widget.weight}"); diff --git a/pubspec.lock b/pubspec.lock index b7277ca..62b1cb4 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,14 +7,14 @@ packages: name: _fe_analyzer_shared url: "https://pub.dartlang.org" source: hosted - version: "27.0.0" + version: "22.0.0" analyzer: dependency: transitive description: name: analyzer url: "https://pub.dartlang.org" source: hosted - version: "2.4.0" + version: "1.7.1" animated_widgets: dependency: "direct main" description: @@ -42,7 +42,7 @@ packages: name: async url: "https://pub.dartlang.org" source: hosted - version: "2.8.1" + version: "2.6.1" badges: dependency: "direct main" description: @@ -77,7 +77,7 @@ packages: name: build url: "https://pub.dartlang.org" source: hosted - version: "2.1.1" + version: "2.1.0" build_config: dependency: transitive description: @@ -91,7 +91,7 @@ packages: name: build_daemon url: "https://pub.dartlang.org" source: hosted - version: "3.0.1" + version: "3.0.0" build_resolvers: dependency: transitive description: @@ -105,14 +105,14 @@ packages: name: build_runner url: "https://pub.dartlang.org" source: hosted - version: "2.1.4" + version: "2.1.2" build_runner_core: dependency: transitive description: name: build_runner_core url: "https://pub.dartlang.org" source: hosted - version: "7.2.2" + version: "7.1.0" built_collection: dependency: transitive description: @@ -147,7 +147,7 @@ packages: name: charcode url: "https://pub.dartlang.org" source: hosted - version: "1.3.1" + version: "1.2.0" checked_yaml: dependency: transitive description: @@ -161,7 +161,7 @@ packages: name: chewie url: "https://pub.dartlang.org" source: hosted - version: "1.1.0" + version: "1.0.0" chewie_audio: dependency: transitive description: @@ -259,7 +259,7 @@ packages: name: dart_style url: "https://pub.dartlang.org" source: hosted - version: "2.2.0" + version: "2.1.1" device_info: dependency: transitive description: @@ -434,7 +434,7 @@ packages: name: firebase_remote_config url: "https://pub.dartlang.org" source: hosted - version: "0.11.0+1" + version: "0.10.0+5" firebase_remote_config_platform_interface: dependency: transitive description: @@ -462,7 +462,7 @@ packages: name: flurry_data url: "https://pub.dartlang.org" source: hosted - version: "0.0.1" + version: "0.0.2" flutter: dependency: "direct main" description: flutter @@ -474,14 +474,14 @@ packages: name: flutter_app_badger url: "https://pub.dartlang.org" source: hosted - version: "1.2.0" + version: "1.3.0" flutter_bloc: dependency: "direct main" description: name: flutter_bloc url: "https://pub.dartlang.org" source: hosted - version: "7.2.0" + version: "7.3.0" flutter_facebook_auth: dependency: "direct main" description: @@ -568,7 +568,7 @@ packages: name: flutter_uxcam url: "https://pub.dartlang.org" source: hosted - version: "2.0.0" + version: "2.0.1" flutter_web_plugins: dependency: transitive description: flutter @@ -601,7 +601,7 @@ packages: name: google_sign_in url: "https://pub.dartlang.org" source: hosted - version: "5.1.1" + version: "5.1.0" google_sign_in_platform_interface: dependency: transitive description: @@ -734,7 +734,7 @@ packages: name: meta url: "https://pub.dartlang.org" source: hosted - version: "1.7.0" + version: "1.3.0" mime: dependency: transitive description: @@ -748,7 +748,7 @@ packages: name: mockito url: "https://pub.dartlang.org" source: hosted - version: "5.0.16" + version: "5.0.15" mocktail: dependency: transitive description: @@ -1014,14 +1014,14 @@ packages: name: sentry url: "https://pub.dartlang.org" source: hosted - version: "6.0.1" + version: "5.1.0" sentry_flutter: dependency: "direct main" description: name: sentry_flutter url: "https://pub.dartlang.org" source: hosted - version: "6.0.1" + version: "5.1.0" share: dependency: transitive description: @@ -1124,7 +1124,7 @@ packages: name: source_gen url: "https://pub.dartlang.org" source: hosted - version: "1.1.1" + version: "1.0.3" source_map_stack_trace: dependency: transitive description: @@ -1264,21 +1264,21 @@ packages: name: test url: "https://pub.dartlang.org" source: hosted - version: "1.17.10" + version: "1.16.8" test_api: dependency: transitive description: name: test_api url: "https://pub.dartlang.org" source: hosted - version: "0.4.2" + version: "0.3.0" test_core: dependency: transitive description: name: test_core url: "https://pub.dartlang.org" source: hosted - version: "0.4.0" + version: "0.3.19" timeline_tile: dependency: "direct main" description: @@ -1439,35 +1439,28 @@ packages: name: wakelock url: "https://pub.dartlang.org" source: hosted - version: "0.5.6" + version: "0.4.0" wakelock_macos: dependency: transitive description: name: wakelock_macos url: "https://pub.dartlang.org" source: hosted - version: "0.4.0" + version: "0.1.0+3" wakelock_platform_interface: dependency: transitive description: name: wakelock_platform_interface url: "https://pub.dartlang.org" source: hosted - version: "0.3.0" + version: "0.2.1+3" wakelock_web: dependency: transitive description: name: wakelock_web url: "https://pub.dartlang.org" source: hosted - version: "0.4.0" - wakelock_windows: - dependency: transitive - description: - name: wakelock_windows - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.0" + version: "0.2.0+3" watcher: dependency: transitive description: @@ -1539,5 +1532,5 @@ packages: source: hosted version: "3.1.0" sdks: - dart: ">=2.14.0 <3.0.0" - flutter: ">=2.5.0" + dart: ">=2.12.0 <3.0.0" + flutter: ">=2.0.0" diff --git a/pubspec.yaml b/pubspec.yaml index 5d10f84..47623b3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -27,8 +27,8 @@ dependencies: cupertino_icons: ^1.0.0 google_fonts: ^2.1.0 devicelocale: ^0.4.1 - sentry_flutter: ^6.0.1 - flutter_bloc: ^7.2.0 + sentry_flutter: ^5.1.0-beta.1 + flutter_bloc: ^7.1.0 equatable: ^2.0.3 spider_chart: ^0.1.5 @@ -44,7 +44,7 @@ dependencies: #location: ^3.2.4 modal_progress_hud_nsn: ^0.1.0-nullsafety-1 flutter_html: ^2.0.0 - wakelock: ^ 0.5.6 + wakelock: ^ 0.4.0 timeline_tile: ^2.0.0 purchases_flutter: ^3.2.2 package_info: ^2.0.0 @@ -61,32 +61,32 @@ dependencies: mailto: ^2.0.0 url_launcher: ^6.0.9 - firebase_core: ^1.7.0 - firebase_analytics: ^8.3.2 - firebase_messaging: ^10.0.8 - firebase_auth: ^3.1.2 - firebase_remote_config: ^0.11.0+1 - firebase_dynamic_links: ^2.0.10 - firebase_in_app_messaging: ^0.5.0+10 + firebase_core: ^1.5.0 + firebase_analytics: ^8.1.0 + firebase_messaging: ^10.0.0 + firebase_auth: ^3.0.2 + firebase_remote_config: ^0.10.0+4 + firebase_dynamic_links: ^2.0.8 + firebase_in_app_messaging: ^0.5.0+8 syncfusion_flutter_gauges: ^19.2.60 syncfusion_flutter_datagrid: ^19.1.63 syncfusion_flutter_charts: ^19.2.60 syncfusion_flutter_calendar: ^19.2.60 - flutter_facebook_auth: ^3.5.2 - google_sign_in: ^5.1.1 - sign_in_with_apple: ^3.2.0 + flutter_facebook_auth: ^3.5.1 + google_sign_in: ^5.0.3 + sign_in_with_apple: ^3.0.0 smartlook: ^2.0.1 flurry_data: ^0.0.1 - flutter_uxcam: ^2.0.0 + flutter_uxcam: ^2.0.1 animated_widgets: ^1.0.6 - mockito: ^5.0.16 - sqflite: ^2.0.0+4 - flutter_secure_storage: ^4.2.1 + mockito: ^5.0.3 + sqflite: ^2.0.0+3 + flutter_secure_storage: ^4.2.0 #social_share: ^2.1.1 flutter_localizations: @@ -161,6 +161,7 @@ flutter: - asset/image/WT_cup_victory400.png - asset/image/WT_zold.jpg + - asset/image/alternatives_arrow.png - asset/image/button_fb.png - asset/image/button_apple.png - asset/image/button_google.png @@ -185,6 +186,7 @@ flutter: - asset/image/gain_strength.jpg - asset/image/muscle_endurance.jpg - asset/image/shape_forming.jpg + - asset/image/sizes_q.jpg - asset/image/woman_sizes.png - asset/image/weight_loss.jpg