diff --git a/.gitignore b/.gitignore index 5256ca2..399ec11 100644 --- a/.gitignore +++ b/.gitignore @@ -5,9 +5,11 @@ *.swp .DS_Store .atom/ +.build/ .buildlog/ .history .svn/ +.swiftpm/ migrate_working_dir/ # IntelliJ related diff --git a/android/app/build.gradle b/android/app/build.gradle index 5e03d06..2e9c36e 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -32,12 +32,13 @@ def keystorePropertiesFile = rootProject.file('key.properties') android { namespace "com.sefer_driver" - compileSdk 34 + compileSdk 35 ndkVersion flutter.ndkVersion compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 + coreLibraryDesugaringEnabled true } kotlinOptions { diff --git a/android/build.gradle b/android/build.gradle index 1c40cd1..44e5be3 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -9,7 +9,7 @@ buildscript { // START: FlutterFire Configuration classpath 'com.google.gms:google-services:4.4.2' // END: FlutterFire Configuration - classpath 'com.android.tools.build:gradle:8.0.0' + classpath 'com.android.tools.build:gradle:8.4.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 887d624..684137a 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -4,4 +4,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-all.zip diff --git a/assets/images/7.jpeg b/assets/images/7.jpeg new file mode 100644 index 0000000..3108cb3 Binary files /dev/null and b/assets/images/7.jpeg differ diff --git a/bubble-master/pubspec.lock b/bubble-master/pubspec.lock index df9b838..461388f 100755 --- a/bubble-master/pubspec.lock +++ b/bubble-master/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" fake_async: dependency: transitive description: @@ -63,18 +63,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -119,7 +119,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: @@ -132,10 +132,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -148,10 +148,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" term_glyph: dependency: transitive description: @@ -164,10 +164,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" vector_math: dependency: transitive description: @@ -180,10 +180,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" sdks: - dart: ">=3.3.0 <4.0.0" + dart: ">=3.4.0 <4.0.0" flutter: ">=3.18.0-18.0.pre.54" diff --git a/ios/Podfile b/ios/Podfile index c6404d1..20f45c9 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,8 +1,6 @@ -# Uncomment this line to define a global platform for your project platform :ios, '14.0' -$iOSVersion = '14.0' # or newer version +$iOSVersion = '14.0' # or your desired version -# CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' project 'Runner', { @@ -10,6 +8,7 @@ project 'Runner', { 'Profile' => :release, 'Release' => :release, } + def flutter_root generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__) unless File.exist?(generated_xcode_build_settings_path) @@ -28,29 +27,33 @@ require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelpe flutter_ios_podfile_setup target 'Runner' do - use_frameworks! - use_modular_headers! + use_frameworks! :linkage => :dynamic + pod 'Firebase', :modular_headers => true + + # Explicitly enable modular headers for firebase_messaging and other Firebase-related pods + pod 'FirebaseMessaging', :modular_headers => true + pod 'FirebaseCore', :modular_headers => true + pod 'FirebaseAuth', :modular_headers => true flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__)) + target 'RunnerTests' do inherit! :search_paths end end post_install do |installer| - # add these lines: installer.pods_project.build_configurations.each do |config| config.build_settings["EXCLUDED_ARCHS[sdk=*]"] = "armv7" config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion end + installer.pods_project.targets.each do |target| flutter_additional_ios_build_settings(target) - # add these lines: target.build_configurations.each do |config| if Gem::Version.new($iOSVersion) > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET']) config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion end end end -end - +end \ No newline at end of file diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 284eee8..b0a7bc3 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,9 +1,9 @@ PODS: - - AppAuth (1.7.5): - - AppAuth/Core (= 1.7.5) - - AppAuth/ExternalUserAgent (= 1.7.5) - - AppAuth/Core (1.7.5) - - AppAuth/ExternalUserAgent (1.7.5): + - AppAuth (1.7.6): + - AppAuth/Core (= 1.7.6) + - AppAuth/ExternalUserAgent (= 1.7.6) + - AppAuth/Core (1.7.6) + - AppAuth/ExternalUserAgent (1.7.6): - AppAuth/Core - audio_session (0.0.1): - Flutter @@ -13,53 +13,81 @@ PODS: - Flutter - device_info_plus (0.0.1): - Flutter - - Firebase/Auth (10.28.0): + - Firebase (11.4.0): + - Firebase/Core (= 11.4.0) + - Firebase/Auth (11.4.0): - Firebase/CoreOnly - - FirebaseAuth (~> 10.28.0) - - Firebase/CoreOnly (10.28.0): - - FirebaseCore (= 10.28.0) - - Firebase/Messaging (10.28.0): + - FirebaseAuth (~> 11.4.0) + - Firebase/Core (11.4.0): - Firebase/CoreOnly - - FirebaseMessaging (~> 10.28.0) - - firebase_auth (5.1.2): - - Firebase/Auth (= 10.28.0) + - FirebaseAnalytics (~> 11.4.0) + - Firebase/CoreOnly (11.4.0): + - FirebaseCore (= 11.4.0) + - Firebase/Messaging (11.4.0): + - Firebase/CoreOnly + - FirebaseMessaging (~> 11.4.0) + - firebase_auth (5.3.4): + - Firebase/Auth (= 11.4.0) - firebase_core - Flutter - - firebase_core (3.2.0): - - Firebase/CoreOnly (= 10.28.0) + - firebase_core (3.9.0): + - Firebase/CoreOnly (= 11.4.0) - Flutter - - firebase_messaging (15.0.3): - - Firebase/Messaging (= 10.28.0) + - firebase_messaging (15.1.6): + - Firebase/Messaging (= 11.4.0) - firebase_core - Flutter - - FirebaseAppCheckInterop (10.29.0) - - FirebaseAuth (10.28.0): - - FirebaseAppCheckInterop (~> 10.17) - - FirebaseCore (~> 10.0) - - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - - GoogleUtilities/Environment (~> 7.8) - - GTMSessionFetcher/Core (< 4.0, >= 2.1) + - FirebaseAnalytics (11.4.0): + - FirebaseAnalytics/AdIdSupport (= 11.4.0) + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseAnalytics/AdIdSupport (11.4.0): + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleAppMeasurement (= 11.4.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - FirebaseAppCheckInterop (11.6.0) + - FirebaseAuth (11.4.0): + - FirebaseAppCheckInterop (~> 11.0) + - FirebaseAuthInterop (~> 11.0) + - FirebaseCore (~> 11.4) + - FirebaseCoreExtension (~> 11.4) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/Environment (~> 8.0) + - GTMSessionFetcher/Core (< 5.0, >= 3.4) - RecaptchaInterop (~> 100.0) - - FirebaseCore (10.28.0): - - FirebaseCoreInternal (~> 10.0) - - GoogleUtilities/Environment (~> 7.12) - - GoogleUtilities/Logger (~> 7.12) - - FirebaseCoreInternal (10.29.0): - - "GoogleUtilities/NSData+zlib (~> 7.8)" - - FirebaseInstallations (10.29.0): - - FirebaseCore (~> 10.0) - - GoogleUtilities/Environment (~> 7.8) - - GoogleUtilities/UserDefaults (~> 7.8) - - PromisesObjC (~> 2.1) - - FirebaseMessaging (10.28.0): - - FirebaseCore (~> 10.0) - - FirebaseInstallations (~> 10.0) - - GoogleDataTransport (~> 9.3) - - GoogleUtilities/AppDelegateSwizzler (~> 7.8) - - GoogleUtilities/Environment (~> 7.8) - - GoogleUtilities/Reachability (~> 7.8) - - GoogleUtilities/UserDefaults (~> 7.8) - - nanopb (< 2.30911.0, >= 2.30908.0) + - FirebaseAuthInterop (11.6.0) + - FirebaseCore (11.4.0): + - FirebaseCoreInternal (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Logger (~> 8.0) + - FirebaseCoreExtension (11.4.1): + - FirebaseCore (~> 11.0) + - FirebaseCoreInternal (11.6.0): + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - FirebaseInstallations (11.4.0): + - FirebaseCore (~> 11.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - PromisesObjC (~> 2.4) + - FirebaseMessaging (11.4.0): + - FirebaseCore (~> 11.0) + - FirebaseInstallations (~> 11.0) + - GoogleDataTransport (~> 10.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/Environment (~> 8.0) + - GoogleUtilities/Reachability (~> 8.0) + - GoogleUtilities/UserDefaults (~> 8.0) + - nanopb (~> 3.30910.0) - Flutter (1.0.0) - flutter_contacts (0.0.1): - Flutter @@ -83,72 +111,77 @@ PODS: - Flutter - geolocator_apple (1.2.0): - Flutter + - Google-Maps-iOS-Utils (5.0.0): + - GoogleMaps (~> 8.0) - google_maps_flutter_ios (0.0.1): - Flutter + - Google-Maps-iOS-Utils (< 7.0, >= 5.0) - GoogleMaps (< 10.0, >= 8.4) - - google_mlkit_commons (0.7.1): - - Flutter - - MLKitVision - - google_mlkit_text_recognition (0.13.0): - - Flutter - - google_mlkit_commons - - GoogleMLKit/TextRecognition (~> 6.0.0) - google_sign_in_ios (0.0.1): - AppAuth (>= 1.7.4) - Flutter - FlutterMacOS - GoogleSignIn (~> 7.1) - GTMSessionFetcher (>= 3.4.0) - - GoogleDataTransport (9.4.1): - - GoogleUtilities/Environment (~> 7.7) - - nanopb (< 2.30911.0, >= 2.30908.0) - - PromisesObjC (< 3.0, >= 1.2) + - GoogleAppMeasurement (11.4.0): + - GoogleAppMeasurement/AdIdSupport (= 11.4.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/AdIdSupport (11.4.0): + - GoogleAppMeasurement/WithoutAdIdSupport (= 11.4.0) + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleAppMeasurement/WithoutAdIdSupport (11.4.0): + - GoogleUtilities/AppDelegateSwizzler (~> 8.0) + - GoogleUtilities/MethodSwizzler (~> 8.0) + - GoogleUtilities/Network (~> 8.0) + - "GoogleUtilities/NSData+zlib (~> 8.0)" + - nanopb (~> 3.30910.0) + - GoogleDataTransport (10.1.0): + - nanopb (~> 3.30910.0) + - PromisesObjC (~> 2.4) - GoogleMaps (8.4.0): - GoogleMaps/Maps (= 8.4.0) - GoogleMaps/Base (8.4.0) - GoogleMaps/Maps (8.4.0): - GoogleMaps/Base - - GoogleMLKit/MLKitCore (6.0.0): - - MLKitCommon (~> 11.0.0) - - GoogleMLKit/TextRecognition (6.0.0): - - GoogleMLKit/MLKitCore - - MLKitTextRecognition (~> 4.0.0) - GoogleSignIn (7.1.0): - AppAuth (< 2.0, >= 1.7.3) - GTMAppAuth (< 5.0, >= 4.1.1) - GTMSessionFetcher/Core (~> 3.3) - - GoogleToolboxForMac/Defines (4.2.1) - - GoogleToolboxForMac/Logger (4.2.1): - - GoogleToolboxForMac/Defines (= 4.2.1) - - "GoogleToolboxForMac/NSData+zlib (4.2.1)": - - GoogleToolboxForMac/Defines (= 4.2.1) - - GoogleUtilities/AppDelegateSwizzler (7.13.3): + - GoogleUtilities/AppDelegateSwizzler (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Logger - GoogleUtilities/Network - GoogleUtilities/Privacy - - GoogleUtilities/Environment (7.13.3): + - GoogleUtilities/Environment (8.0.2): - GoogleUtilities/Privacy - - PromisesObjC (< 3.0, >= 1.2) - - GoogleUtilities/Logger (7.13.3): + - GoogleUtilities/Logger (8.0.2): - GoogleUtilities/Environment - GoogleUtilities/Privacy - - GoogleUtilities/Network (7.13.3): + - GoogleUtilities/MethodSwizzler (8.0.2): + - GoogleUtilities/Logger + - GoogleUtilities/Privacy + - GoogleUtilities/Network (8.0.2): - GoogleUtilities/Logger - "GoogleUtilities/NSData+zlib" - GoogleUtilities/Privacy - GoogleUtilities/Reachability - - "GoogleUtilities/NSData+zlib (7.13.3)": + - "GoogleUtilities/NSData+zlib (8.0.2)": - GoogleUtilities/Privacy - - GoogleUtilities/Privacy (7.13.3) - - GoogleUtilities/Reachability (7.13.3): + - GoogleUtilities/Privacy (8.0.2) + - GoogleUtilities/Reachability (8.0.2): - GoogleUtilities/Logger - GoogleUtilities/Privacy - - GoogleUtilities/UserDefaults (7.13.3): + - GoogleUtilities/UserDefaults (8.0.2): - GoogleUtilities/Logger - GoogleUtilities/Privacy - - GoogleUtilitiesComponents (1.1.0): - - GoogleUtilities/Logger - GTMAppAuth (4.1.1): - AppAuth/Core (~> 1.7) - GTMSessionFetcher/Core (< 4.0, >= 3.3) @@ -178,37 +211,17 @@ PODS: - libwebp/sharpyuv - local_auth_darwin (0.0.1): - Flutter + - FlutterMacOS - location (0.0.1): - Flutter - Mantle (2.2.0): - Mantle/extobjc (= 2.2.0) - Mantle/extobjc (2.2.0) - - MLImage (1.0.0-beta5) - - MLKitCommon (11.0.0): - - GoogleDataTransport (< 10.0, >= 9.4.1) - - GoogleToolboxForMac/Logger (< 5.0, >= 4.2.1) - - "GoogleToolboxForMac/NSData+zlib (< 5.0, >= 4.2.1)" - - GoogleUtilities/UserDefaults (< 8.0, >= 7.13.0) - - GoogleUtilitiesComponents (~> 1.0) - - GTMSessionFetcher/Core (< 4.0, >= 3.3.2) - - MLKitTextRecognition (4.0.0): - - MLKitCommon (~> 11.0) - - MLKitTextRecognitionCommon (= 3.0.0) - - MLKitVision (~> 7.0) - - MLKitTextRecognitionCommon (3.0.0): - - MLKitCommon (~> 11.0) - - MLKitVision (~> 7.0) - - MLKitVision (7.0.0): - - GoogleToolboxForMac/Logger (< 5.0, >= 4.2.1) - - "GoogleToolboxForMac/NSData+zlib (< 5.0, >= 4.2.1)" - - GTMSessionFetcher/Core (< 4.0, >= 3.3.2) - - MLImage (= 1.0.0-beta5) - - MLKitCommon (~> 11.0) - - nanopb (2.30910.0): - - nanopb/decode (= 2.30910.0) - - nanopb/encode (= 2.30910.0) - - nanopb/decode (2.30910.0) - - nanopb/encode (2.30910.0) + - nanopb (3.30910.0): + - nanopb/decode (= 3.30910.0) + - nanopb/encode (= 3.30910.0) + - nanopb/decode (3.30910.0) + - nanopb/encode (3.30910.0) - OrderedSet (6.0.3) - package_info_plus (0.4.5): - Flutter @@ -221,10 +234,9 @@ PODS: - RecaptchaInterop (100.0.0) - record_darwin (1.0.0): - Flutter - - FlutterMacOS - - SDWebImage (5.19.7): - - SDWebImage/Core (= 5.19.7) - - SDWebImage/Core (5.19.7) + - SDWebImage (5.20.0): + - SDWebImage/Core (= 5.20.0) + - SDWebImage/Core (5.20.0) - SDWebImageWebPCoder (0.14.6): - libwebp (~> 1.0) - SDWebImage/Core (~> 5.17) @@ -232,45 +244,45 @@ PODS: - Flutter - sign_in_with_apple (0.0.1): - Flutter - - sqflite (0.0.3): + - sqflite_darwin (0.0.4): - Flutter - FlutterMacOS - - Stripe (23.27.6): - - StripeApplePay (= 23.27.6) - - StripeCore (= 23.27.6) - - StripePayments (= 23.27.6) - - StripePaymentsUI (= 23.27.6) - - StripeUICore (= 23.27.6) + - Stripe (23.30.0): + - StripeApplePay (= 23.30.0) + - StripeCore (= 23.30.0) + - StripePayments (= 23.30.0) + - StripePaymentsUI (= 23.30.0) + - StripeUICore (= 23.30.0) - stripe_ios (0.0.1): - Flutter - - Stripe (~> 23.27.0) - - StripeApplePay (~> 23.27.0) - - StripeFinancialConnections (~> 23.27.0) - - StripePayments (~> 23.27.0) - - StripePaymentSheet (~> 23.27.0) - - StripePaymentsUI (~> 23.27.0) - - StripeApplePay (23.27.6): - - StripeCore (= 23.27.6) - - StripeCore (23.27.6) - - StripeFinancialConnections (23.27.6): - - StripeCore (= 23.27.6) - - StripeUICore (= 23.27.6) - - StripePayments (23.27.6): - - StripeCore (= 23.27.6) - - StripePayments/Stripe3DS2 (= 23.27.6) - - StripePayments/Stripe3DS2 (23.27.6): - - StripeCore (= 23.27.6) - - StripePaymentSheet (23.27.6): - - StripeApplePay (= 23.27.6) - - StripeCore (= 23.27.6) - - StripePayments (= 23.27.6) - - StripePaymentsUI (= 23.27.6) - - StripePaymentsUI (23.27.6): - - StripeCore (= 23.27.6) - - StripePayments (= 23.27.6) - - StripeUICore (= 23.27.6) - - StripeUICore (23.27.6): - - StripeCore (= 23.27.6) + - Stripe (~> 23.30.0) + - StripeApplePay (~> 23.30.0) + - StripeFinancialConnections (~> 23.30.0) + - StripePayments (~> 23.30.0) + - StripePaymentSheet (~> 23.30.0) + - StripePaymentsUI (~> 23.30.0) + - StripeApplePay (23.30.0): + - StripeCore (= 23.30.0) + - StripeCore (23.30.0) + - StripeFinancialConnections (23.30.0): + - StripeCore (= 23.30.0) + - StripeUICore (= 23.30.0) + - StripePayments (23.30.0): + - StripeCore (= 23.30.0) + - StripePayments/Stripe3DS2 (= 23.30.0) + - StripePayments/Stripe3DS2 (23.30.0): + - StripeCore (= 23.30.0) + - StripePaymentSheet (23.30.0): + - StripeApplePay (= 23.30.0) + - StripeCore (= 23.30.0) + - StripePayments (= 23.30.0) + - StripePaymentsUI (= 23.30.0) + - StripePaymentsUI (23.30.0): + - StripeCore (= 23.30.0) + - StripePayments (= 23.30.0) + - StripeUICore (= 23.30.0) + - StripeUICore (23.30.0): + - StripeCore (= 23.30.0) - TOCropViewController (2.7.4) - url_launcher_ios (0.0.1): - Flutter @@ -290,9 +302,13 @@ DEPENDENCIES: - background_location (from `.symlinks/plugins/background_location/ios`) - camera_avfoundation (from `.symlinks/plugins/camera_avfoundation/ios`) - device_info_plus (from `.symlinks/plugins/device_info_plus/ios`) + - Firebase - firebase_auth (from `.symlinks/plugins/firebase_auth/ios`) - firebase_core (from `.symlinks/plugins/firebase_core/ios`) - firebase_messaging (from `.symlinks/plugins/firebase_messaging/ios`) + - FirebaseAuth + - FirebaseCore + - FirebaseMessaging - Flutter (from `Flutter`) - flutter_contacts (from `.symlinks/plugins/flutter_contacts/ios`) - flutter_image_compress_common (from `.symlinks/plugins/flutter_image_compress_common/ios`) @@ -302,8 +318,6 @@ DEPENDENCIES: - flutter_tts (from `.symlinks/plugins/flutter_tts/ios`) - geolocator_apple (from `.symlinks/plugins/geolocator_apple/ios`) - google_maps_flutter_ios (from `.symlinks/plugins/google_maps_flutter_ios/ios`) - - google_mlkit_commons (from `.symlinks/plugins/google_mlkit_commons/ios`) - - google_mlkit_text_recognition (from `.symlinks/plugins/google_mlkit_text_recognition/ios`) - google_sign_in_ios (from `.symlinks/plugins/google_sign_in_ios/darwin`) - image_cropper (from `.symlinks/plugins/image_cropper/ios`) - image_picker_ios (from `.symlinks/plugins/image_picker_ios/ios`) @@ -316,7 +330,7 @@ DEPENDENCIES: - record_darwin (from `.symlinks/plugins/record_darwin/ios`) - share (from `.symlinks/plugins/share/ios`) - sign_in_with_apple (from `.symlinks/plugins/sign_in_with_apple/ios`) - - sqflite (from `.symlinks/plugins/sqflite/darwin`) + - sqflite_darwin (from `.symlinks/plugins/sqflite_darwin/darwin`) - stripe_ios (from `.symlinks/plugins/stripe_ios/ios`) - url_launcher_ios (from `.symlinks/plugins/url_launcher_ios/ios`) - vibration (from `.symlinks/plugins/vibration/ios`) @@ -328,28 +342,25 @@ SPEC REPOS: trunk: - AppAuth - Firebase + - FirebaseAnalytics - FirebaseAppCheckInterop - FirebaseAuth + - FirebaseAuthInterop - FirebaseCore + - FirebaseCoreExtension - FirebaseCoreInternal - FirebaseInstallations - FirebaseMessaging + - Google-Maps-iOS-Utils + - GoogleAppMeasurement - GoogleDataTransport - GoogleMaps - - GoogleMLKit - GoogleSignIn - - GoogleToolboxForMac - GoogleUtilities - - GoogleUtilitiesComponents - GTMAppAuth - GTMSessionFetcher - libwebp - Mantle - - MLImage - - MLKitCommon - - MLKitTextRecognition - - MLKitTextRecognitionCommon - - MLKitVision - nanopb - OrderedSet - PromisesObjC @@ -399,10 +410,6 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/geolocator_apple/ios" google_maps_flutter_ios: :path: ".symlinks/plugins/google_maps_flutter_ios/ios" - google_mlkit_commons: - :path: ".symlinks/plugins/google_mlkit_commons/ios" - google_mlkit_text_recognition: - :path: ".symlinks/plugins/google_mlkit_text_recognition/ios" google_sign_in_ios: :path: ".symlinks/plugins/google_sign_in_ios/darwin" image_cropper: @@ -427,8 +434,8 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/share/ios" sign_in_with_apple: :path: ".symlinks/plugins/sign_in_with_apple/ios" - sqflite: - :path: ".symlinks/plugins/sqflite/darwin" + sqflite_darwin: + :path: ".symlinks/plugins/sqflite_darwin/darwin" stripe_ios: :path: ".symlinks/plugins/stripe_ios/ios" url_launcher_ios: @@ -443,83 +450,78 @@ EXTERNAL SOURCES: :path: ".symlinks/plugins/webview_flutter_wkwebview/darwin" SPEC CHECKSUMS: - AppAuth: 501c04eda8a8d11f179dbe8637b7a91bb7e5d2fa + AppAuth: d4f13a8fe0baf391b2108511793e4b479691fb73 audio_session: 088d2483ebd1dc43f51d253d4a1c517d9a2e7207 background_location: 1b80c1fe3abd9912bca298618f6e365abf6f588f camera_avfoundation: dd002b0330f4981e1bbcb46ae9b62829237459a4 - device_info_plus: 97af1d7e84681a90d0693e63169a5d50e0839a0d - Firebase: 5121c624121af81cbc81df3bda414b3c28c4f3c3 - firebase_auth: e778ee89483b86fe4200d1f8e9a1c52aa5fb64a8 - firebase_core: a9d0180d5285527884d07a41eb4a9ec9ed12cdb6 - firebase_messaging: ccc82a143a74de75f440a4e413dbbb37ec3fddbc - FirebaseAppCheckInterop: 6a1757cfd4067d8e00fccd14fcc1b8fd78cfac07 - FirebaseAuth: 3d872fbbfc4223edeb72769e488f325fa8b0a4a9 - FirebaseCore: 857dc1c6dd1255675047404d8466f7dfaac5d779 - FirebaseCoreInternal: df84dd300b561c27d5571684f389bf60b0a5c934 - FirebaseInstallations: 913cf60d0400ebd5d6b63a28b290372ab44590dd - FirebaseMessaging: 087a7c7cadef7b9239f005bc4db823894844f323 + device_info_plus: bf2e3232933866d73fe290f2942f2156cdd10342 + Firebase: cf1b19f21410b029b6786a54e9764a0cacad3c99 + firebase_auth: c4bdd9d7b338ac004008cb5024a643584e0ec03f + firebase_core: b62a5080210edad3f2934314a8b2c6f5124e8e10 + firebase_messaging: 98619a0572d82cfb3668e78859ba9f1110e268c9 + FirebaseAnalytics: 3feef9ae8733c567866342a1000691baaa7cad49 + FirebaseAppCheckInterop: 347aa09a805219a31249b58fc956888e9fcb314b + FirebaseAuth: c359af98bd703cbf4293eec107a40de08ede6ce6 + FirebaseAuthInterop: a919d415797d23b7bfe195a04f322b86c65020ef + FirebaseCore: e0510f1523bc0eb21653cac00792e1e2bd6f1771 + FirebaseCoreExtension: f1bc67a4702931a7caa097d8e4ac0a1b0d16720e + FirebaseCoreInternal: d98ab91e2d80a56d7b246856a8885443b302c0c2 + FirebaseInstallations: 6ef4a1c7eb2a61ee1f74727d7f6ce2e72acf1414 + FirebaseMessaging: f8a160d99c2c2e5babbbcc90c4a3e15db036aee2 Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 flutter_contacts: edb1c5ce76aa433e20e6cb14c615f4c0b66e0983 flutter_image_compress_common: ec1d45c362c9d30a3f6a0426c297f47c52007e3e flutter_inappwebview_ios: 6f63631e2c62a7c350263b13fa5427aedefe81d4 - flutter_local_notifications: 4cde75091f6327eb8517fa068a0a5950212d2086 + flutter_local_notifications: df98d66e515e1ca797af436137b4459b160ad8c9 flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12 flutter_tts: 0f492aab6accf87059b72354fcb4ba934304771d - geolocator_apple: 6cbaf322953988e009e5ecb481f07efece75c450 - google_maps_flutter_ios: 5bc2be60ad012e79b182ce0fb0ef5030a50fb03e - google_mlkit_commons: 96aaca445520311b84a2da013dedf3427fe4cc69 - google_mlkit_text_recognition: 393c2526da49aa6c9c883e6d69100f54af011e24 + geolocator_apple: 9bcea1918ff7f0062d98345d238ae12718acfbc1 + Google-Maps-iOS-Utils: 66d6de12be1ce6d3742a54661e7a79cb317a9321 + google_maps_flutter_ios: e31555a04d1986ab130f2b9f24b6cdc861acc6d3 google_sign_in_ios: 07375bfbf2620bc93a602c0e27160d6afc6ead38 - GoogleDataTransport: 6c09b596d841063d76d4288cc2d2f42cc36e1e2a + GoogleAppMeasurement: 987769c4ca6b968f2479fbcc9fe3ce34af454b8e + GoogleDataTransport: aae35b7ea0c09004c3797d53c8c41f66f219d6a7 GoogleMaps: 8939898920281c649150e0af74aa291c60f2e77d - GoogleMLKit: 97ac7af399057e99182ee8edfa8249e3226a4065 GoogleSignIn: d4281ab6cf21542b1cfaff85c191f230b399d2db - GoogleToolboxForMac: d1a2cbf009c453f4d6ded37c105e2f67a32206d8 - GoogleUtilities: ea963c370a38a8069cc5f7ba4ca849a60b6d7d15 - GoogleUtilitiesComponents: 679b2c881db3b615a2777504623df6122dd20afe + GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d GTMAppAuth: f69bd07d68cd3b766125f7e072c45d7340dea0de GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 image_cropper: 37d40f62177c101ff4c164906d259ea2c3aa70cf image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1 just_audio: baa7252489dbcf47a4c7cc9ca663e9661c99aafa libwebp: 1786c9f4ff8a279e4dac1e8f385004d5fc253009 - local_auth_darwin: 4d56c90c2683319835a61274b57620df9c4520ab + local_auth_darwin: 66e40372f1c29f383a314c738c7446e2f7fdadc3 location: d5cf8598915965547c3f36761ae9cc4f4e87d22e Mantle: c5aa8794a29a022dfbbfc9799af95f477a69b62d - MLImage: 1824212150da33ef225fbd3dc49f184cf611046c - MLKitCommon: afec63980417d29ffbb4790529a1b0a2291699e1 - MLKitTextRecognition: c83c18ad25496f2077f6ec93c5940487ff2eb343 - MLKitTextRecognitionCommon: c0b3a63d529296a19bce1f8bc8a513644ed4d1f6 - MLKitVision: e858c5f125ecc288e4a31127928301eaba9ae0c1 - nanopb: 438bc412db1928dac798aa6fd75726007be04262 + nanopb: fad817b59e0457d11a5dfbde799381cd727c1275 OrderedSet: e539b66b644ff081c73a262d24ad552a69be3a94 - package_info_plus: 58f0028419748fad15bf008b270aaa8e54380b1c + package_info_plus: c0502532a26c7662a62a356cebe2692ec5fe4ec4 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 permission_handler_apple: 9878588469a2b0d0fc1e048d9f43605f92e6cec2 PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 RecaptchaInterop: 7d1a4a01a6b2cb1610a47ef3f85f0c411434cb21 - record_darwin: df0a677188e5fed18472550298e675f19ddaffbe - SDWebImage: 8a6b7b160b4d710e2a22b6900e25301075c34cb3 + record_darwin: 3b1a8e7d5c0cbf45ad6165b4d83a6ca643d929c3 + SDWebImage: 73c6079366fea25fa4bb9640d5fb58f0893facd8 SDWebImageWebPCoder: e38c0a70396191361d60c092933e22c20d5b1380 share: 0b2c3e82132f5888bccca3351c504d0003b3b410 sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440 - sqflite: 673a0e54cc04b7d6dba8d24fb8095b31c3a99eec - Stripe: 9fec845645e39f371e6898926d096fd9c2feb5a5 - stripe_ios: 03c617acee72e48a2d055d096a4b0ed2afebb256 - StripeApplePay: 5f017e8dfe259fafbab70137776189deef754bb2 - StripeCore: 01ec57f0dddfe742054dc6a322f811426c25313d - StripeFinancialConnections: 56698cb6274bf89fb8c76b934f6156f368e97765 - StripePayments: 6adf11faf1b7038e77aa97019410305c6adca79d - StripePaymentSheet: 3eaf870c4388e44b0cc37e4c69d00b6957fd8bd7 - StripePaymentsUI: 59ccddeacad592b09fa67e8d641340820ddb4751 - StripeUICore: 879bbf5889265db13f52fac8aad7a176ba62481f + sqflite_darwin: 5a7236e3b501866c1c9befc6771dfd73ffb8702d + Stripe: 9757efc154de1d9615cbea4836d590bc4034d3a4 + stripe_ios: 4463f81157e91cbbf441e1b3fdf5edce90787491 + StripeApplePay: ca33933601302742623762157d587b79b942d073 + StripeCore: 2af250a2366ff2bbf64d4243c5f9bbf2a98b2aaf + StripeFinancialConnections: 3ab1ef6182ec44e71c29e9a2100b663f9713ac20 + StripePayments: 658a16bd34d20c8185aa281866227b9e1743300e + StripePaymentSheet: eac031f76d7fbb4f52df9b9c39be5be671ca4c07 + StripePaymentsUI: 7d7cffb2ecfc0d6b5ac3a4488c02893a5ff6cc77 + StripeUICore: bb102d453b1e1a10a37f810bc0a9aa0675fb17fd TOCropViewController: 80b8985ad794298fb69d3341de183f33d1853654 url_launcher_ios: 5334b05cef931de560670eeae103fd3e431ac3fe vibration: 7d883d141656a1c1a6d8d238616b2042a51a1241 video_player_avfoundation: 7c6c11d8470e1675df7397027218274b6d2360b3 - wakelock_plus: 78ec7c5b202cab7761af8e2b2b3d0671be6c4ae1 + wakelock_plus: 373cfe59b235a6dd5837d0fb88791d2f13a90d56 webview_flutter_wkwebview: 0982481e3d9c78fd5c6f62a002fcd24fc791f1e4 -PODFILE CHECKSUM: d9271c147dd54ffd9ca5d77bf00ca21a1c9a5961 +PODFILE CHECKSUM: 07f180bff2523e15e01e42c30418373e5627c8fd -COCOAPODS: 1.15.2 +COCOAPODS: 1.16.2 diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 84e1046..c14b593 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -7,10 +7,11 @@ objects = { /* Begin PBXBuildFile section */ - 0E2EB9A18A85A8C79C1A5B17 /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 27958A27956787B6764BC14F /* Pods_RunnerTests.framework */; }; 1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; }; 331C808B294A63AB00263BE5 /* RunnerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 331C807B294A618700263BE5 /* RunnerTests.swift */; }; + 38BFC4984B1B26A880FE76DE /* Pods_RunnerTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2AC5295B6ADEC13901A4281A /* Pods_RunnerTests.framework */; }; 3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; }; + 3CEA26D0738D4C4B62323122 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A1987A597103D3E58DD06571 /* Pods_Runner.framework */; }; 74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; }; 97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; }; 97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; }; @@ -25,7 +26,6 @@ C690B4752A80554500E1D66E /* GoogleService-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = C690B4742A80554500E1D66E /* GoogleService-Info.plist */; }; C6B15AA12B5FB24600746405 /* order.wav in Resources */ = {isa = PBXBuildFile; fileRef = C6B15A9F2B5FB24600746405 /* order.wav */; }; C6B15AA22B5FB24600746405 /* tone2.wav in Resources */ = {isa = PBXBuildFile; fileRef = C6B15AA02B5FB24600746405 /* tone2.wav */; }; - D529E7C8240CCC30BB7358A2 /* Pods_Runner.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B099132D71B1299FCDFD9C8 /* Pods_Runner.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -52,17 +52,16 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 08CDD9E654C52E05FEE40E98 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 0116059C9A3684AC66E6EA10 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; + 0A588BA0B74F002C38F0E4F0 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; 1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; }; 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; }; - 27958A27956787B6764BC14F /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 169535ADE82517D8C1F876D0 /* Pods-Runner.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.debug.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.debug.xcconfig"; sourceTree = ""; }; + 20CE5C1BB6B23CE4706F0F53 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; + 2AC5295B6ADEC13901A4281A /* Pods_RunnerTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_RunnerTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 331C807B294A618700263BE5 /* RunnerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RunnerTests.swift; sourceTree = ""; }; 331C8081294A63A400263BE5 /* RunnerTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RunnerTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 3B099132D71B1299FCDFD9C8 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; }; - 42939EAD96568C1F3F0E8006 /* Pods-RunnerTests.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.profile.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.profile.xcconfig"; sourceTree = ""; }; - 43385D55BAC53942A4B30B22 /* Pods-RunnerTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.debug.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.debug.xcconfig"; sourceTree = ""; }; - 45F2ED245254D48D155DD716 /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; 74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; }; 74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; }; @@ -73,6 +72,7 @@ 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + A1987A597103D3E58DD06571 /* Pods_Runner.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Runner.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C624C45C2BD56D34002834AF /* tone1.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = tone1.mp3; path = ../../android/app/src/main/res/raw/tone1.mp3; sourceTree = ""; }; C624C45D2BD56D34002834AF /* start.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = start.wav; path = ../../android/app/src/main/res/raw/start.wav; sourceTree = ""; }; C624C45F2BD56D34002834AF /* promo.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = promo.wav; path = ../../android/app/src/main/res/raw/promo.wav; sourceTree = ""; }; @@ -84,8 +84,8 @@ C69588332A8C1F6B00C3AC67 /* Runner.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = Runner.entitlements; sourceTree = ""; }; C6B15A9F2B5FB24600746405 /* order.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = order.wav; sourceTree = ""; }; C6B15AA02B5FB24600746405 /* tone2.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = tone2.wav; sourceTree = ""; }; - CAF37DC30C17166B851DBC8C /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = ""; }; - F231BA28015FE2C634809733 /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + F13EEC8BD3BD109D175EA06D /* Pods-Runner.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.release.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.release.xcconfig"; sourceTree = ""; }; + F8C2B267C197A536F06ED67A /* Pods-RunnerTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-RunnerTests.release.xcconfig"; path = "Target Support Files/Pods-RunnerTests/Pods-RunnerTests.release.xcconfig"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -93,7 +93,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 0E2EB9A18A85A8C79C1A5B17 /* Pods_RunnerTests.framework in Frameworks */, + 38BFC4984B1B26A880FE76DE /* Pods_RunnerTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -101,7 +101,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D529E7C8240CCC30BB7358A2 /* Pods_Runner.framework in Frameworks */, + 3CEA26D0738D4C4B62323122 /* Pods_Runner.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -119,12 +119,12 @@ 5684D45491D29A320AB8001A /* Pods */ = { isa = PBXGroup; children = ( - 08CDD9E654C52E05FEE40E98 /* Pods-Runner.debug.xcconfig */, - F231BA28015FE2C634809733 /* Pods-Runner.release.xcconfig */, - CAF37DC30C17166B851DBC8C /* Pods-Runner.profile.xcconfig */, - 43385D55BAC53942A4B30B22 /* Pods-RunnerTests.debug.xcconfig */, - 45F2ED245254D48D155DD716 /* Pods-RunnerTests.release.xcconfig */, - 42939EAD96568C1F3F0E8006 /* Pods-RunnerTests.profile.xcconfig */, + 169535ADE82517D8C1F876D0 /* Pods-Runner.debug.xcconfig */, + F13EEC8BD3BD109D175EA06D /* Pods-Runner.release.xcconfig */, + 20CE5C1BB6B23CE4706F0F53 /* Pods-Runner.profile.xcconfig */, + 0A588BA0B74F002C38F0E4F0 /* Pods-RunnerTests.debug.xcconfig */, + F8C2B267C197A536F06ED67A /* Pods-RunnerTests.release.xcconfig */, + 0116059C9A3684AC66E6EA10 /* Pods-RunnerTests.profile.xcconfig */, ); path = Pods; sourceTree = ""; @@ -148,7 +148,7 @@ 97C146EF1CF9000F007C117D /* Products */, 331C8082294A63A400263BE5 /* RunnerTests */, 5684D45491D29A320AB8001A /* Pods */, - B3041BA408DBB12F66846F39 /* Frameworks */, + A3767309D6B5681282917CC7 /* Frameworks */, ); sourceTree = ""; }; @@ -187,11 +187,11 @@ path = Runner; sourceTree = ""; }; - B3041BA408DBB12F66846F39 /* Frameworks */ = { + A3767309D6B5681282917CC7 /* Frameworks */ = { isa = PBXGroup; children = ( - 3B099132D71B1299FCDFD9C8 /* Pods_Runner.framework */, - 27958A27956787B6764BC14F /* Pods_RunnerTests.framework */, + A1987A597103D3E58DD06571 /* Pods_Runner.framework */, + 2AC5295B6ADEC13901A4281A /* Pods_RunnerTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -203,7 +203,7 @@ isa = PBXNativeTarget; buildConfigurationList = 331C8087294A63A400263BE5 /* Build configuration list for PBXNativeTarget "RunnerTests" */; buildPhases = ( - E21B2D2CCD3CE8A2142D0F2C /* [CP] Check Pods Manifest.lock */, + 6A195BB0776CA9E53EAA143A /* [CP] Check Pods Manifest.lock */, 331C807D294A63A400263BE5 /* Sources */, 331C807F294A63A400263BE5 /* Resources */, 7AD318F74F39A70FCC91E66D /* Frameworks */, @@ -222,15 +222,15 @@ isa = PBXNativeTarget; buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */; buildPhases = ( - 3F036A01BF594E9B01799541 /* [CP] Check Pods Manifest.lock */, + 495F1A7DF9442FE345F87EDB /* [CP] Check Pods Manifest.lock */, 9740EEB61CF901F6004384FC /* Run Script */, 97C146EA1CF9000F007C117D /* Sources */, 97C146EB1CF9000F007C117D /* Frameworks */, 97C146EC1CF9000F007C117D /* Resources */, 9705A1C41CF9048500538489 /* Embed Frameworks */, 3B06AD1E1E4923F5004D2608 /* Thin Binary */, - 854CC60BC5A3FC7474EC1FBF /* [CP] Embed Pods Frameworks */, - 7ADB08D4DE3D2A2E09575068 /* [CP] Copy Pods Resources */, + 87F758C3C5B8AE624C4BE481 /* [CP] Embed Pods Frameworks */, + 99A28AAD8EACCE6238494873 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -328,7 +328,7 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin"; }; - 3F036A01BF594E9B01799541 /* [CP] Check Pods Manifest.lock */ = { + 495F1A7DF9442FE345F87EDB /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -350,24 +350,29 @@ shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 7ADB08D4DE3D2A2E09575068 /* [CP] Copy Pods Resources */ = { + 6A195BB0776CA9E53EAA143A /* [CP] Check Pods Manifest.lock */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", ); - name = "[CP] Copy Pods Resources"; + inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", + ); + name = "[CP] Check Pods Manifest.lock"; outputFileListPaths = ( - "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", + ); + outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; - 854CC60BC5A3FC7474EC1FBF /* [CP] Embed Pods Frameworks */ = { + 87F758C3C5B8AE624C4BE481 /* [CP] Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -399,26 +404,21 @@ shellPath = /bin/sh; shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build"; }; - E21B2D2CCD3CE8A2142D0F2C /* [CP] Check Pods Manifest.lock */ = { + 99A28AAD8EACCE6238494873 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( ); inputFileListPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-input-files.xcfilelist", ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; + name = "[CP] Copy Pods Resources"; outputFileListPaths = ( - ); - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RunnerTests-checkManifestLockResult.txt", + "${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources-${CONFIGURATION}-output-files.xcfilelist", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-Runner/Pods-Runner-resources.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -550,7 +550,7 @@ }; 331C8088294A63A400263BE5 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 43385D55BAC53942A4B30B22 /* Pods-RunnerTests.debug.xcconfig */; + baseConfigurationReference = 0A588BA0B74F002C38F0E4F0 /* Pods-RunnerTests.debug.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -569,7 +569,7 @@ }; 331C8089294A63A400263BE5 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 45F2ED245254D48D155DD716 /* Pods-RunnerTests.release.xcconfig */; + baseConfigurationReference = F8C2B267C197A536F06ED67A /* Pods-RunnerTests.release.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; @@ -586,7 +586,7 @@ }; 331C808A294A63A400263BE5 /* Profile */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 42939EAD96568C1F3F0E8006 /* Pods-RunnerTests.profile.xcconfig */; + baseConfigurationReference = 0116059C9A3684AC66E6EA10 /* Pods-RunnerTests.profile.xcconfig */; buildSettings = { BUNDLE_LOADER = "$(TEST_HOST)"; CODE_SIGN_STYLE = Automatic; diff --git a/lib/controller/auth/captin/ml_google_doc.dart b/lib/controller/auth/captin/ml_google_doc.dart index 35976ab..87b70a2 100644 --- a/lib/controller/auth/captin/ml_google_doc.dart +++ b/lib/controller/auth/captin/ml_google_doc.dart @@ -1,93 +1,93 @@ import 'dart:io'; import 'package:get/get.dart'; -import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart'; +// import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart'; import 'package:image_cropper/image_cropper.dart'; import 'package:image_picker/image_picker.dart'; import 'package:sefer_driver/constant/colors.dart'; import 'package:sefer_driver/controller/functions/llama_ai.dart'; -class CarRegistrationRecognizerController extends GetxController { - @override - void onInit() { - // scanText(); - super.onInit(); - } +// class CarRegistrationRecognizerController extends GetxController { +// @override +// void onInit() { +// // scanText(); +// super.onInit(); +// } - // The ImagePicker instance - final ImagePicker _imagePicker = ImagePicker(); +// // The ImagePicker instance +// final ImagePicker _imagePicker = ImagePicker(); - // The GoogleMlKit TextRecognizer instance - final TextRecognizer _textRecognizer = TextRecognizer(); +// // The GoogleMlKit TextRecognizer instance +// // final TextRecognizer _textRecognizer = TextRecognizer(); - // The scanned text - String? scannedText; - String? jsonOutput; - final List> lines = []; - Map extracted = {}; - XFile? image; - CroppedFile? croppedFile; - // Picks an image from the camera or gallery and extracts the text - final List> extractedTextWithCoordinates = []; +// // The scanned text +// String? scannedText; +// String? jsonOutput; +// final List> lines = []; +// Map extracted = {}; +// XFile? image; +// CroppedFile? croppedFile; +// // Picks an image from the camera or gallery and extracts the text +// final List> extractedTextWithCoordinates = []; - Future scanText() async { - // Pick an image from the camera or gallery - image = await _imagePicker.pickImage(source: ImageSource.gallery); - update(); +// Future scanText() async { +// // Pick an image from the camera or gallery +// image = await _imagePicker.pickImage(source: ImageSource.gallery); +// update(); - // If no image was picked, return - if (image == null) { - return; - } +// // If no image was picked, return +// if (image == null) { +// return; +// } - // Crop the image - croppedFile = await ImageCropper().cropImage( - sourcePath: image!.path, - // - uiSettings: [ - AndroidUiSettings( - toolbarTitle: 'Cropper'.tr, - toolbarColor: AppColor.blueColor, - toolbarWidgetColor: AppColor.yellowColor, - initAspectRatio: CropAspectRatioPreset.original, - lockAspectRatio: false), - IOSUiSettings( - title: 'Cropper'.tr, - ), - ], - ); +// // Crop the image +// croppedFile = await ImageCropper().cropImage( +// sourcePath: image!.path, +// // +// uiSettings: [ +// AndroidUiSettings( +// toolbarTitle: 'Cropper'.tr, +// toolbarColor: AppColor.blueColor, +// toolbarWidgetColor: AppColor.yellowColor, +// initAspectRatio: CropAspectRatioPreset.original, +// lockAspectRatio: false), +// IOSUiSettings( +// title: 'Cropper'.tr, +// ), +// ], +// ); - // If no cropped image was obtained, return - if (croppedFile == null) { - return; - } +// // If no cropped image was obtained, return +// if (croppedFile == null) { +// return; +// } - // Convert the cropped file to an InputImage object - final InputImage inputImage = InputImage.fromFile(File(croppedFile!.path)); +// // Convert the cropped file to an InputImage object +// final InputImage inputImage = InputImage.fromFile(File(croppedFile!.path)); - // Recognize the text in the image - final RecognizedText recognizedText = - await _textRecognizer.processImage(inputImage); - scannedText = recognizedText.text; +// // Recognize the text in the image +// final RecognizedText recognizedText = +// await _textRecognizer.processImage(inputImage); +// scannedText = recognizedText.text; - // Extract the scanned text line by line - final List> lines = []; - for (var i = 0; i < recognizedText.blocks.length; i++) { - lines.add({ - i.toString(): recognizedText.blocks[i].text, - }); - } +// // Extract the scanned text line by line +// final List> lines = []; +// for (var i = 0; i < recognizedText.blocks.length; i++) { +// lines.add({ +// i.toString(): recognizedText.blocks[i].text, +// }); +// } - String result = lines.map((map) => map.values.first.toString()).join(' '); - if (result.length > 2200) { - result = result.substring(0, 2200); - } - Map result2 = await LlamaAi().getCarRegistrationData(result, - 'vin,make,made,year,expiration_date,color,owner,registration_date'); // +// String result = lines.map((map) => map.values.first.toString()).join(' '); +// if (result.length > 2200) { +// result = result.substring(0, 2200); +// } +// Map result2 = await LlamaAi().getCarRegistrationData(result, +// 'vin,make,made,year,expiration_date,color,owner,registration_date'); // - // Assign the result to the extracted variable - extracted = result2; +// // Assign the result to the extracted variable +// extracted = result2; - update(); - } -} +// update(); +// } +// } diff --git a/lib/controller/auth/captin/register_captin_controller.dart b/lib/controller/auth/captin/register_captin_controller.dart index 2a0ff38..5a15351 100644 --- a/lib/controller/auth/captin/register_captin_controller.dart +++ b/lib/controller/auth/captin/register_captin_controller.dart @@ -313,7 +313,7 @@ class RegisterCaptainController extends GetxController { '') { Get.offAll(() => HomeCaptain()); } else { - Get.to(() => CarLicensePage()); + // Get.to(() => CarLicensePage()); } } } diff --git a/lib/controller/firebase/local_notification.dart b/lib/controller/firebase/local_notification.dart index b97c99e..78c38f9 100644 --- a/lib/controller/firebase/local_notification.dart +++ b/lib/controller/firebase/local_notification.dart @@ -29,8 +29,8 @@ class NotificationController extends GetxController { requestAlertPermission: true, requestBadgePermission: true, requestSoundPermission: true, - onDidReceiveLocalNotification: - (int id, String? title, String? body, String? payload) async {}, + // onDidReceiveLocalNotification: + // (int id, String? title, String? body, String? payload) async {}, ); InitializationSettings initializationSettings = InitializationSettings(android: android, iOS: ios); @@ -176,11 +176,12 @@ class NotificationController extends GetxController { message, scheduledTime, details, - androidAllowWhileIdle: true, + // androidAllowWhileIdle: true, uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime, - matchDateTimeComponents: - DateTimeComponents.time, // Triggers daily at the same time + matchDateTimeComponents: DateTimeComponents.time, + androidScheduleMode: + AndroidScheduleMode.alarmClock, // Triggers daily at the same time ); print('Notification scheduled successfully'); } @@ -232,6 +233,7 @@ class NotificationController extends GetxController { uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime, matchDateTimeComponents: DateTimeComponents.time, + androidScheduleMode: AndroidScheduleMode.alarmClock, ); print('Notification scheduled successfully'); }); @@ -397,10 +399,11 @@ class NotificationController extends GetxController { message.tr, scheduledTime, details, - androidAllowWhileIdle: true, + // androidAllowWhileIdle: true, uiLocalNotificationDateInterpretation: UILocalNotificationDateInterpretation.absoluteTime, matchDateTimeComponents: DateTimeComponents.time, + androidScheduleMode: AndroidScheduleMode.alarmClock, ); }); diff --git a/lib/controller/functions/camer_controller.dart b/lib/controller/functions/camer_controller.dart index 67820d9..dc682aa 100644 --- a/lib/controller/functions/camer_controller.dart +++ b/lib/controller/functions/camer_controller.dart @@ -3,7 +3,7 @@ import 'dart:io'; import 'package:camera/camera.dart'; import 'package:get/get.dart'; -import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart'; +// import 'package:google_mlkit_text_recognition/google_mlkit_text_recognition.dart'; import 'package:sefer_driver/constant/box_name.dart'; import 'package:sefer_driver/constant/links.dart'; import 'package:sefer_driver/views/widgets/elevated_btn.dart'; @@ -16,7 +16,7 @@ class CameraClassController extends GetxController { late CameraController cameraController; late List cameras; bool isCameraInitialized = false; - final TextRecognizer _textRecognizer = TextRecognizer(); + // final TextRecognizer _textRecognizer = TextRecognizer(); String? scannedText; bool isloading = false; @@ -126,45 +126,45 @@ class CameraClassController extends GetxController { return responseString; } - Future takePictureAndMLGoogleScan() async { - try { - // Construct the path for the image file - final directory = await path_provider.getTemporaryDirectory(); - final imagePath = - path.join(directory.path, '${box.read(BoxName.driverID)}.png'); + // Future takePictureAndMLGoogleScan() async { + // try { + // // Construct the path for the image file + // final directory = await path_provider.getTemporaryDirectory(); + // final imagePath = + // path.join(directory.path, '${box.read(BoxName.driverID)}.png'); - // Capture the image and save it to the specified path - final XFile capturedImage = await cameraController.takePicture(); + // // Capture the image and save it to the specified path + // final XFile capturedImage = await cameraController.takePicture(); - // Move the captured image to the desired path - await capturedImage.saveTo(imagePath); + // // Move the captured image to the desired path + // await capturedImage.saveTo(imagePath); - // Recognize the text in the image - final InputImage inputImage = - InputImage.fromFile(File(capturedImage.path)); - final RecognizedText recognizedText = - await _textRecognizer.processImage(inputImage); - scannedText = recognizedText.text; + // // Recognize the text in the image + // final InputImage inputImage = + // InputImage.fromFile(File(capturedImage.path)); + // final RecognizedText recognizedText = + // await _textRecognizer.processImage(inputImage); + // scannedText = recognizedText.text; - // Extract the scanned text line by line - final List> lines = []; - for (var i = 0; i < recognizedText.blocks.length; i++) { - lines.add({ - 'line_number': i, - 'text': recognizedText.blocks[i].text, - }); - } + // // Extract the scanned text line by line + // final List> lines = []; + // for (var i = 0; i < recognizedText.blocks.length; i++) { + // lines.add({ + // 'line_number': i, + // 'text': recognizedText.blocks[i].text, + // }); + // } - // Convert the list of lines to a JSON string - final String jsonOutput = jsonEncode(lines); + // // Convert the list of lines to a JSON string + // final String jsonOutput = jsonEncode(lines); - update(); + // update(); - // Print the JSON output + // // Print the JSON output - // Get.back(); - } catch (e) {} - } + // // Get.back(); + // } catch (e) {} + // } String getTextAsJSON(String text) { final lines = text.split('\n'); diff --git a/lib/controller/functions/gemeni.dart b/lib/controller/functions/gemeni.dart index af27198..c939179 100644 --- a/lib/controller/functions/gemeni.dart +++ b/lib/controller/functions/gemeni.dart @@ -42,6 +42,8 @@ enum DocumentType { carLicenseFront, carLicenseBack, idCardFront, + nonIdCardFront, + nonIdCardBack, idCardBack, driverLicense, unknown, @@ -150,6 +152,14 @@ class AI extends GetxController { // Check if the inspection date is before today final inspectionDateTime = DateTime(year, 12, 31); final isInspectionExpired = inspectionDateTime.isBefore(today); +// Add birthdate comparison for non-Egyptian ID + final frontBirthDate = + DateTime.tryParse(responseNonIdCardFront['birthdate'] ?? ''); + final backBirthDate = + DateTime.tryParse(responseNonIdCardBack['birthDate'] ?? ''); + final birthdatesMismatch = frontBirthDate != null && + backBirthDate != null && + frontBirthDate != backBirthDate; if (isExpiredCar || isInspectionExpired) { Get.defaultDialog( @@ -186,6 +196,41 @@ class AI extends GetxController { ), ], ); + } else if (birthdatesMismatch && !isEgypt) { + Get.defaultDialog( + title: 'Birthdate Mismatch'.tr, + content: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Icon(Icons.warning, size: 48, color: Colors.red), + const SizedBox(height: 16), + Text( + "The birthdate on your ID front doesn't match the one on the back. Please verify your documents." + .tr, + textAlign: TextAlign.center, + style: AppStyle.title, + ), + const SizedBox(height: 16), + IconButton( + onPressed: () async { + await Get.find().speakText( + "The birthdate on your ID front doesn't match the one on the back. Please verify your documents." + .tr, + ); + }, + icon: const Icon(Icons.volume_up), + ), + ], + ), + actions: [ + TextButton( + onPressed: () { + Get.back(); + }, + child: const Text('OK'), + ), + ], + ); } else if (isExpired) { Get.defaultDialog( title: 'Expired Driver’s License'.tr, @@ -298,7 +343,7 @@ class AI extends GetxController { // ); // } else { - await addDriverEgypt(); + isEgypt ? await addDriverEgypt() : await addDriverForeign(); await addRegistrationCarEgypt(); if (isCarSaved && isDriverSaved) { @@ -343,6 +388,99 @@ class AI extends GetxController { return dob; } + Future addDriverForeign() async { + isLoading = true; + update(); + + var payload = { + 'first_name': + responseNonIdCardFront['full_name']?.toString().split(' ')[0] ?? + 'Not specified', + 'last_name': + responseNonIdCardFront['full_name']?.toString().split(' ').last ?? + 'Not specified', + 'email': box.read(BoxName.emailDriver)?.toString() ?? 'Not specified', + 'phone': box.read(BoxName.phoneDriver)?.toString() ?? 'Not specified', + 'id': box.read(BoxName.driverID)?.toString() ?? 'Not specified', + 'password': + Get.put(LoginDriverController()).passwordController.text.isEmpty + ? box.read(BoxName.emailDriver).toString() + : Get.find() + .passwordController + .text + .toString(), + 'gender': responseNonIdCardFront['gender']?.toString() ?? 'Not specified', + 'license_type': 'Foreign', + 'national_number': + responseNonIdCardFront['passport_no']?.toString() ?? 'Not specified', + 'name_arabic': + responseNonIdCardFront['full_name']?.toString() ?? 'Not specified', + 'name_english': 'Not specified', + 'issue_date': + responseNonIdCardBack['issueDate']?.toString() ?? 'Not specified', + 'expiry_date': + responseNonIdCardBack['residencyExpirationDate']?.toString() ?? + 'Not specified', + 'license_categories': responseIdEgyptDriverLicense['license_categories'] + is List + ? responseIdEgyptDriverLicense['license_categories'].join(', ') + : responseIdEgyptDriverLicense['license_categories']?.toString() ?? + 'Not specified', + 'address': + responseNonIdCardFront['address']?.toString() ?? 'Not specified', + 'card_id': + responseNonIdCardFront['card_id']?.toString() ?? 'Not specified', + 'occupation': + responseNonIdCardBack['workStatus']?.toString() ?? 'Not specified', + 'education': 'Not specified', + 'licenseIssueDate': + responseNonIdCardBack['issueDate']?.toString() ?? 'Not specified', + 'religion': + responseNonIdCardFront['country']?.toString() ?? 'Not specified', + 'status': 'yet', + 'birthdate': + responseNonIdCardFront['birthdate']?.toString() ?? 'Not specified', + 'maritalStatus': 'Not specified', + 'site': responseNonIdCardFront['address']?.toString() ?? 'Not specified', + 'employmentType': + responseNonIdCardBack['residencyType']?.toString() ?? 'Not specified', + }; + + try { + var res = await CRUD().post(link: AppLink.signUpCaptin, payload: payload); + + var status1; + try { + status1 = jsonDecode(res); + } catch (e) { + throw FormatException("Invalid JSON response: $res"); + } + + isLoading = false; + update(); + + if (status1['status'] == 'success') { + isDriverSaved = true; + CRUD().post( + link: '${AppLink.seferGizaServer}/auth/captin/register.php', + payload: payload); + CRUD().post( + link: '${AppLink.seferAlexandriaServer}/auth/captin/register.php', + payload: payload); + mySnackbarSuccess('Foreign driver data saved successfully'); + } else { + mySnackeBarError( + '${'Failed to save driver data'.tr}: ${status1['message']}'); + } + } catch (e) { + isLoading = false; + update(); + mySnackeBarError( + 'An error occurred while saving driver data'.tr, + ); + } + } + Future addDriverEgypt() async { isLoading = true; update(); @@ -542,16 +680,24 @@ class AI extends GetxController { Map responseForComplaint = {}; Map responseIdCardDriverEgyptFront = {}; Map responseIdEgyptFront = {}; + Map responseNonIdCardFront = {}; + Map responseNonIdCardBack = {}; Map responseCriminalRecordEgypt = {}; Map responseIdEgyptBack = {}; Map responseIdEgyptDriverLicense = {}; String? responseIdCardDriverEgypt1; bool isloading = false; bool isLoading = false; + bool isEgypt = true; var image; CroppedFile? croppedFile; DateTime now = DateTime.now(); + changeNationality() { + isEgypt = !isEgypt; + update(); + } + Future pickImage() async { final pickedImage = await picker.pickImage(source: ImageSource.gallery); @@ -607,6 +753,12 @@ class AI extends GetxController { ], DocumentType.idCardBack: ['البطاقةساريةحتى'], DocumentType.driverLicense: ['قيادةخاصة', 'خاصه', 'قيادة'], + DocumentType.nonIdCardFront: ['Foreign Residence Card', 'أجنبي', 'جواز'], + DocumentType.nonIdCardBack: [ + 'نوع الإقامة', + 'الإقامة', + 'Cardexpiresbyendofresidencepermit' + ], }; // Check each document type @@ -637,7 +789,10 @@ class AI extends GetxController { var extractedString = await CRUD().arabicTextExtractByVisionAndAI(imagePath: imagePath); var json = jsonDecode(extractedString); + // Log.print('extractedString: ${extractedString}'); var textValues = CRUD().extractTextFromLines(json); + Log.print('textValues: ${textValues}'); + // Log.print('json: ${json}'); DocumentType detectedType = checkDocumentType(textValues); String expectedDocument = getExpectedDocument(imagePath); @@ -720,6 +875,10 @@ class AI extends GetxController { return 'id_card_back'.tr; case 'id_front': return 'id_card_front'.tr; + case 'non_id_front': + return 'non_id_card_front'.tr; + case 'non_id_back': + return 'non_id_card_back'.tr; case 'driver_license': return 'driver_license'.tr; default: @@ -737,6 +896,10 @@ class AI extends GetxController { return DocumentType.idCardBack; case 'id_front': return DocumentType.idCardFront; + case 'non_id_front': + return DocumentType.nonIdCardFront; + case 'non_id_back': + return DocumentType.nonIdCardBack; case 'driver_license': return DocumentType.driverLicense; default: @@ -754,6 +917,10 @@ class AI extends GetxController { return 'id_card_front'.tr; case DocumentType.idCardBack: return 'id_card_back'.tr; + case DocumentType.nonIdCardFront: + return 'non_id_card_front'.tr; + case DocumentType.nonIdCardBack: + return 'non_id_card_back'.tr; case DocumentType.driverLicense: return 'driver_license'.tr; default: @@ -938,6 +1105,11 @@ class AI extends GetxController { } else if (idType == 'criminalRecord') { responseCriminalRecordEgypt = jsonDecode(responseData['content'][0]['text']); + } else if (idType == 'non_id_front') { + responseNonIdCardFront = jsonDecode(responseData['content'][0]['text']); + Log.print('responseNonIdCardFront: ${responseNonIdCardFront}'); + } else if (idType == 'non_id_back') { + responseNonIdCardBack = jsonDecode(responseData['content'][0]['text']); } update(); @@ -1014,6 +1186,12 @@ class AI extends GetxController { responseIdEgyptBack = jsonDecode(jsonString); } else if (idType == 'driver_license') { responseIdEgyptDriverLicense = jsonDecode(jsonString); + } else if (idType == 'non_id_front') { + responseNonIdCardFront = + jsonDecode(responseData['content'][0]['text']); + } else if (idType == 'non_id_back') { + responseNonIdCardBack = + jsonDecode(responseData['content'][0]['text']); } update(); diff --git a/lib/controller/functions/location_controller.dart b/lib/controller/functions/location_controller.dart index 1e07e38..d186044 100644 --- a/lib/controller/functions/location_controller.dart +++ b/lib/controller/functions/location_controller.dart @@ -1,21 +1,20 @@ import 'dart:async'; -import 'package:sefer_driver/controller/home/captin/home_captain_controller.dart'; import 'package:get/get.dart'; import 'package:google_maps_flutter/google_maps_flutter.dart'; import 'package:location/location.dart'; -import 'package:sefer_driver/constant/box_name.dart'; -import 'package:sefer_driver/constant/links.dart'; -import 'package:sefer_driver/controller/functions/crud.dart'; -import 'package:sefer_driver/controller/home/payment/captain_wallet_controller.dart'; -import 'package:sefer_driver/main.dart'; +import '../../constant/box_name.dart'; +import '../../constant/links.dart'; +import '../../main.dart'; import '../../print.dart'; +import '../home/captin/home_captain_controller.dart'; +import '../home/payment/captain_wallet_controller.dart'; +import 'crud.dart'; -// LocationController.dart class LocationController extends GetxController { LocationData? _currentLocation; - late Location location; + late Location location = Location(); bool isLoading = false; late double heading = 0; late double accuracy = 0; @@ -28,7 +27,7 @@ class LocationController extends GetxController { late double speedAccuracy = 0; late double headingAccuracy = 0; bool isActive = false; - late LatLng myLocation; + late LatLng myLocation = LatLng(0, 0); // Default value String totalPoints = '0'; LocationData? get currentLocation => _currentLocation; Timer? _locationTimer; @@ -36,13 +35,13 @@ class LocationController extends GetxController { @override void onInit() async { super.onInit(); - location = Location(); - getLocation(); - // startLocationUpdates(); + location = Location(); // Initialize the location object + await getLocation(); // Fetch the location immediately + startLocationUpdates(); // Start periodic location updates totalPoints = Get.put(CaptainWalletController()).totalPoints.toString(); - // isActive = Get.put(HomeCaptainController()).isActive; - } // Function to determine which area the coordinates belong to + isActive = Get.put(HomeCaptainController()).isActive; + } String getLocationArea(double latitude, double longitude) { if (latitude >= 29.918901 && @@ -67,6 +66,10 @@ class LocationController extends GetxController { Future startLocationUpdates() async { if (box.read(BoxName.driverID) != null) { + if (location == null) { + location = Location(); // Ensure location is initialized + } + _locationTimer = Timer.periodic(const Duration(seconds: 5), (timer) async { try { @@ -77,10 +80,12 @@ class LocationController extends GetxController { if (isActive) { if (double.parse(totalPoints) > -300) { await getLocation(); + if (myLocation == null) { + return; + } print( 'Latitude: ${myLocation.latitude}, Longitude: ${myLocation.longitude}'); -// Determine the area String area = getLocationArea(myLocation.latitude, myLocation.longitude); print('Determined Area: $area'); @@ -89,56 +94,25 @@ class LocationController extends GetxController { switch (area) { case 'Cairo': - print('Area matched: Cairo'); box.write(BoxName.serverChosen, AppLink.seferCairoServer); endpoint = AppLink.addCarsLocationCairoEndpoint; break; case 'Giza': - print('Area matched: Giza'); box.write(BoxName.serverChosen, AppLink.seferGizaServer); endpoint = AppLink.addCarsLocationGizaEndpoint; break; case 'Alexandria': - print('Area matched: Alexandria'); box.write( BoxName.serverChosen, AppLink.seferAlexandriaServer); endpoint = AppLink.addCarsLocationAlexandriaEndpoint; break; default: - print('Unknown location area. Fallback to Cairo'); endpoint = AppLink.addCarsLocationCairoEndpoint; box.write(BoxName.serverChosen, AppLink.seferCairoServer); } + Log.print('Final Endpoint: $endpoint'); - switch (area) { - case 'Cairo': - box.write(BoxName.serverChosen, AppLink.seferCairoServer); - endpoint = AppLink.addCarsLocationCairoEndpoint; - Log.print('Endpoint: $endpoint'); - break; - case 'Giza': - box.write(BoxName.serverChosen, AppLink.seferGizaServer); - endpoint = AppLink.addCarsLocationGizaEndpoint; - Log.print('Endpoint: $endpoint'); - break; - case 'Alexandria': - box.write( - BoxName.serverChosen, AppLink.seferAlexandriaServer); - endpoint = AppLink.addCarsLocationAlexandriaEndpoint; - Log.print('Endpoint: $endpoint'); - break; - default: - // Handle any other unexpected cases - print('Unknown location area'); - endpoint = AppLink - .addCarsLocationCairoEndpoint; // Fallback to Cairo endpoint - Log.print('Fallback Endpoint: $endpoint'); - box.write(BoxName.serverChosen, AppLink.seferCairoServer); - return; - } - - // Ensure driver ID exists before making the API call if (box.read(BoxName.driverID) != null) { await CRUD().post(link: endpoint, payload: { 'driver_id': box.read(BoxName.driverID).toString(), @@ -154,7 +128,6 @@ class LocationController extends GetxController { 'status': box.read(BoxName.statusDriverLocation).toString(), }); - // Update the camera position on the map Get.find() .mapHomeCaptainController ?.animateCamera( @@ -169,7 +142,6 @@ class LocationController extends GetxController { } } } catch (e) { - // Handle the error gracefully Log.print('Error during location update: $e'); } }); @@ -181,75 +153,58 @@ class LocationController extends GetxController { } Future getLocation() async { - // isLoading = true; - // update(); + if (location == null) { + location = Location(); // Ensure location is initialized + } + bool serviceEnabled; PermissionStatus permissionGranted; - // Check if location services are enabled serviceEnabled = await location.serviceEnabled(); if (!serviceEnabled) { serviceEnabled = await location.requestService(); if (!serviceEnabled) { - // Location services are still not enabled, handle the error return; } } - // Check if the app has permission to access location permissionGranted = await location.hasPermission(); if (permissionGranted == PermissionStatus.denied) { permissionGranted = await location.requestPermission(); if (permissionGranted != PermissionStatus.granted) { - // Location permission is still not granted, handle the error return; } } - // Configure location accuracy - // LocationAccuracy desiredAccuracy = LocationAccuracy.high; - - // Get the current location LocationData _locationData = await location.getLocation(); - myLocation = - (_locationData.latitude != null && _locationData.longitude != null - ? LatLng(_locationData.latitude!, _locationData.longitude!) - : null)!; - getLocationArea(_locationData.latitude!, _locationData.longitude!); - speed = _locationData.speed!; - heading = _locationData.heading!; -// Calculate the distance between the current location and the previous location + if (_locationData.latitude != null && _locationData.longitude != null) { + myLocation = LatLng(_locationData.latitude!, _locationData.longitude!); + } else { + myLocation = LatLng(0, 0); // Default value + } + + speed = _locationData.speed ?? 0; + heading = _locationData.heading ?? 0; + if (Get.find().rideId == 'rideId') { - Log.print( - 'Get.find().rideId: ${Get.find().rideId}'); if (previousTime > 0) { double distance = calculateDistanceInKmPerHour( previousTime, _locationData.time, speed); totalDistance += distance; } - - previousTime = _locationData.time!; + previousTime = _locationData.time ?? 0; } - // Print location details - // isLoading = false; + update(); } double calculateDistanceInKmPerHour( double? startTime, double? endTime, double speedInMetersPerSecond) { - // Calculate the time difference in hours - double timeDifferenceInHours = (endTime! - startTime!) / 1000 / 3600; - - // Convert speed to kilometers per hour + double timeDifferenceInHours = + (endTime ?? 0 - startTime! ?? 0) / 1000 / 3600; double speedInKmPerHour = speedInMetersPerSecond * 3.6; - - // Calculate the distance in kilometers double distanceInKilometers = speedInKmPerHour * timeDifferenceInHours; - - // Convert distance from kilometers to meters double distanceInMeters = distanceInKilometers * 1000; - - // If the calculated distance is less than 6 meters, return 0 to avoid fake distance return distanceInMeters < 5 ? 0 : distanceInKilometers; } } diff --git a/lib/controller/home/captin/home_captain_controller.dart b/lib/controller/home/captin/home_captain_controller.dart index ada631c..c0fc0e4 100644 --- a/lib/controller/home/captin/home_captain_controller.dart +++ b/lib/controller/home/captin/home_captain_controller.dart @@ -90,7 +90,7 @@ class HomeCaptainController extends GetxController { isActive = !isActive; if (isActive) { if (double.parse(totalPoints) > -300) { - locationController.startLocationUpdates(); + // locationController.startLocationUpdates(); // locationBackController.startBackLocation(); activeStartTime = DateTime.now(); activeTimer = Timer.periodic(const Duration(seconds: 1), (timer) { diff --git a/lib/controller/home/captin/map_driver_controller.dart b/lib/controller/home/captin/map_driver_controller.dart index ffbfb2f..f7fe37c 100644 --- a/lib/controller/home/captin/map_driver_controller.dart +++ b/lib/controller/home/captin/map_driver_controller.dart @@ -584,7 +584,7 @@ class MapDriverController extends GetxController { Get.find().myLocation.longitude, ); - if (distanceToDestination > double.parse(distance.toString()) / 3) { + if (distanceToDestination > (double.parse(distance.toString()) / 3)) { Log.print('distanceToDestination: ${distanceToDestination}'); MyDialog().getDialog( diff --git a/lib/controller/local/translations.dart b/lib/controller/local/translations.dart index c2df55e..782d122 100644 --- a/lib/controller/local/translations.dart +++ b/lib/controller/local/translations.dart @@ -170,7 +170,7 @@ class MyTranslation extends Translations { 'Remaining time': 'الوقت المتبقي', 'Add bank Account': 'إضافة حساب بنكي', 'Are you sure to exit ride?': 'هل أنت متأكد من إنهاء الرحلة؟', - + "Today": "اليوم", "seconds": "ثواني", 'You will cancel registration': 'ستقوم بإلغاء التسجيل', "Create new Account": "إنشاء حساب جديد", diff --git a/lib/controller/notification/ride_available_controller.dart b/lib/controller/notification/ride_available_controller.dart index 609de17..e9fc9d7 100644 --- a/lib/controller/notification/ride_available_controller.dart +++ b/lib/controller/notification/ride_available_controller.dart @@ -81,8 +81,8 @@ class RideAvailableController extends GetxController { getRideAvailable() async { isLoading = true; LatLngBounds bounds = calculateBounds( - Get.find().myLocation.latitude, - Get.find().myLocation.longitude, + Get.find().myLocation!.latitude, + Get.find().myLocation!.longitude, 4000); var payload = { // "carType": box.read(BoxName.carTypeOfDriver).toString(), diff --git a/lib/controller/rate/rate_conroller.dart b/lib/controller/rate/rate_conroller.dart index 9a1acaf..9e18eb8 100644 --- a/lib/controller/rate/rate_conroller.dart +++ b/lib/controller/rate/rate_conroller.dart @@ -44,7 +44,8 @@ class RateController extends GetxController { Future addPassengerWallet() async { if (formKey.currentState!.validate()) { var priceOfTrip = - double.parse(Get.find().paymentAmount); + double.parse(price.toString()); + // double.parse(Get.find().paymentAmount); double remainingFee = double.parse(passengerPayAmount.text) - priceOfTrip; if (remainingFee > 0) { var paymentToken2 = await Get.find() diff --git a/lib/main.dart b/lib/main.dart index 3135c26..2e73a6d 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -23,7 +23,6 @@ import 'constant/notification.dart'; import 'controller/firebase/firbase_messge.dart'; import 'controller/firebase/local_notification.dart'; import 'controller/functions/location_controller.dart'; -import 'controller/functions/overlay_permisssion.dart'; import 'controller/local/local_controller.dart'; import 'controller/local/translations.dart'; import 'controller/payment/paymob/paymob_wallet.dart'; diff --git a/lib/views/auth/captin/car_license_page.dart b/lib/views/auth/captin/car_license_page.dart index 269d221..62a448b 100644 --- a/lib/views/auth/captin/car_license_page.dart +++ b/lib/views/auth/captin/car_license_page.dart @@ -10,160 +10,160 @@ import '../../../controller/auth/captin/register_captin_controller.dart'; import '../../widgets/elevated_btn.dart'; import '../../widgets/my_scafold.dart'; -class CarLicensePage extends StatelessWidget { - CarLicensePage({super.key}); - CarRegistrationRecognizerController carRegistrationRecognizerController = - Get.put(CarRegistrationRecognizerController()); - RegisterCaptainController registerCaptainController = - Get.put(RegisterCaptainController()); +// class CarLicensePage extends StatelessWidget { +// CarLicensePage({super.key}); +// // CarRegistrationRecognizerController carRegistrationRecognizerController = +// // Get.put(CarRegistrationRecognizerController()); +// RegisterCaptainController registerCaptainController = +// Get.put(RegisterCaptainController()); - @override - Widget build(BuildContext context) { - Get.find().uploadImagePortrate(); - return MyScafolld( - title: 'Car License Card'.tr, - body: [ - Positioned( - top: 3, - left: Get.width * .2, - right: Get.width * .2, - child: MyElevatedButton( - title: 'Take Picture Of ID Card'.tr, - onPressed: () async { - //0vQRyaYYDWpsv73A5CZOknseK7S2sgwE - //3vQRyaYYSWpmv69A58ZOkxmeK6M1mgwEDlXrXlBl - //0pALdqDDYHvzp73Q59SIgbzjG7Z2zkhJXr - // String? visionApi = AK.serverPHP; - await carRegistrationRecognizerController.scanText(); - }, - )), - Positioned( - top: 50, - child: SizedBox( - height: Get.height * .6, - width: Get.width, - child: buildImageWithBoundingBoxes(), - ), - ), - Positioned( - bottom: Get.height * .2, - left: Get.width * .2, - right: Get.width * .2, - child: MyElevatedButton( - title: 'Register'.tr, - onPressed: () async { - // registerCaptainController.addLisence(); - // registerCaptainController.register(); - registerCaptainController.addRegisrationCarForDriver( - carRegistrationRecognizerController.extracted['vin'], - carRegistrationRecognizerController.extracted['make'], - carRegistrationRecognizerController.extracted['model'], - carRegistrationRecognizerController.extracted['year'], - carRegistrationRecognizerController.extracted['color'], - carRegistrationRecognizerController.extracted['owner'], - carRegistrationRecognizerController - .extracted['expiration_date'], - carRegistrationRecognizerController - .extracted['registration_date'], - ); - }, - )), - ], - isleading: true); - } -} +// @override +// Widget build(BuildContext context) { +// Get.find().uploadImagePortrate(); +// return MyScafolld( +// title: 'Car License Card'.tr, +// body: [ +// Positioned( +// top: 3, +// left: Get.width * .2, +// right: Get.width * .2, +// child: MyElevatedButton( +// title: 'Take Picture Of ID Card'.tr, +// onPressed: () async { +// //0vQRyaYYDWpsv73A5CZOknseK7S2sgwE +// //3vQRyaYYSWpmv69A58ZOkxmeK6M1mgwEDlXrXlBl +// //0pALdqDDYHvzp73Q59SIgbzjG7Z2zkhJXr +// // String? visionApi = AK.serverPHP; +// await carRegistrationRecognizerController.scanText(); +// }, +// )), +// Positioned( +// top: 50, +// child: SizedBox( +// height: Get.height * .6, +// width: Get.width, +// child: buildImageWithBoundingBoxes(), +// ), +// ), +// Positioned( +// bottom: Get.height * .2, +// left: Get.width * .2, +// right: Get.width * .2, +// child: MyElevatedButton( +// title: 'Register'.tr, +// onPressed: () async { +// // registerCaptainController.addLisence(); +// // registerCaptainController.register(); +// registerCaptainController.addRegisrationCarForDriver( +// carRegistrationRecognizerController.extracted['vin'], +// carRegistrationRecognizerController.extracted['make'], +// carRegistrationRecognizerController.extracted['model'], +// carRegistrationRecognizerController.extracted['year'], +// carRegistrationRecognizerController.extracted['color'], +// carRegistrationRecognizerController.extracted['owner'], +// carRegistrationRecognizerController +// .extracted['expiration_date'], +// carRegistrationRecognizerController +// .extracted['registration_date'], +// ); +// }, +// )), +// ], +// isleading: true); +// } +// } -Widget buildImageWithBoundingBoxes() { - Get.put(CarRegistrationRecognizerController()); - return GetBuilder( - builder: (carRegistrationRecognizerController) => - carRegistrationRecognizerController.image == null || - carRegistrationRecognizerController.extracted.isEmpty - ? Center( - child: Text( - 'No image selected yet'.tr, - style: AppStyle.headTitle2, - )) - : Column( - children: [ - SizedBox( - width: Get.width * .8, - height: Get.width * .5, - child: Image.file( - File(carRegistrationRecognizerController - .croppedFile!.path), - // fit: BoxFit.fill, - )), - const SizedBox( - height: 20, - ), - Container( - decoration: AppStyle.boxDecoration, - height: Get.width * .5, - width: Get.width * .9, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text( - '${'Made :'.tr}${carRegistrationRecognizerController.extracted['make']}', - style: AppStyle.title, - ), - Text( - '${'model :'.tr}${carRegistrationRecognizerController.extracted['model']}', - style: AppStyle.title, - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text( - '${'VIN :'.tr}${carRegistrationRecognizerController.extracted['vin']}', - style: AppStyle.title, - ), - Text( - '${'year :'.tr}${carRegistrationRecognizerController.extracted['year']}', - style: AppStyle.title, - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Column( - children: [ - Text( - 'expiration date :${carRegistrationRecognizerController.extracted['expiration_date']}', - style: AppStyle.title, - ), - Text( - 'registration date :${carRegistrationRecognizerController.extracted['registration_date']}', - style: AppStyle.title, - ), - ], - ), - Text( - 'color :${carRegistrationRecognizerController.extracted['color']}', - style: AppStyle.title, - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text( - 'owner :${carRegistrationRecognizerController.extracted['owner']}', - style: AppStyle.title, - ), - ], - ), - ], - ), - ) - ], - )); -} +// Widget buildImageWithBoundingBoxes() { +// Get.put(CarRegistrationRecognizerController()); +// return GetBuilder( +// builder: (carRegistrationRecognizerController) => +// carRegistrationRecognizerController.image == null || +// carRegistrationRecognizerController.extracted.isEmpty +// ? Center( +// child: Text( +// 'No image selected yet'.tr, +// style: AppStyle.headTitle2, +// )) +// : Column( +// children: [ +// SizedBox( +// width: Get.width * .8, +// height: Get.width * .5, +// child: Image.file( +// File(carRegistrationRecognizerController +// .croppedFile!.path), +// // fit: BoxFit.fill, +// )), +// const SizedBox( +// height: 20, +// ), +// Container( +// decoration: AppStyle.boxDecoration, +// height: Get.width * .5, +// width: Get.width * .9, +// child: Column( +// crossAxisAlignment: CrossAxisAlignment.start, +// mainAxisAlignment: MainAxisAlignment.spaceEvenly, +// children: [ +// Row( +// mainAxisAlignment: MainAxisAlignment.spaceEvenly, +// children: [ +// Text( +// '${'Made :'.tr}${carRegistrationRecognizerController.extracted['make']}', +// style: AppStyle.title, +// ), +// Text( +// '${'model :'.tr}${carRegistrationRecognizerController.extracted['model']}', +// style: AppStyle.title, +// ), +// ], +// ), +// Row( +// mainAxisAlignment: MainAxisAlignment.spaceEvenly, +// children: [ +// Text( +// '${'VIN :'.tr}${carRegistrationRecognizerController.extracted['vin']}', +// style: AppStyle.title, +// ), +// Text( +// '${'year :'.tr}${carRegistrationRecognizerController.extracted['year']}', +// style: AppStyle.title, +// ), +// ], +// ), +// Row( +// mainAxisAlignment: MainAxisAlignment.spaceEvenly, +// children: [ +// Column( +// children: [ +// Text( +// 'expiration date :${carRegistrationRecognizerController.extracted['expiration_date']}', +// style: AppStyle.title, +// ), +// Text( +// 'registration date :${carRegistrationRecognizerController.extracted['registration_date']}', +// style: AppStyle.title, +// ), +// ], +// ), +// Text( +// 'color :${carRegistrationRecognizerController.extracted['color']}', +// style: AppStyle.title, +// ), +// ], +// ), +// Row( +// mainAxisAlignment: MainAxisAlignment.spaceEvenly, +// children: [ +// Text( +// 'owner :${carRegistrationRecognizerController.extracted['owner']}', +// style: AppStyle.title, +// ), +// ], +// ), +// ], +// ), +// ) +// ], +// )); +// } diff --git a/lib/views/auth/captin/cards/egypt_card_a_i.dart b/lib/views/auth/captin/cards/egypt_card_a_i.dart index 51915b0..00ef592 100644 --- a/lib/views/auth/captin/cards/egypt_card_a_i.dart +++ b/lib/views/auth/captin/cards/egypt_card_a_i.dart @@ -3,7 +3,6 @@ import 'package:sefer_driver/controller/functions/gemeni.dart'; import 'package:sefer_driver/controller/functions/tts.dart'; import 'package:sefer_driver/views/widgets/elevated_btn.dart'; import 'package:sefer_driver/views/widgets/my_circular_indicator_timer.dart'; -import 'package:sefer_driver/views/widgets/my_textField.dart'; import 'package:sefer_driver/views/widgets/mydialoug.dart'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; @@ -52,41 +51,70 @@ class EgyptCardAI extends StatelessWidget { padding: const EdgeInsets.all(8.0), child: Column( children: [ - (controller.responseIdCardDriverEgyptBack.isNotEmpty && - controller.responseIdCardDriverEgyptFront - .isNotEmpty && - controller.responseIdEgyptFront.isNotEmpty && - controller.responseIdEgyptBack.isNotEmpty && - controller - .responseIdEgyptDriverLicense.isNotEmpty - // && - // controller - // .responseCriminalRecordEgypt.isNotEmpty + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + (controller.responseIdCardDriverEgyptBack + .isNotEmpty && + controller.responseIdCardDriverEgyptFront + .isNotEmpty && + (controller + .responseIdEgyptFront.isNotEmpty || + controller.responseNonIdCardFront + .isNotEmpty) && + (controller + .responseIdEgyptBack.isNotEmpty || + controller.responseNonIdCardBack + .isNotEmpty) && + controller + .responseIdEgyptDriverLicense.isNotEmpty + // && + // controller + // .responseCriminalRecordEgypt.isNotEmpty + ) + ? MyElevatedButton( + title: 'Next'.tr, + kolor: AppColor.greenColor, + onPressed: () { + controller.addDriverAndCarEgypt(); + }) + : const SizedBox(), + Row( + children: [ + controller.isEgypt + ? MyElevatedButton( + title: 'For Egypt'.tr, + onPressed: () { + controller.changeNationality(); + }) + : MyElevatedButton( + title: 'Non Egypt'.tr, + onPressed: () { + controller.changeNationality(); + }), + ], ) - ? MyElevatedButton( - title: 'Next'.tr, - onPressed: () { - controller.addDriverAndCarEgypt(); - }) - : const SizedBox(), + ], + ), SizedBox( height: - (controller.responseIdCardDriverEgyptBack - .isNotEmpty && - controller.responseIdCardDriverEgyptFront - .isNotEmpty && - controller - .responseIdEgyptFront.isNotEmpty && - controller - .responseIdEgyptBack.isNotEmpty && - controller.responseIdEgyptDriverLicense - .isNotEmpty - // && - // controller.responseCriminalRecordEgypt - // .isNotEmpty - ) - ? Get.height * .7 - : Get.height * .85, + // (controller.responseIdCardDriverEgyptBack + // .isNotEmpty && + // controller.responseIdCardDriverEgyptFront + // .isNotEmpty && + // controller + // .responseIdEgyptFront.isNotEmpty && + // controller + // .responseIdEgyptBack.isNotEmpty && + // controller.responseIdEgyptDriverLicense + // .isNotEmpty + // && + // controller.responseCriminalRecordEgypt + // .isNotEmpty + // ) + // ? + Get.height * .7, + // : Get.height * .85, child: ListView( children: [ Padding( @@ -109,8 +137,12 @@ class EgyptCardAI extends StatelessWidget { egyptDriverLicense(), egyptCarLicenceFront(), egyptCarLicenceBack(), - egyptDriverIDFront(), - egyptDriverIDBack(), + controller.isEgypt + ? egyptDriverIDFront() + : nonEgyptDriverIDFront(), + controller.isEgypt + ? egyptDriverIDBack() + : nonEgyptDriverIDBack(), // egyptCriminalRecord(), ], ), @@ -498,6 +530,109 @@ class EgyptCardAI extends StatelessWidget { ); } + GetBuilder nonEgyptDriverIDBack() { + return GetBuilder( + builder: (ai) { + if (ai.responseNonIdCardBack.isNotEmpty) { + final residencyExpiryDate = + ai.responseNonIdCardBack['residencyExpirationDate']; + final today = DateTime.now(); + final residencyExpiryDateTime = + DateTime.tryParse(residencyExpiryDate); + final isExpired = residencyExpiryDateTime != null && + residencyExpiryDateTime.isBefore(today); + + return Card( + elevation: 4.0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Non-Egyptian ID Back'.tr, style: AppStyle.title), + IconButton( + onPressed: () async { + await ai.allMethodForAI( + ai.prompts[7]['prompt'].toString(), + AppLink.uploadEgypt, + 'non_id_back'); + }, + icon: const Icon(Icons.refresh), + ), + ], + ), + const SizedBox(height: 8.0), + const Divider(color: AppColor.accentColor), + const SizedBox(height: 8.0), + Text( + '${'Country'.tr}: ${ai.responseNonIdCardBack['country']}', + style: AppStyle.title, + ), + const SizedBox(height: 8.0), + Text( + '${'Residency Type'.tr}: ${ai.responseNonIdCardBack['residencyType']}', + ), + const SizedBox(height: 8.0), + Text( + '${'Work Status'.tr}: ${ai.responseNonIdCardBack['workStatus']}', + ), + const SizedBox(height: 8.0), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${'Issue Date'.tr}: ${ai.responseNonIdCardBack['issueDate']}', + ), + Text( + '${'Birth Date'.tr}: ${ai.responseNonIdCardBack['birthDate']}', + ), + ], + ), + const SizedBox(height: 8.0), + Text( + '${'Residency Expiration Date'.tr}: ${ai.responseNonIdCardBack['residencyExpirationDate']}', + style: AppStyle.title.copyWith( + color: !isExpired + ? AppColor.greenColor + : AppColor.redColor), + ), + ], + ), + ), + ); + } + return Card( + child: InkWell( + onTap: () async { + await ai.allMethodForAI(ai.prompts[7]['prompt'].toString(), + AppLink.uploadEgypt, 'non_id_back'); + }, + child: Column( + children: [ + Image.asset( + 'assets/images/7.png', + height: Get.height * .25, + width: double.maxFinite, + fit: BoxFit.fitHeight, + ), + Text( + 'Capture Image of Non-Egyptian ID Back'.tr, + style: AppStyle.title, + ), + ], + ), + ), + ); + }, + ); + } + GetBuilder egyptDriverIDFront() { return GetBuilder( builder: (ai) { @@ -597,6 +732,105 @@ class EgyptCardAI extends StatelessWidget { ); } + GetBuilder nonEgyptDriverIDFront() { + return GetBuilder( + builder: (ai) { + if (ai.responseNonIdCardFront.isNotEmpty) { + return Card( + elevation: 4.0, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16.0), + ), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text('Non-Egyptian ID Front'.tr, style: AppStyle.title), + IconButton( + onPressed: () async { + await ai.allMethodForAI( + ai.prompts[6]['prompt'].toString(), + AppLink.uploadEgypt, + 'non_id_front'); + }, + icon: const Icon(Icons.refresh), + ), + ], + ), + const SizedBox(height: 8.0), + const Divider(color: AppColor.accentColor), + const SizedBox(height: 8.0), + Text( + '${'Full Name'.tr}: ${ai.responseNonIdCardFront['full_name']}', + style: AppStyle.title, + ), + const SizedBox(height: 8.0), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${'Passport No'.tr}: ${ai.responseNonIdCardFront['passport_no']}', + ), + Text( + '${'Card ID'.tr}: ${ai.responseNonIdCardFront['card_id']}', + ), + ], + ), + const SizedBox(height: 8.0), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${'Country'.tr}: ${ai.responseNonIdCardFront['country']}', + ), + Text( + '${'Gender'.tr}: ${ai.responseNonIdCardFront['gender']}', + ), + ], + ), + const SizedBox(height: 8.0), + Text( + '${'Birth Date'.tr}: ${ai.responseNonIdCardFront['birthdate']}', + ), + const SizedBox(height: 8.0), + Text( + '${'Address'.tr}: ${ai.responseNonIdCardFront['address']}', + ), + ], + ), + ), + ); + } + return Card( + child: InkWell( + onTap: () async { + await ai.allMethodForAI(ai.prompts[6]['prompt'].toString(), + AppLink.uploadEgypt, 'non_id_front'); + }, + child: Column( + children: [ + Image.asset( + 'assets/images/7.jpeg', + height: Get.height * .25, + width: double.maxFinite, + fit: BoxFit.fitHeight, + ), + Text( + 'Capture Image of Non-Egyptian ID Front'.tr, + style: AppStyle.title, + ), + ], + ), + ), + ); + }, + ); + } + GetBuilder egyptCarLicenceFront() { return GetBuilder( builder: (ai) { diff --git a/lib/views/home/Captin/camer_widget.dart b/lib/views/home/Captin/camer_widget.dart index 1438dce..86ac571 100644 --- a/lib/views/home/Captin/camer_widget.dart +++ b/lib/views/home/Captin/camer_widget.dart @@ -165,9 +165,8 @@ class CameraWidgetCardId extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ MyElevatedButton( - title: 'Scan ID MklGoogle'.tr, - onPressed: () => - cameraClassController.takePictureAndMLGoogleScan()), + title: 'Scan ID MklGoogle'.tr, onPressed: () {}), + // cameraClassController.takePictureAndMLGoogleScan()), MyElevatedButton( title: 'Scan ID Tesseract'.tr, onPressed: () {}), ], @@ -283,9 +282,8 @@ class CameraWidgetPassPort extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ MyElevatedButton( - title: 'Scan ID MklGoogle'.tr, - onPressed: () => - cameraClassController.takePictureAndMLGoogleScan()), + title: 'Scan ID MklGoogle'.tr, onPressed: () => {}), + // cameraClassController.takePictureAndMLGoogleScan()), MyElevatedButton( title: 'Scan ID Tesseract'.tr, onPressed: () {}), ], diff --git a/lib/views/home/Captin/home_captain/home_captin.dart b/lib/views/home/Captin/home_captain/home_captin.dart index 3956932..bd1cdb5 100644 --- a/lib/views/home/Captin/home_captain/home_captin.dart +++ b/lib/views/home/Captin/home_captain/home_captin.dart @@ -107,114 +107,210 @@ class HomeCaptain extends StatelessWidget { left: Get.width * .1, child: const ConnectWidget()), Positioned( - top: 5, - right: Get.width * .05, - left: Get.width * .05, - child: GetBuilder( - builder: (homeCaptainController) { + top: 5, + right: Get.width * .05, + left: Get.width * .05, + child: GetBuilder( + builder: (homeCaptainController) { return Container( - decoration: AppStyle.boxDecoration, - width: Get.width * .8, - height: 104, - child: Center( - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Icon( - Entypo.wallet, - color: AppColor.greenColor, + decoration: BoxDecoration( + gradient: const LinearGradient( + begin: Alignment.topLeft, + end: Alignment.bottomRight, + colors: [Colors.white, Colors.white70], + ), + borderRadius: BorderRadius.circular(15), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.2), + spreadRadius: 2, + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + padding: + const EdgeInsets.symmetric(horizontal: 16, vertical: 12), + width: Get.width * .8, + height: 120, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColor.greenColor.withOpacity(0.1), + borderRadius: BorderRadius.circular(10), ), - Text( - ' You Earn today is '.tr + - homeCaptainController.totalMoneyToday, - style: AppStyle.title, - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - const Icon( - Entypo.wallet, - color: AppColor.yellowColor, - ), - Text( - '${' You Have in'.tr} ${AppInformation.appName} ${homeCaptainController.totalMoneyInSEFER} ', - style: AppStyle.title, - ), - ], - ), - Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text( - 'Total Budget is '.tr + - homeCaptainController.totalPoints, - style: AppStyle.title, - ), - Container( - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(6), - color: int.parse( - Get.find() - .countRideToday) < - 5 - ? AppColor.accentColor - : int.parse(Get.find< - HomeCaptainController>() - .countRideToday) > - 5 && - int.parse(Get.find< - HomeCaptainController>() - .countRideToday) < - 10 - ? AppColor.yellowColor - : AppColor.greenColor, - ), - child: Padding( - padding: const EdgeInsets.symmetric( - horizontal: 8, vertical: 2), - child: Text( - 'Ride Today : '.tr + - Get.find() - .countRideToday, - style: AppStyle.title - .copyWith(color: AppColor.secondaryColor), + child: Row( + children: [ + const Icon( + Entypo.wallet, + color: AppColor.greenColor, + size: 20, ), - ), + const SizedBox(width: 8), + Text( + '${"Today".tr}: ${homeCaptainController.totalMoneyToday}', + style: AppStyle.title.copyWith( + color: AppColor.greenColor, + fontWeight: FontWeight.bold, + ), + ), + ], ), - ], - ), - ], - ))); - })), + ), + Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: AppColor.yellowColor.withOpacity(0.1), + borderRadius: BorderRadius.circular(10), + ), + child: Row( + children: [ + const Icon( + Entypo.wallet, + color: AppColor.yellowColor, + size: 20, + ), + const SizedBox(width: 8), + Text( + '${AppInformation.appName}: ${homeCaptainController.totalMoneyInSEFER}', + style: AppStyle.title.copyWith( + color: AppColor.yellowColor, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ], + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + '${'Total Points is'.tr}: ${homeCaptainController.totalPoints}', + style: AppStyle.title.copyWith( + fontSize: 16, + fontWeight: FontWeight.w600, + ), + ), + Container( + padding: const EdgeInsets.symmetric( + horizontal: 12, vertical: 6), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(20), + color: int.parse(homeCaptainController + .countRideToday) < + 5 + ? AppColor.accentColor + : int.parse(homeCaptainController + .countRideToday) > + 5 && + int.parse(homeCaptainController + .countRideToday) < + 10 + ? AppColor.yellowColor + : AppColor.greenColor, + ), + child: Row( + children: [ + const Icon( + Icons.directions_car_rounded, + color: Colors.white, + size: 18, + ), + const SizedBox(width: 4), + Text( + '${"Ride Today : ".tr}: ${homeCaptainController.countRideToday}', + style: AppStyle.title.copyWith( + color: Colors.white, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ], + ), + ], + ), + ); + }, + ), + ), Positioned( bottom: 65, right: Get.width * .1, left: Get.width * .1, child: GetBuilder( builder: (homeCaptainController) => Container( - decoration: AppStyle.boxDecoration, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: Colors.grey.withOpacity(0.2), + spreadRadius: 2, + blurRadius: 8, + offset: const Offset(0, 2), + ), + ], + ), + padding: + const EdgeInsets.symmetric(horizontal: 16, vertical: 12), child: Column( children: [ - Text( - '${'Active Duration:'.tr} ${homeCaptainController.stringActiveDuration} ', - style: AppStyle.title, + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon(Icons.timer_outlined, + color: AppColor.greenColor), + const SizedBox(width: 8), + Text( + 'Active Duration:'.tr, + style: AppStyle.title, + ), + const SizedBox(width: 4), + Text( + homeCaptainController.stringActiveDuration, + style: AppStyle.title.copyWith( + fontWeight: FontWeight.bold, + color: AppColor.greenColor, + ), + ), + ], ), - Text( - '${'Total Connection Duration:'.tr} ${homeCaptainController.totalDurationToday} ', - style: AppStyle.title, + const SizedBox(height: 8), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + const Icon(Icons.access_time, + color: AppColor.accentColor), + const SizedBox(width: 8), + Text( + 'Total Connection Duration:'.tr, + style: AppStyle.title, + ), + const SizedBox(width: 4), + Text( + homeCaptainController.totalDurationToday, + style: AppStyle.title.copyWith( + fontWeight: FontWeight.bold, + color: AppColor.accentColor, + ), + ), + ], ), ], ), ), ), - ), - // Positioned( + ), // Positioned( // bottom: Get.height * .17, // right: Get.width * .01, // child: AnimatedContainer( diff --git a/lib/views/home/Captin/home_captain/widget/connect.dart b/lib/views/home/Captin/home_captain/widget/connect.dart index 7dbdf07..3fe3d90 100644 --- a/lib/views/home/Captin/home_captain/widget/connect.dart +++ b/lib/views/home/Captin/home_captain/widget/connect.dart @@ -23,80 +23,119 @@ class ConnectWidget extends StatelessWidget { captainWalletController.getCaptainWalletFromBuyPoints(); return Center( child: GetBuilder( - builder: (homeCaptainController) => int.parse( - homeCaptainController.countRefuse) > - 3 || - double.parse(captainWalletController.totalPoints) < -300 - ? CupertinoButton( - onPressed: () { - Get.defaultDialog( - // backgroundColor: CupertinoColors.destructiveRed, - barrierDismissible: false, - title: double.parse(captainWalletController.totalPoints) < - -300 - ? 'You dont have Points'.tr - : 'You Are Stopped For this Day !'.tr, - titleStyle: AppStyle.title, - content: Column( - children: [ - IconButton( - onPressed: () async { + builder: (homeCaptainController) => double.parse( + captainWalletController.totalPoints) < + -300 + ? CupertinoButton( + onPressed: () { + Get.defaultDialog( + // backgroundColor: CupertinoColors.destructiveRed, + barrierDismissible: false, + title: + double.parse(captainWalletController.totalPoints) < + -300 + ? 'You dont have Points'.tr + : 'You Are Stopped For this Day !'.tr, + titleStyle: AppStyle.title, + content: Column( + children: [ + IconButton( + onPressed: () async { + double.parse(captainWalletController + .totalPoints) < + -300 + ? await Get.find() + .speakText( + 'You must be recharge your Account' + .tr) + : await Get.find() + .speakText( + 'You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!' + .tr); + }, + icon: const Icon(Icons.headphones), + ), + Text( double.parse( captainWalletController.totalPoints) < -300 - ? await Get.find() - .speakText( - 'You must be recharge your Account' - .tr) - : await Get.find() - .speakText( - 'You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!' - .tr); - }, - icon: const Icon(Icons.headphones), - ), - Text( + ? 'You must be recharge your Account'.tr + : 'You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!' + .tr, + style: AppStyle.title, + ), + ], + ), + confirm: double.parse(captainWalletController.totalPoints) < -300 - ? 'You must be recharge your Account'.tr - : 'You Refused 3 Rides this Day that is the reason \nSee you Tomorrow!' - .tr, - style: AppStyle.title, - ), - ], + ? MyElevatedButton( + title: 'Recharge my Account'.tr, + onPressed: () { + homeCaptainController + .goToWalletFromConnect(); + }) + : MyElevatedButton( + title: 'Ok , See you Tomorrow'.tr, + onPressed: () { + Get.back(); + Get.back(); + })); + }, + color: CupertinoColors.destructiveRed, + child: Text( + 'You are Stopped'.tr, + style: AppStyle.title, + ), + ) + : Container( + decoration: BoxDecoration( + gradient: LinearGradient( + colors: homeCaptainController.isActive + ? [Colors.green.shade400, Colors.green.shade700] + : [Colors.grey.shade400, Colors.grey.shade700], + ), + borderRadius: BorderRadius.circular(12), + boxShadow: [ + BoxShadow( + color: homeCaptainController.isActive + ? Colors.green.withOpacity(0.3) + : Colors.grey.withOpacity(0.3), + spreadRadius: 1, + blurRadius: 8, + offset: const Offset(0, 2), ), - confirm: - double.parse(captainWalletController.totalPoints) < - -300 - ? MyElevatedButton( - title: 'Recharge my Account'.tr, - onPressed: () { - homeCaptainController - .goToWalletFromConnect(); - }) - : MyElevatedButton( - title: 'Ok , See you Tomorrow'.tr, - onPressed: () { - Get.back(); - Get.back(); - })); - }, - color: CupertinoColors.destructiveRed, - child: Text( - 'You are Stopped'.tr, - style: AppStyle.title, - ), - ) - : CupertinoButton( - onPressed: homeCaptainController.onButtonSelected, - color: homeCaptainController.isActive - ? CupertinoColors.activeGreen - : CupertinoColors.inactiveGray, - child: Text(homeCaptainController.isActive - ? 'Connected'.tr - : 'Not Connected'.tr), - ), - ), + ], + ), + child: CupertinoButton( + onPressed: homeCaptainController.onButtonSelected, + padding: const EdgeInsets.symmetric( + horizontal: 24, vertical: 12), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Icon( + homeCaptainController.isActive + ? CupertinoIcons.check_mark_circled_solid + : CupertinoIcons.circle, + color: Colors.white, + size: 24, + ), + const SizedBox(width: 8), + Text( + homeCaptainController.isActive + ? 'Connected'.tr + : 'Not Connected'.tr, + style: const TextStyle( + color: Colors.white, + fontSize: 16, + fontWeight: FontWeight.w600, + ), + ), + ], + ), + ), + )), ); } } diff --git a/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart b/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart index f54ab49..bea5331 100644 --- a/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart +++ b/lib/views/home/Captin/mapDriverWidgets/driver_end_ride_bar.dart @@ -3,6 +3,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; +import 'package:slide_to_act/slide_to_act.dart'; import 'package:vibration/vibration.dart'; import '../../../../constant/colors.dart'; @@ -150,13 +151,30 @@ GetBuilder driverEndRideBar() { // mapDriverController.remainingTimeTimerRideBegin < // 60 // ? - MyElevatedButton( - title: 'End Ride'.tr, - onPressed: () { + SlideAction( + text: 'End Ride'.tr, + textStyle: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, + color: Colors.white, + ), + outerColor: AppColor.redColor, + innerColor: Colors.white, + sliderButtonIcon: const Icon( + Icons.arrow_forward, + color: AppColor.redColor, + ), + onSubmit: () { mapDriverController.finishRideFromDriver(); }, - kolor: AppColor.redColor, ), + // MyElevatedButton( + // title: 'End Ride'.tr, + // onPressed: () { + // mapDriverController.finishRideFromDriver(); + // }, + // kolor: AppColor.redColor, + // ), // : const SizedBox(), Container( decoration: AppStyle.boxDecoration1, diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index ec70da1..456a878 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -19,12 +19,13 @@ import flutter_tts import geolocator_apple import google_sign_in_ios import just_audio +import local_auth_darwin import location import package_info_plus import path_provider_foundation import record_darwin import sign_in_with_apple -import sqflite +import sqflite_darwin import url_launcher_macos import video_player_avfoundation import wakelock_plus @@ -45,6 +46,7 @@ func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { GeolocatorPlugin.register(with: registry.registrar(forPlugin: "GeolocatorPlugin")) FLTGoogleSignInPlugin.register(with: registry.registrar(forPlugin: "FLTGoogleSignInPlugin")) JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin")) + FLALocalAuthPlugin.register(with: registry.registrar(forPlugin: "FLALocalAuthPlugin")) LocationPlugin.register(with: registry.registrar(forPlugin: "LocationPlugin")) FPPPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FPPPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) diff --git a/pubspec.lock b/pubspec.lock index ed84713..7f23461 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,26 +5,31 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: "0b2f2bd91ba804e53a61d757b986f89f1f9eaed5b11e4b2f5a2468d86d6c9fc7" + sha256: "16e298750b6d0af7ce8a3ba7c18c69c3785d11b15ec83f6dcd0ad2a0009b3cab" url: "https://pub.dev" source: hosted - version: "67.0.0" + version: "76.0.0" _flutterfire_internals: dependency: transitive description: name: _flutterfire_internals - sha256: b46f62516902afb04befa4b30eb6a12ac1f58ca8cb25fb9d632407259555dd3d + sha256: daa1d780fdecf8af925680c06c86563cdd445deea995d5c9176f1302a2b10bbe url: "https://pub.dev" source: hosted - version: "1.3.39" + version: "1.3.48" + _macros: + dependency: transitive + description: dart + source: sdk + version: "0.3.3" analyzer: dependency: transitive description: name: analyzer - sha256: "37577842a27e4338429a1cbc32679d508836510b056f1eedf0c8d20e39c1383d" + sha256: "1f14db053a8c23e260789e9b0980fa27f2680dd640932cae5e1137cce0e46e1e" url: "https://pub.dev" source: hosted - version: "6.4.1" + version: "6.11.0" animated_text_kit: dependency: "direct main" description: @@ -37,26 +42,26 @@ packages: dependency: transitive description: name: archive - sha256: cb6a278ef2dbb298455e1a713bda08524a175630ec643a242c399c932a0a1f7d + sha256: "6199c74e3db4fbfbd04f66d739e72fe11c8a8957d5f219f1f4482dbde6420b5a" url: "https://pub.dev" source: hosted - version: "3.6.1" + version: "4.0.2" args: dependency: transitive description: name: args - sha256: "7cf60b9f0cc88203c5a190b4cd62a99feea42759a7fa695010eb5de1c0b2252a" + sha256: bf9f5caeea8d8fe6721a9c358dd8a5c1947b27f1cfaa18b39c301273594919e6 url: "https://pub.dev" source: hosted - version: "2.5.0" + version: "2.6.0" asn1lib: dependency: transitive description: name: asn1lib - sha256: "58082b3f0dca697204dbab0ef9ff208bfaea7767ea771076af9a343488428dda" + sha256: "4bae5ae63e6d6dd17c4aac8086f3dec26c0236f6a0f03416c6c19d830c367cf5" url: "https://pub.dev" source: hosted - version: "1.5.3" + version: "1.5.8" async: dependency: transitive description: @@ -69,10 +74,10 @@ packages: dependency: transitive description: name: audio_session - sha256: "343e83bc7809fbda2591a49e525d6b63213ade10c76f15813be9aed6657b3261" + sha256: b2a26ba8b7efa1790d6460e82971fde3e398cfbe2295df9dea22f3499d2c12a7 url: "https://pub.dev" source: hosted - version: "0.1.21" + version: "0.1.23" background_location: dependency: "direct main" description: @@ -101,50 +106,50 @@ packages: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: cef23f1eda9b57566c81e2133d196f8e3df48f244b317368d65c5943d91148f0 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.4.2" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4ae2de3e1e67ea270081eaee972e1bd8f027d459f249e0f1186730784c2e7e33" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" build_daemon: dependency: transitive description: name: build_daemon - sha256: "79b2aef6ac2ed00046867ed354c88778c9c0f029df8a20fe10b5436826721ef9" + sha256: "294a2edaf4814a378725bfe6358210196f5ea37af89ecd81bfa32960113d4948" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.0.3" build_resolvers: dependency: transitive description: name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" + sha256: "99d3980049739a985cf9b21f30881f46db3ebc62c5b8d5e60e27440876b1ba1e" url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.4.3" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "644dc98a0f179b872f612d3eb627924b578897c629788e858157fa5e704ca0c7" + sha256: "74691599a5bc750dc96a6b4bfd48f7d9d66453eab04c7f4063134800d6a5c573" url: "https://pub.dev" source: hosted - version: "2.4.11" + version: "2.4.14" build_runner_core: dependency: transitive description: name: build_runner_core - sha256: e3c79f69a64bdfcd8a776a3c28db4eb6e3fb5356d013ae5eb2e52007706d5dbe + sha256: "22e3aa1c80e0ada3722fe5b63fd43d9c8990759d0a2cf489c8c5d7b2bdebc021" url: "https://pub.dev" source: hosted - version: "7.3.1" + version: "8.0.0" built_collection: dependency: transitive description: @@ -157,34 +162,34 @@ packages: dependency: transitive description: name: built_value - sha256: c7913a9737ee4007efedaffc968c049fd0f3d0e49109e778edc10de9426005cb + sha256: "28a712df2576b63c6c005c465989a348604960c0958d28be5303ba9baa841ac2" url: "https://pub.dev" source: hosted - version: "8.9.2" + version: "8.9.3" cached_network_image: dependency: transitive description: name: cached_network_image - sha256: "28ea9690a8207179c319965c13cd8df184d5ee721ae2ce60f398ced1219cea1f" + sha256: "7c1183e361e5c8b0a0f21a28401eecdbde252441106a9816400dd4c2b2424916" url: "https://pub.dev" source: hosted - version: "3.3.1" + version: "3.4.1" cached_network_image_platform_interface: dependency: transitive description: name: cached_network_image_platform_interface - sha256: "9e90e78ae72caa874a323d78fa6301b3fb8fa7ea76a8f96dc5b5bf79f283bf2f" + sha256: "35814b016e37fbdc91f7ae18c8caf49ba5c88501813f73ce8a07027a395e2829" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.1.1" cached_network_image_web: dependency: transitive description: name: cached_network_image_web - sha256: "205d6a9f1862de34b93184f22b9d2d94586b2f05c581d546695e3d8f6a805cd7" + sha256: "980842f4e8e2535b8dbd3d5ca0b1f0ba66bf61d14cc3a17a9b4788a3685ba062" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.1" calendar_builder: dependency: "direct main" description: @@ -197,26 +202,26 @@ packages: dependency: "direct main" description: name: camera - sha256: "2170a943dcb67be2af2c6bcda8775e74b41d4c02d6a4eb10bdc832ee185c4eea" + sha256: "26ff41045772153f222ffffecba711a206f670f5834d40ebf5eed3811692f167" url: "https://pub.dev" source: hosted - version: "0.11.0+1" + version: "0.11.0+2" camera_android_camerax: dependency: transitive description: name: camera_android_camerax - sha256: "7c03940cb8c92eb5b184952674a07cc4a73c6ba2b3568aad70255ad4cb913660" + sha256: "2985b8e5fca62709ebb2150962b1dae0444ba0a112be888ccf21e8371a1406d9" url: "https://pub.dev" source: hosted - version: "0.6.7+1" + version: "0.6.10+1" camera_avfoundation: dependency: transitive description: name: camera_avfoundation - sha256: b5093a82537b64bb88d4244f8e00b5ba69e822a5994f47b31d11400e1db975e5 + sha256: "2e4c568f70e406ccb87376bc06b53d2f5bebaab71e2fbcc1a950e31449381bcf" url: "https://pub.dev" source: hosted - version: "0.9.17+1" + version: "0.9.17+5" camera_platform_interface: dependency: transitive description: @@ -229,10 +234,10 @@ packages: dependency: transitive description: name: camera_web - sha256: b9235ec0a2ce949daec546f1f3d86f05c3921ed31c7d9ab6b7c03214d152fc2d + sha256: "595f28c89d1fb62d77c73c633193755b781c6d2e0ebcd8dc25b763b514e6ba8f" url: "https://pub.dev" source: hosted - version: "0.3.4" + version: "0.3.5" characters: dependency: transitive description: @@ -253,18 +258,18 @@ packages: dependency: transitive description: name: chewie - sha256: e53da939709efb9aad0f3d72a69a8d05f889168b7a138af60ce78bab5c94b135 + sha256: "335df378c025588aef400c704bd71f0daea479d4cd57c471c88c056c1144e7cd" url: "https://pub.dev" source: hosted - version: "1.8.1" + version: "1.8.5" cli_util: dependency: transitive description: name: cli_util - sha256: c05b7406fdabc7a49a3929d4af76bcaccbbffcbcdcf185b082e1ae07da323d19 + sha256: ff6785f7e9e3c38ac98b2fb035701789de90154024a75b6cb926445e83197d1c url: "https://pub.dev" source: hosted - version: "0.4.1" + version: "0.4.2" clock: dependency: transitive description: @@ -277,50 +282,50 @@ packages: dependency: transitive description: name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + sha256: "0ec10bf4a89e4c613960bf1e8b42c64127021740fb21640c29c909826a5eea3e" url: "https://pub.dev" source: hosted - version: "4.10.0" + version: "4.10.1" collection: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.0" convert: dependency: transitive description: name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" cross_file: dependency: transitive description: name: cross_file - sha256: "55d7b444feb71301ef6b8838dbc1ae02e63dd48c8773f3810ff53bb1e2945b32" + sha256: "7caf6a750a0c04effbb52a676dce9a4a592e10ad35c34d6d2d0e4811160d5670" url: "https://pub.dev" source: hosted - version: "0.3.4+1" + version: "0.3.4+2" crypto: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: "1e445881f28f22d6140f181e07737b22f1e099a5e1ff94b0af2f9e4a463f4855" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.6" csslib: dependency: transitive description: name: csslib - sha256: "706b5707578e0c1b4b7550f64078f0a0f19dec3f50a178ffae7006b0a9ca58fb" + sha256: "09bad715f418841f976c77db72d5398dc1253c21fb9c0c7f0b0b985860b2d58e" url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.0.2" cupertino_icons: dependency: "direct main" description: @@ -333,10 +338,10 @@ packages: dependency: transitive description: name: dart_style - sha256: "99e066ce75c89d6b29903d788a7bb9369cf754f7b24bf70bf4b6d6d6b26853b9" + sha256: "7856d364b589d1f08986e140938578ed36ed948581fbc3bc9aef1805039ac5ab" url: "https://pub.dev" source: hosted - version: "2.3.6" + version: "2.3.7" dbus: dependency: transitive description: @@ -349,34 +354,34 @@ packages: dependency: transitive description: name: device_info_plus - sha256: eead12d1a1ed83d8283ab4c2f3fca23ac4082f29f25f29dff0f758f57d06ec91 + sha256: "4fa68e53e26ab17b70ca39f072c285562cfc1589df5bb1e9295db90f6645f431" url: "https://pub.dev" source: hosted - version: "10.1.0" + version: "11.2.0" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface - sha256: d3b01d5868b50ae571cd1dc6e502fc94d956b665756180f7b16ead09e836fd64 + sha256: "0b04e02b30791224b31969eb1b50d723498f402971bff3630bca2ba839bd1ed2" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.2" dio: dependency: "direct main" description: name: dio - sha256: e17f6b3097b8c51b72c74c9f071a605c47bcc8893839bd66732457a5ebe73714 + sha256: "5598aa796bbf4699afd5c67c0f5f6e2ed542afc956884b9cd58c306966efc260" url: "https://pub.dev" source: hosted - version: "5.5.0+1" + version: "5.7.0" dio_web_adapter: dependency: transitive description: name: dio_web_adapter - sha256: "36c5b2d79eb17cdae41e974b7a8284fec631651d2a6f39a8a2ff22327e90aeac" + sha256: "33259a9276d6cea88774a0000cfae0d861003497755969c92faa223108620dc8" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "2.0.0" encrypt: dependency: "direct main" description: @@ -389,26 +394,26 @@ packages: dependency: "direct main" description: name: envied - sha256: bbff9c76120e4dc5e2e36a46690cf0a26feb65e7765633f4e8d916bcd173a450 + sha256: "129a0dbf32b90344fa2e9d6943569fdec8f17904e66161e0a1f09ee3416508ae" url: "https://pub.dev" source: hosted - version: "0.5.4+1" + version: "1.0.0" envied_generator: dependency: "direct dev" description: name: envied_generator - sha256: "517b70de08d13dcd40e97b4e5347e216a0b1c75c99e704f3c85c0474a392d14a" + sha256: "76aec98907872ce8488f021e68d213bd0d9bf224eb393a094be1708cc3180d41" url: "https://pub.dev" source: hosted - version: "0.5.4+1" + version: "1.0.0" equatable: dependency: transitive description: name: equatable - sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7" url: "https://pub.dev" source: hosted - version: "2.0.5" + version: "2.0.7" fake_async: dependency: transitive description: @@ -421,34 +426,34 @@ packages: dependency: transitive description: name: ffi - sha256: "493f37e7df1804778ff3a53bd691d8692ddf69702cf4c1c1096a2e41b4779e21" + sha256: "16ed7b077ef01ad6170a3d0c57caa4a112a38d7a2ed5602e0aca9ca6f3d98da6" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" file: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.1" file_selector_linux: dependency: transitive description: name: file_selector_linux - sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + sha256: "54cbbd957e1156d29548c7d9b9ec0c0ebb6de0a90452198683a7d23aed617a33" url: "https://pub.dev" source: hosted - version: "0.9.2+1" + version: "0.9.3+2" file_selector_macos: dependency: transitive description: name: file_selector_macos - sha256: f42eacb83b318e183b1ae24eead1373ab1334084404c8c16e0354f9a3e55d385 + sha256: "271ab9986df0c135d45c3cdb6bd0faa5db6f4976d3e4b437cf7d0f258d941bfc" url: "https://pub.dev" source: hosted - version: "0.9.4" + version: "0.9.4+2" file_selector_platform_interface: dependency: transitive description: @@ -461,98 +466,98 @@ packages: dependency: transitive description: name: file_selector_windows - sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + sha256: "8f5d2f6590d51ecd9179ba39c64f722edc15226cc93dcc8698466ad36a4a85a4" url: "https://pub.dev" source: hosted - version: "0.9.3+1" + version: "0.9.3+3" firebase_auth: dependency: "direct main" description: name: firebase_auth - sha256: a41b56878fa6aef3ea52962329b47eee333672d4b0ecc406e071b9fc729f242c + sha256: "03483af6e67b7c4b696ca9386989a6cd5593569e1ac5af6907ea5f7fd9c16d8b" url: "https://pub.dev" source: hosted - version: "5.1.2" + version: "5.3.4" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface - sha256: d1c68097588f3b75ef79a22102ff96c311735c254353bccf6824d19f1a7e86b9 + sha256: "3e1409f48c48930635705b1237ebbdee8c54c19106a0a4fb321dbb4b642820c4" url: "https://pub.dev" source: hosted - version: "7.4.2" + version: "7.4.10" firebase_auth_web: dependency: transitive description: name: firebase_auth_web - sha256: e66ec0ae5697ee39ccd4865d6887cb0df220dd4ea0b21404910c68ca4c1a731a + sha256: d83fe95c44d73c9c29b006ac7df3aa5e1b8ce92b62edc44e8f86250951fe2cd0 url: "https://pub.dev" source: hosted - version: "5.12.4" + version: "5.13.5" firebase_core: dependency: "direct main" description: name: firebase_core - sha256: "5159984ce9b70727473eb388394650677c02c925aaa6c9439905e1f30966a4d5" + sha256: "15d761b95dfa2906dfcc31b7fc6fe293188533d1a3ffe78389ba9e69bd7fdbde" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.9.0" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - sha256: "1003a5a03a61fc9a22ef49f37cbcb9e46c86313a7b2e7029b9390cf8c6fc32cb" + sha256: d7253d255ff10f85cfd2adaba9ac17bae878fa3ba577462451163bd9f1d1f0bf url: "https://pub.dev" source: hosted - version: "5.1.0" + version: "5.4.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - sha256: "23509cb3cddfb3c910c143279ac3f07f06d3120f7d835e4a5d4b42558e978712" + sha256: fbc008cf390d909b823763064b63afefe9f02d8afdb13eb3f485b871afee956b url: "https://pub.dev" source: hosted - version: "2.17.3" + version: "2.19.0" firebase_messaging: dependency: "direct main" description: name: firebase_messaging - sha256: "156c4292aa63a6a7d508c68ded984cb38730d2823c3265e573cb1e94983e2025" + sha256: "151a3ee68736abf293aab66d1317ade53c88abe1db09c75a0460aebf7767bbdf" url: "https://pub.dev" source: hosted - version: "15.0.3" + version: "15.1.6" firebase_messaging_platform_interface: dependency: transitive description: name: firebase_messaging_platform_interface - sha256: "10408c5ca242b7fc632dd5eab4caf8fdf18ebe88db6052980fa71a18d88bd200" + sha256: f331ee51e40c243f90cc7bc059222dfec4e5df53125b08d31fb28961b00d2a9d url: "https://pub.dev" source: hosted - version: "4.5.41" + version: "4.5.49" firebase_messaging_web: dependency: transitive description: name: firebase_messaging_web - sha256: c7a756e3750679407948de665735e69a368cb902940466e5d68a00ea7aba1aaa + sha256: efaf3fdc54cd77e0eedb8e75f7f01c808828c64d052ddbf94d3009974e47d30f url: "https://pub.dev" source: hosted - version: "3.8.11" + version: "3.9.5" fixnum: dependency: transitive description: name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" fl_chart: dependency: "direct main" description: name: fl_chart - sha256: d0f0d49112f2f4b192481c16d05b6418bd7820e021e265a3c22db98acf7ed7fb + sha256: c724234b05e378383e958f3e82ca84a3e1e3c06a0898462044dd8a24b1ee9864 url: "https://pub.dev" source: hosted - version: "0.68.0" + version: "0.70.0" flutter: dependency: "direct main" description: flutter @@ -562,10 +567,10 @@ packages: dependency: transitive description: name: flutter_cache_manager - sha256: ceff65d74d907b1b772e22cf04daad60fb472461638977d9fae8b00a63e01e3d + sha256: "400b6592f16a4409a7f2bb929a9a7e38c72cceb8ffb99ee57bbf2cb2cecf8386" url: "https://pub.dev" source: hosted - version: "3.3.3" + version: "3.4.1" flutter_confetti: dependency: "direct main" description: @@ -578,10 +583,10 @@ packages: dependency: "direct main" description: name: flutter_contacts - sha256: d9de65f7e8f277b60fa59d699fd916f9aeeb7ec77c9cc631745b4c9068e0b627 + sha256: "388d32cd33f16640ee169570128c933b45f3259bddbfae7a100bb49e5ffea9ae" url: "https://pub.dev" source: hosted - version: "1.1.8" + version: "1.1.9+2" flutter_font_icons: dependency: "direct main" description: @@ -642,10 +647,10 @@ packages: dependency: transitive description: name: flutter_inappwebview - sha256: "3e9a443a18ecef966fb930c3a76ca5ab6a7aafc0c7b5e14a4a850cf107b09959" + sha256: "80092d13d3e29b6227e25b67973c67c7210bd5e35c4b747ca908e31eb71a46d5" url: "https://pub.dev" source: hosted - version: "6.0.0" + version: "6.1.5" flutter_inappwebview_android: dependency: transitive description: @@ -658,10 +663,10 @@ packages: dependency: transitive description: name: flutter_inappwebview_internal_annotations - sha256: "5f80fd30e208ddded7dbbcd0d569e7995f9f63d45ea3f548d8dd4c0b473fb4c8" + sha256: "787171d43f8af67864740b6f04166c13190aa74a1468a1f1f1e9ee5b90c359cd" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" flutter_inappwebview_ios: dependency: transitive description: @@ -690,50 +695,58 @@ packages: dependency: transitive description: name: flutter_inappwebview_web - sha256: d8c680abfb6fec71609a700199635d38a744df0febd5544c5a020bd73de8ee07 + sha256: "55f89c83b0a0d3b7893306b3bb545ba4770a4df018204917148ebb42dc14a598" url: "https://pub.dev" source: hosted - version: "1.0.8" + version: "1.1.2" + flutter_inappwebview_windows: + dependency: transitive + description: + name: flutter_inappwebview_windows + sha256: "8b4d3a46078a2cdc636c4a3d10d10f2a16882f6be607962dbfff8874d1642055" + url: "https://pub.dev" + source: hosted + version: "0.6.0" flutter_launcher_icons: dependency: "direct main" description: name: flutter_launcher_icons - sha256: "526faf84284b86a4cb36d20a5e45147747b7563d921373d4ee0559c54fcdbcea" + sha256: "31cd0885738e87c72d6f055564d37fabcdacee743b396b78c7636c169cac64f5" url: "https://pub.dev" source: hosted - version: "0.13.1" + version: "0.14.2" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.0.0" flutter_local_notifications: dependency: "direct main" description: name: flutter_local_notifications - sha256: dd6676d8c2926537eccdf9f72128bbb2a9d0814689527b17f92c248ff192eaf3 + sha256: ef41ae901e7529e52934feba19ed82827b11baa67336829564aeab3129460610 url: "https://pub.dev" source: hosted - version: "17.2.1+2" + version: "18.0.1" flutter_local_notifications_linux: dependency: transitive description: name: flutter_local_notifications_linux - sha256: c49bd06165cad9beeb79090b18cd1eb0296f4bf4b23b84426e37dd7c027fc3af + sha256: "8f685642876742c941b29c32030f6f4f6dacd0e4eaecb3efbb187d6a3812ca01" url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "5.0.0" flutter_local_notifications_platform_interface: dependency: transitive description: name: flutter_local_notifications_platform_interface - sha256: "85f8d07fe708c1bdcf45037f2c0109753b26ae077e9d9e899d55971711a4ea66" + sha256: "6c5b83c86bf819cdb177a9247a3722067dd8cc6313827ce7c77a4b238a26fd52" url: "https://pub.dev" source: hosted - version: "7.2.0" + version: "8.0.0" flutter_overlay_apps: dependency: "direct main" description: @@ -745,10 +758,10 @@ packages: dependency: "direct main" description: name: flutter_overlay_window - sha256: af871da9270bf5d67e5a657d2e286dfafa43f3417e98fa9e3c06da3f9d0f340e + sha256: "87a8ed7c47104a9ac1352d081e85304934b3f06ae28507097e49dd5f892e208d" url: "https://pub.dev" source: hosted - version: "0.4.4" + version: "0.4.5" flutter_paypal: dependency: "direct main" description: @@ -761,10 +774,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: c6b0b4c05c458e1c01ad9bcc14041dd7b1f6783d487be4386f793f47a8a4d03e + sha256: "615a505aef59b151b46bbeef55b36ce2b6ed299d160c51d84281946f0aa0ce0e" url: "https://pub.dev" source: hosted - version: "2.0.20" + version: "2.0.24" flutter_rating_bar: dependency: "direct main" description: @@ -833,18 +846,18 @@ packages: dependency: "direct main" description: name: flutter_stripe - sha256: "6c10f839e2623a336de79023a95a49c8d177032d5fd54b1f7ee9755fc577e227" + sha256: "06d7d8ac853470b7c9a9ed81f9fccafaf35f417a151e1b7ddcded56113aadf6f" url: "https://pub.dev" source: hosted - version: "10.2.0" + version: "11.3.0" flutter_svg: dependency: transitive description: name: flutter_svg - sha256: "7b4ca6cf3304575fe9c8ec64813c8d02ee41d2afe60bcfe0678bcb5375d596a2" + sha256: "54900a1a1243f3c4a5506d853a2b5c2dbc38d5f27e52a52618a8054401431123" url: "https://pub.dev" source: hosted - version: "2.0.10+1" + version: "2.0.16" flutter_test: dependency: "direct dev" description: flutter @@ -854,10 +867,10 @@ packages: dependency: "direct main" description: name: flutter_tts - sha256: aed2a00c48c43af043ed81145fd8503ddd793dafa7088ab137dbef81a703e53d + sha256: cbec5f0447223e1b4c47f893c7f8ef663ac582120c147e4a1e2cade7f2e8b0c8 url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.2.0" flutter_web_plugins: dependency: transitive description: flutter @@ -867,18 +880,18 @@ packages: dependency: "direct main" description: name: flutter_widget_from_html - sha256: e79144d8a37b7d1075fc1fdebc32708bd142ad9fdf1c7d9444f5e964cc03158b + sha256: f3967a5b42896662efdd420b5adaf8a7d3692b0f44462a07c80e3b4c173b1a02 url: "https://pub.dev" source: hosted - version: "0.15.1" + version: "0.15.3" flutter_widget_from_html_core: dependency: transitive description: name: flutter_widget_from_html_core - sha256: df7c7c9e5ea144f7ab0adfbad733b4d4f7d408ab733c94e6e9fdcb327af92aa1 + sha256: b1048fd119a14762e2361bd057da608148a895477846d6149109b2151d2f7abf url: "https://pub.dev" source: hosted - version: "0.15.1" + version: "0.15.2" freezed_annotation: dependency: transitive description: @@ -915,18 +928,18 @@ packages: dependency: transitive description: name: fwfh_just_audio - sha256: "4ff7927619ff4855567a61e126269e1fef985a9fe7e78682592da17bf658aabb" + sha256: "38dc2c55803bd3cef33042c473e0c40b891ad4548078424641a32032f6a1245f" url: "https://pub.dev" source: hosted - version: "0.15.1" + version: "0.15.2" fwfh_svg: dependency: transitive description: name: fwfh_svg - sha256: c6bb6b513f7ce2766aba76d7276caf9a96b6fee729ac3a492c366a42f82ef02e + sha256: "550b1014d12b5528d8bdb6e3b44b58721f3fb1f65d7a852d1623a817008bdfc4" url: "https://pub.dev" source: hosted - version: "0.8.2" + version: "0.8.3" fwfh_url_launcher: dependency: transitive description: @@ -939,34 +952,34 @@ packages: dependency: transitive description: name: fwfh_webview - sha256: "2cd2b1e463ddaf26b7d4f74e1a855126c4a836fdaff9551636693e07a07422b6" + sha256: c0a8b664b642f40f4c252a0ab4e72c22dcd97c7fb3a7e50a6b4bdb6f63afca19 url: "https://pub.dev" source: hosted - version: "0.15.1" + version: "0.15.3" geolocator: dependency: "direct main" description: name: geolocator - sha256: "149876cc5207a0f5daf4fdd3bfcf0a0f27258b3fe95108fa084f527ad0568f1b" + sha256: d2ec66329cab29cb297d51d96c067d457ca519dca8589665fa0b82ebacb7dbe4 url: "https://pub.dev" source: hosted - version: "12.0.0" + version: "13.0.2" geolocator_android: dependency: transitive description: name: geolocator_android - sha256: "00c7177a95823dd3ee35ef42fd8666cd27d219ae14cea472ac76a21dff43000b" + sha256: "7aefc530db47d90d0580b552df3242440a10fe60814496a979aa67aa98b1fd47" url: "https://pub.dev" source: hosted - version: "4.6.0" + version: "4.6.1" geolocator_apple: dependency: transitive description: name: geolocator_apple - sha256: bc2aca02423ad429cb0556121f56e60360a2b7d694c8570301d06ea0c00732fd + sha256: "6154ea2682563f69fc0125762ed7e91e7ed85d0b9776595653be33918e064807" url: "https://pub.dev" source: hosted - version: "2.3.7" + version: "2.3.8+1" geolocator_platform_interface: dependency: transitive description: @@ -979,10 +992,10 @@ packages: dependency: transitive description: name: geolocator_web - sha256: "7a22f400d831f924a89d931ba126a10e6b8b437f31e6b9311320435f3e1571bd" + sha256: "2ed69328e05cd94e7eb48bb0535f5fc0c0c44d1c4fa1e9737267484d05c29b5e" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.1.1" geolocator_windows: dependency: transitive description: @@ -1027,74 +1040,58 @@ packages: dependency: transitive description: name: google_identity_services_web - sha256: "9482364c9f8b7bd36902572ebc3a7c2b5c8ee57a9c93e6eb5099c1a9ec5265d8" + sha256: "55580f436822d64c8ff9a77e37d61f5fb1e6c7ec9d632a43ee324e2a05c3c6c9" url: "https://pub.dev" source: hosted - version: "0.3.1+1" + version: "0.3.3" google_maps: dependency: transitive description: name: google_maps - sha256: "47eef3836b49bb030d5cb3afc60b8451408bf34cf753e571b645d6529eb4251a" + sha256: "4d6e199c561ca06792c964fa24b2bac7197bf4b401c2e1d23e345e5f9939f531" url: "https://pub.dev" source: hosted - version: "7.1.0" + version: "8.1.1" google_maps_flutter: dependency: "direct main" description: name: google_maps_flutter - sha256: acf0ec482d86b2ac55ade80597ce7f797a47971f5210ebfd030f0d58130e0a94 + sha256: "209856c8e5571626afba7182cf634b2910069dc567954e76ec3e3fb37f5e9db3" url: "https://pub.dev" source: hosted - version: "2.7.0" + version: "2.10.0" google_maps_flutter_android: dependency: transitive description: name: google_maps_flutter_android - sha256: f6306d83edddba7aa017ca6f547d6f36a1443f90ed49d91d48ef70d7aa86e2e1 + sha256: bccf64ccbb2ea672dc62a61177b315a340af86b0228564484b023657544a3fd5 url: "https://pub.dev" source: hosted - version: "2.12.0" + version: "2.14.11" google_maps_flutter_ios: dependency: transitive description: name: google_maps_flutter_ios - sha256: a6e3c6ecdda6c985053f944be13a0645ebb919da2ef0f5bc579c5e1670a5b2a8 + sha256: "6f798adb0aa1db5adf551f2e39e24bd06c8c0fbe4de912fb2d9b5b3f48147b02" url: "https://pub.dev" source: hosted - version: "2.10.0" + version: "2.13.2" google_maps_flutter_platform_interface: dependency: transitive description: name: google_maps_flutter_platform_interface - sha256: bd60ca330e3c7763b95b477054adec338a522d982af73ecc520b232474063ac5 + sha256: a951981c22d790848efb9f114f81794945bc5c06bc566238a419a92f110af6cb url: "https://pub.dev" source: hosted - version: "2.8.0" + version: "2.9.5" google_maps_flutter_web: dependency: transitive description: name: google_maps_flutter_web - sha256: f3155c12119d8a5c2732fdf39ceb5cc095bc662059a03b4ea23294ecebe1d199 + sha256: ff39211bd25d7fad125d19f757eba85bd154460907cd4d135e07e3d0f98a4130 url: "https://pub.dev" source: hosted - version: "0.5.8" - google_mlkit_commons: - dependency: transitive - description: - name: google_mlkit_commons - sha256: "27d626c66a181351a953eba5b6ff1ff123aadb891b4dab085b292118f039d6ac" - url: "https://pub.dev" - source: hosted - version: "0.7.1" - google_mlkit_text_recognition: - dependency: "direct main" - description: - name: google_mlkit_text_recognition - sha256: "89c848329355f165ff17ca8645cab5998770e9e25e431fe6dd8261ed9cf7bdc4" - url: "https://pub.dev" - source: hosted - version: "0.13.0" + version: "0.5.10" google_polyline_algorithm: dependency: "direct main" description: @@ -1107,26 +1104,26 @@ packages: dependency: "direct main" description: name: google_sign_in - sha256: "0b8787cb9c1a68ad398e8010e8c8766bfa33556d2ab97c439fb4137756d7308f" + sha256: fad6ddc80c427b0bba705f2116204ce1173e09cf299f85e053d57a55e5b2dd56 url: "https://pub.dev" source: hosted - version: "6.2.1" + version: "6.2.2" google_sign_in_android: dependency: transitive description: name: google_sign_in_android - sha256: d30fb34b659679ea74397e9748b4ab5d720720d57dcc79538f1b3c4a68654cb3 + sha256: "3b96f9b6cf61915f73cbe1218a192623e296a9b8b31965702503649477761e36" url: "https://pub.dev" source: hosted - version: "6.1.27" + version: "6.1.34" google_sign_in_ios: dependency: transitive description: name: google_sign_in_ios - sha256: a058c9880be456f21e2e8571c1126eaacd570bdc5b6c6d9d15aea4bdf22ca9fe + sha256: "83f015169102df1ab2905cf8abd8934e28f87db9ace7a5fa676998842fed228a" url: "https://pub.dev" source: hosted - version: "5.7.6" + version: "5.7.8" google_sign_in_platform_interface: dependency: transitive description: @@ -1139,10 +1136,10 @@ packages: dependency: transitive description: name: google_sign_in_web - sha256: d606264c7a1a526a3aa79d938b85a601d8589731a478bd4a3dcbdeb14a572228 + sha256: ada595df6c30cead48e66b1f3a050edf0c5cf2ba60c185d69690e08adcc6281b url: "https://pub.dev" source: hosted - version: "0.12.4+1" + version: "0.12.4+3" googleapis_auth: dependency: "direct main" description: @@ -1163,10 +1160,10 @@ packages: dependency: transitive description: name: html - sha256: "3a7812d5bcd2894edf53dfaf8cd640876cf6cef50a8f238745c8b8120ea74d3a" + sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec" url: "https://pub.dev" source: hosted - version: "0.15.4" + version: "0.15.5" http: dependency: "direct main" description: @@ -1187,50 +1184,50 @@ packages: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "76d306a1c3afb33fe82e2bbacad62a61f409b5634c915fceb0d799de1a913360" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.1.1" image: dependency: "direct main" description: name: image - sha256: "2237616a36c0d69aef7549ab439b833fb7f9fb9fc861af2cc9ac3eedddd69ca8" + sha256: "8346ad4b5173924b5ddddab782fc7d8a6300178c8b1dc427775405a01701c4a6" url: "https://pub.dev" source: hosted - version: "4.2.0" + version: "4.5.2" image_cropper: dependency: "direct main" description: name: image_cropper - sha256: d31be025c744ac1bf52d1f49cfdd92fd421e7e45ddadaaac0b39901f67c2a7e3 + sha256: "266760ed426d7121f0ada02c672bfe5c1b5c714e908328716aee756f045709dc" url: "https://pub.dev" source: hosted - version: "7.1.0" + version: "8.1.0" image_cropper_for_web: dependency: transitive description: name: image_cropper_for_web - sha256: "6386e64908ce5d5df404e01c750a99b633dfcea88da69b3efcd3b3811d639760" + sha256: "34256c8fb7fcb233251787c876bb37271744459b593a948a2db73caa323034d0" url: "https://pub.dev" source: hosted - version: "5.1.0" + version: "6.0.2" image_cropper_platform_interface: dependency: transitive description: name: image_cropper_platform_interface - sha256: "39c6539571bda7ce666e0a2f450246a5d42187406eef8f486a3d64f1d9381637" + sha256: e8e9d2ca36360387aee39295ce49029362ae4df3071f23e8e71f2b81e40b7531 url: "https://pub.dev" source: hosted - version: "6.1.0" + version: "7.0.0" image_picker: dependency: "direct main" description: @@ -1243,26 +1240,26 @@ packages: dependency: transitive description: name: image_picker_android - sha256: cea2bd5b9fcff039a4901d3b13c67fe747f940be9ba76bde1bcd218d168eeb7f + sha256: fa8141602fde3f7e2f81dbf043613eb44dfa325fa0bcf93c0f142c9f7a2c193e url: "https://pub.dev" source: hosted - version: "0.8.12+6" + version: "0.8.12+18" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: "5d6eb13048cd47b60dbf1a5495424dea226c5faf3950e20bf8120a58efb5b5f3" + sha256: "717eb042ab08c40767684327be06a5d8dbb341fe791d514e4b92c7bbe1b7bb83" url: "https://pub.dev" source: hosted - version: "3.0.4" + version: "3.0.6" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: "6703696ad49f5c3c8356d576d7ace84d1faf459afb07accbb0fae780753ff447" + sha256: "4f0568120c6fcc0aaa04511cb9f9f4d29fc3d0139884b1d06be88dcec7641d6b" url: "https://pub.dev" source: hosted - version: "0.8.12" + version: "0.8.12+1" image_picker_linux: dependency: transitive description: @@ -1307,10 +1304,10 @@ packages: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: @@ -1319,14 +1316,6 @@ packages: url: "https://pub.dev" source: hosted version: "0.6.7" - js_wrapping: - dependency: transitive - description: - name: js_wrapping - sha256: e385980f7c76a8c1c9a560dfb623b890975841542471eade630b2871d243851c - url: "https://pub.dev" - source: hosted - version: "0.7.4" json_annotation: dependency: transitive description: @@ -1339,10 +1328,10 @@ packages: dependency: "direct main" description: name: just_audio - sha256: ee50602364ba83fa6308f5512dd560c713ec3e1f2bc75f0db43618f0d82ef71a + sha256: a49e7120b95600bd357f37a2bb04cd1e88252f7cdea8f3368803779b925b1049 url: "https://pub.dev" source: hosted - version: "0.9.39" + version: "0.9.42" just_audio_platform_interface: dependency: transitive description: @@ -1355,26 +1344,26 @@ packages: dependency: transitive description: name: just_audio_web - sha256: "0edb481ad4aa1ff38f8c40f1a3576013c3420bf6669b686fe661627d49bc606c" + sha256: "9a98035b8b24b40749507687520ec5ab404e291d2b0937823ff45d92cb18d448" url: "https://pub.dev" source: hosted - version: "0.4.11" + version: "0.4.13" leak_tracker: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.7" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.8" leak_tracker_testing: dependency: transitive description: @@ -1387,34 +1376,34 @@ packages: dependency: transitive description: name: lints - sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.1.1" local_auth: dependency: "direct main" description: name: local_auth - sha256: "280421b416b32de31405b0a25c3bd42dfcef2538dfbb20c03019e02a5ed55ed0" + sha256: "434d854cf478f17f12ab29a76a02b3067f86a63a6d6c4eb8fbfdcfe4879c1b7b" url: "https://pub.dev" source: hosted - version: "2.2.0" + version: "2.3.0" local_auth_android: dependency: transitive description: name: local_auth_android - sha256: "33fcebe9c3cf1bb0033bc85caed354c1e75ff7f7670918a571bd3152a2b65bf4" + sha256: "6763aaf8965f21822624cb2fd3c03d2a8b3791037b5efb0fe4b13e110f5afc92" url: "https://pub.dev" source: hosted - version: "1.0.42" + version: "1.0.46" local_auth_darwin: dependency: transitive description: name: local_auth_darwin - sha256: e424ebf90d5233452be146d4a7da4bcd7a70278b67791592f3fde1bda8eef9e2 + sha256: "5c5127061107278ab4cafa1ac51b3b6760282bf1a2abf011270908a429d1634b" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.4.2" local_auth_platform_interface: dependency: transitive description: @@ -1427,18 +1416,18 @@ packages: dependency: transitive description: name: local_auth_windows - sha256: "505ba3367ca781efb1c50d3132e44a2446bccc4163427bc203b9b4d8994d97ea" + sha256: bc4e66a29b0fdf751aafbec923b5bed7ad6ed3614875d8151afe2578520b2ab5 url: "https://pub.dev" source: hosted - version: "1.0.10" + version: "1.0.11" location: dependency: "direct main" description: name: location - sha256: "6463a242973bf247e3fb1c7722919521b98026978ee3b5177202e103a39c145e" + sha256: ee57923720163324416ce0306b701db6d845d2c1a3bf44d25b607cbddbaa3973 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.1" location_platform_interface: dependency: transitive description: @@ -1451,18 +1440,26 @@ packages: dependency: transitive description: name: location_web - sha256: "613597b489beb396f658c6f4358dd383c5ed0a1402d95e287642a5f2d8171cb0" + sha256: e6435cfd175b0f6e94d6fdc43c104d13cec7e27b21a8cee00bd9516a3d6a4c81 url: "https://pub.dev" source: hosted - version: "5.0.3" + version: "5.0.4" logging: dependency: transitive description: name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" + macros: + dependency: transitive + description: + name: macros + sha256: "1d9e801cd66f7ea3663c45fc708450db1fa57f988142c64289142c9b7ee80656" + url: "https://pub.dev" + source: hosted + version: "0.1.3-main.0" matcher: dependency: transitive description: @@ -1491,10 +1488,10 @@ packages: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "801fd0b26f14a4a58ccb09d5892c3fbdeff209594300a542492cf13fba9d247a" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "1.0.6" nested: dependency: transitive description: @@ -1507,34 +1504,34 @@ packages: dependency: transitive description: name: octo_image - sha256: "45b40f99622f11901238e18d48f5f12ea36426d8eced9f4cbf58479c7aa2430d" + sha256: "34faa6639a78c7e3cbe79be6f9f96535867e879748ade7d17c9b1ae7536293bd" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.1.0" package_config: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: "92d4488434b520a62570293fbd33bb556c7d49230791c1b4bbd973baf6d2dc67" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" package_info_plus: dependency: "direct main" description: name: package_info_plus - sha256: b93d8b4d624b4ea19b0a5a208b2d6eff06004bc3ce74c06040b120eeadd00ce0 + sha256: "70c421fe9d9cc1a9a7f3b05ae56befd469fe4f8daa3b484823141a55442d858d" url: "https://pub.dev" source: hosted - version: "8.0.0" + version: "8.1.2" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - sha256: f49918f3433a3146047372f9d4f1f847511f2acd5cd030e1f44fe5a50036b70e + sha256: a5ef9986efc7bf772f2696183a3992615baa76c1ffb1189318dd8803778fb05b url: "https://pub.dev" source: hosted - version: "3.0.0" + version: "3.0.2" path: dependency: "direct main" description: @@ -1547,34 +1544,34 @@ packages: dependency: transitive description: name: path_parsing - sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.0" path_provider: dependency: transitive description: name: path_provider - sha256: c9e7d3a4cd1410877472158bee69963a4579f78b68c65a2b7d40d1a7a88bb161 + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "2.1.5" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "30c5aa827a6ae95ce2853cdc5fe3971daaac00f6f081c419c013f7f57bff2f5e" + sha256: "4adf4fd5423ec60a29506c76581bc05854c55e3a0b72d35bb28d661c9686edf2" url: "https://pub.dev" source: hosted - version: "2.2.7" + version: "2.2.15" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: f234384a3fdd67f989b4d54a5d73ca2a6c422fa55ae694381ae0f4375cd1ea16 + sha256: "4843174df4d288f5e29185bd6e72a6fbdf5a4a4602717eed565497429f179942" url: "https://pub.dev" source: hosted - version: "2.4.0" + version: "2.4.1" path_provider_linux: dependency: transitive description: @@ -1611,10 +1608,10 @@ packages: dependency: transitive description: name: permission_handler_android - sha256: b29a799ca03be9f999aa6c39f7de5209482d638e6f857f6b93b0875c618b7e54 + sha256: "71bbecfee799e65aff7c744761a57e817e73b738fedf62ab7afd5593da21f9f1" url: "https://pub.dev" source: hosted - version: "12.0.7" + version: "12.0.13" permission_handler_apple: dependency: transitive description: @@ -1627,18 +1624,18 @@ packages: dependency: transitive description: name: permission_handler_html - sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" + sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24" url: "https://pub.dev" source: hosted - version: "0.1.1" + version: "0.1.3+5" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: "48d4fcf201a1dad93ee869ab0d4101d084f49136ec82a8a06ed9cfeacab9fd20" + sha256: e9c8eadee926c4532d0305dff94b85bf961f16759c3af791486613152af4b4f9 url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.2.3" permission_handler_windows: dependency: transitive description: @@ -1659,10 +1656,10 @@ packages: dependency: transitive description: name: platform - sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" url: "https://pub.dev" source: hosted - version: "3.1.5" + version: "3.1.6" plugin_platform_interface: dependency: transitive description: @@ -1687,6 +1684,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.5.1" + posix: + dependency: transitive + description: + name: posix + sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a + url: "https://pub.dev" + source: hosted + version: "6.0.1" provider: dependency: transitive description: @@ -1699,18 +1704,18 @@ packages: dependency: transitive description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "7b3cfbf654f3edd0c6298ecd5be782ce997ddf0e00531b9464b55245185bbbbd" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.1.5" pubspec_parse: dependency: transitive description: name: pubspec_parse - sha256: c799b721d79eb6ee6fa56f00c04b472dcd44a30d258fac2174a6ec57302678f8 + sha256: "81876843eb50dc2e1e5b151792c9a985c5ed2536914115ed04e9c8528f6647b0" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" recase: dependency: transitive description: @@ -1723,26 +1728,26 @@ packages: dependency: "direct main" description: name: record - sha256: "4a5cf4d083d1ee49e0878823c4397d073f8eb0a775f31215d388e2bc47a9e867" + sha256: "8cb57763d954624fbc673874930c6f1ceca3baaf9bfee24b25da6fd451362394" url: "https://pub.dev" source: hosted - version: "5.1.2" + version: "5.2.0" record_android: dependency: transitive description: name: record_android - sha256: "9ccf6a206dc72b486cf37893690e70c17610e8f05dba8da1a808e73dc2f49a04" + sha256: "0b4739a2502fff402b0ac0ff1d6b2740854d116d78e06a4a16b3989821f84446" url: "https://pub.dev" source: hosted - version: "1.2.4" + version: "1.3.0" record_darwin: dependency: transitive description: name: record_darwin - sha256: b038c26d1066eb81f4e7433bfb85f0d450ca3fac0002a7216b83a21b775ecf21 + sha256: e487eccb19d82a9a39cd0126945cfc47b9986e0df211734e2788c95e3f63c82c url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.2" record_linux: dependency: transitive description: @@ -1755,26 +1760,26 @@ packages: dependency: transitive description: name: record_platform_interface - sha256: "11f8b03ea8a0e279b0e306571dbe0db0202c0b8e866495c9fa1ad2281d5e4c15" + sha256: "8a575828733d4c3cb5983c914696f40db8667eab3538d4c41c50cbb79e722ef4" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.0" record_web: dependency: transitive description: name: record_web - sha256: "703adb626d31e2dd86a8f6b34e306e03cd323e0c5e16e11bbc0385b07a8df97e" + sha256: "10cb041349024ce4256e11dd35874df26d8b45b800678f2f51fd1318901adc64" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.4" record_windows: dependency: transitive description: name: record_windows - sha256: e653555aa3fda168aded7c34e11bd82baf0c6ac84e7624553def3c77ffefd36f + sha256: "7bce0ac47454212ca8bfa72791d8b6a951f2fb0d4b953b64443c014227f035b4" url: "https://pub.dev" source: hosted - version: "1.0.3" + version: "1.0.4" rxdart: dependency: transitive description: @@ -1810,26 +1815,26 @@ packages: dependency: transitive description: name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.2" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - sha256: "073c147238594ecd0d193f3456a5fe91c4b0abbcc68bf5cd95b36c4e194ac611" + sha256: cc36c297b52866d203dbf9332263c94becc2fe0ceaa9681d07b6ef9807023b67 url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.0.1" sign_in_with_apple: dependency: "direct main" description: name: sign_in_with_apple - sha256: "5c34c601d6910d7db0077063001ccd9d9329ee58b9038ee07153ffcdd76e91bd" + sha256: e84a62e17b7e463abf0a64ce826c2cd1f0b72dff07b7b275e32d5302d76fb4c5 url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.4" sign_in_with_apple_platform_interface: dependency: transitive description: @@ -1842,15 +1847,23 @@ packages: dependency: transitive description: name: sign_in_with_apple_web - sha256: c009e9beeb6c376e86aaa154fcc8b4e075d4bad90c56286b9668a51cdb6129ea + sha256: "2f7c38368f49e3f2043bca4b46a4a61aaae568c140a79aa0675dc59ad0ca49bc" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" sky_engine: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" + slide_to_act: + dependency: "direct main" + description: + name: slide_to_act + sha256: cd4ea5019754347d5a2b0375e802ad948610a0e233adfe51a9cc5b3a1fc3a43b + url: "https://pub.dev" + source: hosted + version: "2.0.2" source_gen: dependency: transitive description: @@ -1879,26 +1892,50 @@ packages: dependency: "direct main" description: name: sqflite - sha256: a43e5a27235518c03ca238e7b4732cf35eabe863a369ceba6cbefa537a66f16d + sha256: "2d7299468485dca85efeeadf5d38986909c5eb0cd71fd3db2c2f000e6c9454bb" url: "https://pub.dev" source: hosted - version: "2.3.3+1" + version: "2.4.1" + sqflite_android: + dependency: transitive + description: + name: sqflite_android + sha256: "78f489aab276260cdd26676d2169446c7ecd3484bbd5fead4ca14f3ed4dd9ee3" + url: "https://pub.dev" + source: hosted + version: "2.4.0" sqflite_common: dependency: transitive description: name: sqflite_common - sha256: "3da423ce7baf868be70e2c0976c28a1bb2f73644268b7ffa7d2e08eab71f16a4" + sha256: "761b9740ecbd4d3e66b8916d784e581861fd3c3553eda85e167bc49fdb68f709" url: "https://pub.dev" source: hosted - version: "2.5.4" + version: "2.5.4+6" + sqflite_darwin: + dependency: transitive + description: + name: sqflite_darwin + sha256: "96a698e2bc82bd770a4d6aab00b42396a7c63d9e33513a56945cbccb594c2474" + url: "https://pub.dev" + source: hosted + version: "2.4.1" + sqflite_platform_interface: + dependency: transitive + description: + name: sqflite_platform_interface + sha256: "8dd4515c7bdcae0a785b0062859336de775e8c65db81ae33dd5445f35be61920" + url: "https://pub.dev" + source: hosted + version: "2.4.0" stack_trace: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.0" stream_channel: dependency: transitive description: @@ -1911,50 +1948,50 @@ packages: dependency: transitive description: name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" stripe_android: dependency: transitive description: name: stripe_android - sha256: "74c977ae0a918949e84796a8a3524a68610f4719c66170f01592b4bc5196f049" + sha256: bc919b07ba1560b25a69002f9ca67a5973f12bfb96f78033cf9bd6c561f1aa10 url: "https://pub.dev" source: hosted - version: "10.2.1" + version: "11.3.0" stripe_ios: dependency: transitive description: name: stripe_ios - sha256: eb91cb9b971e22f865937309b0e5e4e0f5bcbfc39e671bd41c0fdaddbb5ad948 + sha256: "734a7668babd85a451c8049f0dfa8ca5dc6d80f85600d29732e7fa703dd5ec5e" url: "https://pub.dev" source: hosted - version: "10.2.0" + version: "11.3.0" stripe_platform_interface: dependency: transitive description: name: stripe_platform_interface - sha256: "1a2e3fe106bc723c0c0cda2f97f15bfef16944507621639c636041845a96ff57" + sha256: "5cb987074b6ee199e7dd1b81d189c87583f6eaeb19147ffc8c15bc009596e6ce" url: "https://pub.dev" source: hosted - version: "10.2.0" + version: "11.3.0" synchronized: dependency: transitive description: name: synchronized - sha256: "539ef412b170d65ecdafd780f924e5be3f60032a1128df156adad6c5b373d558" + sha256: "69fe30f3a8b04a0be0c15ae6490fc859a78ef4c43ae2dd5e8a623d45bfcf9225" url: "https://pub.dev" source: hosted - version: "3.1.0+1" + version: "3.3.0+3" term_glyph: dependency: transitive description: @@ -1967,74 +2004,74 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.3" timezone: dependency: transitive description: name: timezone - sha256: "2236ec079a174ce07434e89fcd3fcda430025eb7692244139a9cf54fdcf1fc7d" + sha256: ffc9d5f4d1193534ef051f9254063fa53d588609418c84299956c3db9383587d url: "https://pub.dev" source: hosted - version: "0.9.4" + version: "0.10.0" timing: dependency: transitive description: name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + sha256: "62ee18aca144e4a9f29d212f5a4c6a053be252b895ab14b5821996cff4ed90fe" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.0.2" typed_data: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" url_launcher: dependency: "direct main" description: name: url_launcher - sha256: "21b704ce5fa560ea9f3b525b43601c678728ba46725bab9b01187b4831377ed3" + sha256: "9d06212b1362abc2f0f0d78e6f09f726608c74e3b9462e8368bb03314aa8d603" url: "https://pub.dev" source: hosted - version: "6.3.0" + version: "6.3.1" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "95d8027db36a0e52caf55680f91e33ea6aa12a3ce608c90b06f4e429a21067ac" + sha256: "6fc2f56536ee873eeb867ad176ae15f304ccccc357848b351f6f0d8d4a40d193" url: "https://pub.dev" source: hosted - version: "6.3.5" + version: "6.3.14" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: e43b677296fadce447e987a2f519dcf5f6d1e527dc35d01ffab4fff5b8a7063e + sha256: "16a513b6c12bb419304e72ea0ae2ab4fed569920d1c7cb850263fe3acc824626" url: "https://pub.dev" source: hosted - version: "6.3.1" + version: "6.3.2" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 + sha256: "4e9ba368772369e3e08f231d2301b4ef72b9ff87c31192ef471b380ef29a4935" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.1" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: "9a1a42d5d2d95400c795b2914c36fdcb525870c752569438e4ebb09a2b5d90de" + sha256: "17ba2000b847f334f16626a574c702b196723af2a289e7a93ffcb79acff855c2" url: "https://pub.dev" source: hosted - version: "3.2.0" + version: "3.2.2" url_launcher_platform_interface: dependency: transitive description: @@ -2047,50 +2084,50 @@ packages: dependency: transitive description: name: url_launcher_web - sha256: "8d9e750d8c9338601e709cd0885f95825086bd8b642547f26bda435aade95d8a" + sha256: "772638d3b34c779ede05ba3d38af34657a05ac55b06279ea6edd409e323dca8e" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.3" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 + sha256: "44cf3aabcedde30f2dba119a9dea3b0f2672fbe6fa96e85536251d678216b3c4" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.3" uuid: dependency: transitive description: name: uuid - sha256: "83d37c7ad7aaf9aa8e275490669535c8080377cfa7a7004c24dfac53afffaa90" + sha256: a5be9ef6618a7ac1e964353ef476418026db906c4facdedaa299b7a2e71690ff url: "https://pub.dev" source: hosted - version: "4.4.2" + version: "4.5.1" vector_graphics: dependency: transitive description: name: vector_graphics - sha256: "32c3c684e02f9bc0afb0ae0aa653337a2fe022e8ab064bcd7ffda27a74e288e3" + sha256: "27d5fefe86fb9aace4a9f8375b56b3c292b64d8c04510df230f849850d912cb7" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.15" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: c86987475f162fadff579e7320c7ddda04cd2fdeffbe1129227a85d9ac9e03da + sha256: "2430b973a4ca3c4dbc9999b62b8c719a160100dcbae5c819bae0cacce32c9cdb" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.12" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: "12faff3f73b1741a36ca7e31b292ddeb629af819ca9efe9953b70bd63fc8cd81" + sha256: "1b4b9e706a10294258727674a340ae0d6e64a7231980f9f9a3d12e4b42407aad" url: "https://pub.dev" source: hosted - version: "1.1.11+1" + version: "1.1.16" vector_math: dependency: transitive description: @@ -2103,18 +2140,18 @@ packages: dependency: "direct main" description: name: vibration - sha256: "06588a845a4ebc73ab7ff7da555c2b3dbcd9676164b5856a38bf0b2287f1045d" + sha256: f0af02af2d63132135ae0332a3e54d5de718e214ee94c4f082176ef6ce624a4b url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "2.0.1" vibration_platform_interface: dependency: transitive description: name: vibration_platform_interface - sha256: "735a5fef0f284de0ad9449a5ed7d36ba017c6f59b5b20ac64418af4a6bd35ee7" + sha256: f66b39aab2447038978c16f3d6f77228e49ef5717556e3da02313e044e4a7600 url: "https://pub.dev" source: hosted - version: "0.0.1" + version: "0.0.2" video_player: dependency: "direct main" description: @@ -2127,50 +2164,50 @@ packages: dependency: transitive description: name: video_player_android - sha256: fdc0331ce9f808cc2714014cb8126bd6369943affefd54f8fdab0ea0bb617b7f + sha256: "391e092ba4abe2f93b3e625bd6b6a6ec7d7414279462c1c0ee42b5ab8d0a0898" url: "https://pub.dev" source: hosted - version: "2.5.2" + version: "2.7.16" video_player_avfoundation: dependency: transitive description: name: video_player_avfoundation - sha256: d1e9a824f2b324000dc8fb2dcb2a3285b6c1c7c487521c63306cc5b394f68a7c + sha256: "33224c19775fd244be2d6e3dbd8e1826ab162877bd61123bf71890772119a2b7" url: "https://pub.dev" source: hosted - version: "2.6.1" + version: "2.6.5" video_player_platform_interface: dependency: transitive description: name: video_player_platform_interface - sha256: "236454725fafcacf98f0f39af0d7c7ab2ce84762e3b63f2cbb3ef9a7e0550bc6" + sha256: "229d7642ccd9f3dc4aba169609dd6b5f3f443bb4cc15b82f7785fcada5af9bbb" url: "https://pub.dev" source: hosted - version: "6.2.2" + version: "6.2.3" video_player_web: dependency: transitive description: name: video_player_web - sha256: ff4d69a6614b03f055397c27a71c9d3ddea2b2a23d71b2ba0164f59ca32b8fe2 + sha256: "881b375a934d8ebf868c7fb1423b2bfaa393a0a265fa3f733079a86536064a10" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.3" vm_service: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.3.0" wakelock_plus: dependency: "direct main" description: name: wakelock_plus - sha256: "14758533319a462ffb5aa3b7ddb198e59b29ac3b02da14173a1715d65d4e6e68" + sha256: "1aeab49f24aec1e5ab417d7cdfc47c7bbcb815353f1840667ffe68c89a0cd2e6" url: "https://pub.dev" source: hosted - version: "1.2.5" + version: "1.2.9" wakelock_plus_platform_interface: dependency: transitive description: @@ -2183,18 +2220,18 @@ packages: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "69da27e49efa56a15f8afe8f4438c4ec02eff0a117df1b22ea4aad194fe1c104" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" web: dependency: transitive description: name: web - sha256: "97da13628db363c635202ad97068d47c5b8aa555808e7a9411963c533b449b27" + sha256: cd3543bd5798f6ad290ea73d210f423502e71900302dde696f8bff84bf89a1cb url: "https://pub.dev" source: hosted - version: "0.5.1" + version: "1.1.0" web_socket: dependency: transitive description: @@ -2223,10 +2260,10 @@ packages: dependency: transitive description: name: webview_flutter_android - sha256: f42447ca49523f11d8f70abea55ea211b3cafe172dd7a0e7ac007bb35dd356dc + sha256: "47a8da40d02befda5b151a26dba71f47df471cddd91dfdb7802d0a87c5442558" url: "https://pub.dev" source: hosted - version: "3.16.4" + version: "3.16.9" webview_flutter_platform_interface: dependency: transitive description: @@ -2239,34 +2276,34 @@ packages: dependency: transitive description: name: webview_flutter_wkwebview - sha256: d4034901d96357beb1b6717ebf7d583c88e40cfc6eb85fe76dd1bf0979a9f251 + sha256: b7e92f129482460951d96ef9a46b49db34bd2e1621685de26e9eaafd9674e7eb url: "https://pub.dev" source: hosted - version: "3.16.0" + version: "3.16.3" win32: dependency: transitive description: name: win32 - sha256: a79dbe579cb51ecd6d30b17e0cae4e0ea15e2c0e66f69ad4198f22a6789e94f4 + sha256: "8b338d4486ab3fbc0ba0db9f9b4f5239b6697fcee427939a40e720cbb9ee0a69" url: "https://pub.dev" source: hosted - version: "5.5.1" + version: "5.9.0" win32_registry: dependency: transitive description: name: win32_registry - sha256: "10589e0d7f4e053f2c61023a31c9ce01146656a70b7b7f0828c0b46d7da2a9bb" + sha256: "21ec76dfc731550fd3e2ce7a33a9ea90b828fdf19a5c3bcf556fa992cfa99852" url: "https://pub.dev" source: hosted - version: "1.1.3" + version: "1.1.5" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.0" xml: dependency: transitive description: @@ -2279,18 +2316,18 @@ packages: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" youtube_player_flutter: dependency: "direct main" description: name: youtube_player_flutter - sha256: "30f84e2f7063c56e536f507e37c1e803546842707cf58e5b5a71253b9ff9b455" + sha256: "4d14aa47f9c84929b5400a87ade4dcfdab87a2ca2e0b18ecc2ef852b1440e123" url: "https://pub.dev" source: hosted - version: "9.0.4" + version: "9.1.1" sdks: - dart: ">=3.5.0 <4.0.0" - flutter: ">=3.24.0" + dart: ">=3.6.0 <4.0.0" + flutter: ">=3.27.0" diff --git a/pubspec.yaml b/pubspec.yaml index 41f2b66..f9f5595 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -20,7 +20,7 @@ dependencies: cupertino_icons: ^1.0.2 firebase_messaging: ^15.0.3 firebase_core: ^3.2.0 - flutter_local_notifications: ^17.2.1+2 + flutter_local_notifications: ^18.0.1 google_maps_flutter: ^2.5.0 sqflite: ^2.3.0 path: ^1.8.3 @@ -36,30 +36,30 @@ dependencies: # custom_searchable_dropdown: ^2.1.1 animated_text_kit: ^4.2.2 flutter_secure_storage: ^9.0.0 - geolocator: ^12.0.0 + geolocator: ^13.0.2 flutter_paypal: ^0.2.0 - flutter_launcher_icons: ^0.13.1 #to be remove + flutter_launcher_icons: ^0.14.2 #to be remove # crypto: ^3.0.3 encrypt: ^5.0.3 flutter_rating_bar: ^4.0.1 flutter_font_icons: ^2.2.5 # device_info_plus: ^9.1.0 image_picker: ^1.0.4 - flutter_stripe: ^10.2.0 + flutter_stripe: ^11.3.0 camera: ^0.11.0+1 #to be remove flutter_widget_from_html: ^0.15.1 local_auth: ^2.1.7 image: ^4.1.3 #to be remove - image_cropper: ^7.1.0 - envied: ^0.5.2 + image_cropper: ^8.1.0 + envied: ^1.0.0 # cached_network_image: ^3.3.0 #to be remove calendar_builder: ^0.0.6 - fl_chart: ^0.68.0 + fl_chart: ^0.70.0 # agora_rtc_engine: ^6.2.6 flutter_tts: ^4.0.2 permission_handler: ^11.3.0 # google_generative_ai: ^0.0.1-dev - vibration: ^1.8.4 + vibration: ^2.0.1 wakelock_plus: # background_location: ^0.13.0 background_location: @@ -77,7 +77,7 @@ dependencies: just_audio: ^0.9.37 share: ^2.0.4 google_sign_in: ^6.2.1 - google_mlkit_text_recognition: ^0.13.0 + # google_mlkit_text_recognition: ^0.14.0 sign_in_with_apple: ^6.1.0 firebase_auth: ^5.1.2 package_info_plus: ^8.0.0 @@ -88,13 +88,14 @@ dependencies: video_player: ^2.9.2 youtube_player_flutter: ^9.0.4 flutter_confetti: ^0.3.0 + slide_to_act: ^2.0.2 dev_dependencies: flutter_test: sdk: flutter - flutter_lints: ^4.0.0 - envied_generator: ^0.5.2 + flutter_lints: ^5.0.0 + envied_generator: ^1.0.0 build_runner: ^2.4.6 flutter_launcher_icons: diff --git a/windows/flutter/generated_plugin_registrant.cc b/windows/flutter/generated_plugin_registrant.cc index afbf346..b21e906 100644 --- a/windows/flutter/generated_plugin_registrant.cc +++ b/windows/flutter/generated_plugin_registrant.cc @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -24,6 +25,8 @@ void RegisterPlugins(flutter::PluginRegistry* registry) { registry->GetRegistrarForPlugin("FirebaseAuthPluginCApi")); FirebaseCorePluginCApiRegisterWithRegistrar( registry->GetRegistrarForPlugin("FirebaseCorePluginCApi")); + FlutterInappwebviewWindowsPluginCApiRegisterWithRegistrar( + registry->GetRegistrarForPlugin("FlutterInappwebviewWindowsPluginCApi")); FlutterSecureStorageWindowsPluginRegisterWithRegistrar( registry->GetRegistrarForPlugin("FlutterSecureStorageWindowsPlugin")); FlutterTtsPluginRegisterWithRegistrar( diff --git a/windows/flutter/generated_plugins.cmake b/windows/flutter/generated_plugins.cmake index 7957800..a75a14d 100644 --- a/windows/flutter/generated_plugins.cmake +++ b/windows/flutter/generated_plugins.cmake @@ -6,6 +6,7 @@ list(APPEND FLUTTER_PLUGIN_LIST file_selector_windows firebase_auth firebase_core + flutter_inappwebview_windows flutter_secure_storage_windows flutter_tts geolocator_windows