diff --git a/.DS_Store b/.DS_Store index fd653c8..a304326 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index 432fcdc..b4023f0 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -1004,7 +1004,7 @@ "languageVersion": "3.4" } ], - "generated": "2025-03-20T12:51:19.355653Z", + "generated": "2025-03-21T12:45:09.442791Z", "generator": "pub", "generatorVersion": "3.4.4", "flutterRoot": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter", diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index f5a8b6c..11d439f 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":true,"dependencies":[]},{"name":"flutter_inappwebview_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_ios-1.0.13/","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/","native_build":true,"dependencies":[]},{"name":"geocoding_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/","native_build":true,"dependencies":[]},{"name":"geolocator_apple","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/","native_build":true,"dependencies":[]},{"name":"google_maps_flutter_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/","native_build":true,"dependencies":[]},{"name":"image_picker_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/","native_build":true,"dependencies":[]}],"android":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":true,"dependencies":[]},{"name":"flutter_inappwebview_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_android-1.0.13/","native_build":true,"dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/","native_build":true,"dependencies":[]},{"name":"geocoding_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/","native_build":true,"dependencies":[]},{"name":"geolocator_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/","native_build":true,"dependencies":[]},{"name":"google_api_headers","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/","native_build":true,"dependencies":["package_info_plus"]},{"name":"google_maps_flutter_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+12/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.9/","native_build":true,"dependencies":[]}],"macos":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":true,"dependencies":[]},{"name":"file_selector_macos","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/","native_build":true,"dependencies":[]},{"name":"flutter_inappwebview_macos","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_macos-1.0.11/","native_build":true,"dependencies":[]},{"name":"geolocator_apple","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/","native_build":true,"dependencies":[]},{"name":"image_picker_macos","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/","native_build":false,"dependencies":["file_selector_macos"]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/","native_build":true,"dependencies":[]}],"linux":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":false,"dependencies":[]},{"name":"file_selector_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/","native_build":false,"dependencies":["file_selector_linux"]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/","native_build":true,"dependencies":[]}],"windows":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":true,"dependencies":[]},{"name":"file_selector_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/","native_build":true,"dependencies":[]},{"name":"geolocator_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/","native_build":true,"dependencies":[]},{"name":"image_picker_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/","native_build":false,"dependencies":["file_selector_windows"]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/","native_build":true,"dependencies":[]}],"web":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","dependencies":[]},{"name":"flutter_inappwebview_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_web-1.0.8/","dependencies":[]},{"name":"fluttertoast","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/","dependencies":[]},{"name":"geolocator_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/","dependencies":[]},{"name":"google_maps_flutter_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/","dependencies":[]},{"name":"image_picker_for_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/","dependencies":[]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/","dependencies":[]},{"name":"url_launcher_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/","dependencies":[]}]},"dependencyGraph":[{"name":"connectivity_plus","dependencies":[]},{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"flutter_inappwebview","dependencies":["flutter_inappwebview_android","flutter_inappwebview_ios","flutter_inappwebview_macos","flutter_inappwebview_web"]},{"name":"flutter_inappwebview_android","dependencies":[]},{"name":"flutter_inappwebview_ios","dependencies":[]},{"name":"flutter_inappwebview_macos","dependencies":[]},{"name":"flutter_inappwebview_web","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geocoding","dependencies":["geocoding_android","geocoding_ios"]},{"name":"geocoding_android","dependencies":[]},{"name":"geocoding_ios","dependencies":[]},{"name":"geolocator","dependencies":["geolocator_android","geolocator_apple","geolocator_web","geolocator_windows"]},{"name":"geolocator_android","dependencies":[]},{"name":"geolocator_apple","dependencies":[]},{"name":"geolocator_web","dependencies":[]},{"name":"geolocator_windows","dependencies":[]},{"name":"google_api_headers","dependencies":["package_info_plus"]},{"name":"google_maps_flutter","dependencies":["google_maps_flutter_android","google_maps_flutter_ios","google_maps_flutter_web"]},{"name":"google_maps_flutter_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"google_maps_flutter_ios","dependencies":[]},{"name":"google_maps_flutter_web","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2025-03-20 18:21:19.587229","version":"3.22.3"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":true,"dependencies":[]},{"name":"flutter_inappwebview_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_ios-1.0.13/","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/","native_build":true,"dependencies":[]},{"name":"geocoding_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/","native_build":true,"dependencies":[]},{"name":"geolocator_apple","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/","native_build":true,"dependencies":[]},{"name":"google_maps_flutter_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/","native_build":true,"dependencies":[]},{"name":"image_picker_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/","native_build":true,"dependencies":[]}],"android":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":true,"dependencies":[]},{"name":"flutter_inappwebview_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_android-1.0.13/","native_build":true,"dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/","native_build":true,"dependencies":[]},{"name":"geocoding_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/","native_build":true,"dependencies":[]},{"name":"geolocator_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/","native_build":true,"dependencies":[]},{"name":"google_api_headers","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/","native_build":true,"dependencies":["package_info_plus"]},{"name":"google_maps_flutter_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+12/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.9/","native_build":true,"dependencies":[]}],"macos":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":true,"dependencies":[]},{"name":"file_selector_macos","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/","native_build":true,"dependencies":[]},{"name":"flutter_inappwebview_macos","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_macos-1.0.11/","native_build":true,"dependencies":[]},{"name":"geolocator_apple","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/","native_build":true,"dependencies":[]},{"name":"image_picker_macos","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/","native_build":false,"dependencies":["file_selector_macos"]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/","native_build":true,"dependencies":[]}],"linux":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":false,"dependencies":[]},{"name":"file_selector_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/","native_build":false,"dependencies":["file_selector_linux"]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/","native_build":true,"dependencies":[]}],"windows":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","native_build":true,"dependencies":[]},{"name":"file_selector_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/","native_build":true,"dependencies":[]},{"name":"geolocator_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/","native_build":true,"dependencies":[]},{"name":"image_picker_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/","native_build":false,"dependencies":["file_selector_windows"]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/","native_build":true,"dependencies":[]}],"web":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.3/","dependencies":[]},{"name":"flutter_inappwebview_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_inappwebview_web-1.0.8/","dependencies":[]},{"name":"fluttertoast","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.11/","dependencies":[]},{"name":"geolocator_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/","dependencies":[]},{"name":"google_maps_flutter_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/","dependencies":[]},{"name":"image_picker_for_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/","dependencies":[]},{"name":"package_info_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/","dependencies":[]},{"name":"url_launcher_web","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/","dependencies":[]}]},"dependencyGraph":[{"name":"connectivity_plus","dependencies":[]},{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"flutter_inappwebview","dependencies":["flutter_inappwebview_android","flutter_inappwebview_ios","flutter_inappwebview_macos","flutter_inappwebview_web"]},{"name":"flutter_inappwebview_android","dependencies":[]},{"name":"flutter_inappwebview_ios","dependencies":[]},{"name":"flutter_inappwebview_macos","dependencies":[]},{"name":"flutter_inappwebview_web","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"fluttertoast","dependencies":[]},{"name":"geocoding","dependencies":["geocoding_android","geocoding_ios"]},{"name":"geocoding_android","dependencies":[]},{"name":"geocoding_ios","dependencies":[]},{"name":"geolocator","dependencies":["geolocator_android","geolocator_apple","geolocator_web","geolocator_windows"]},{"name":"geolocator_android","dependencies":[]},{"name":"geolocator_apple","dependencies":[]},{"name":"geolocator_web","dependencies":[]},{"name":"geolocator_windows","dependencies":[]},{"name":"google_api_headers","dependencies":["package_info_plus"]},{"name":"google_maps_flutter","dependencies":["google_maps_flutter_android","google_maps_flutter_ios","google_maps_flutter_web"]},{"name":"google_maps_flutter_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"google_maps_flutter_ios","dependencies":[]},{"name":"google_maps_flutter_web","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]},{"name":"package_info_plus","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"sqflite","dependencies":[]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2025-03-21 18:15:09.671082","version":"3.22.3"} \ No newline at end of file diff --git a/lib/src/core/constant/api.dart b/lib/src/core/constant/api.dart index 3444858..7ea535b 100644 --- a/lib/src/core/constant/api.dart +++ b/lib/src/core/constant/api.dart @@ -12,7 +12,7 @@ class APIURL { static const String getBestDealProduct = "${BASE_URL}products/best-deals"; static const String getAllcategory = "${BASE_URL}categories"; static const String addToWish = "${BASE_URL}carts/wishlist/items"; - static const String getSubcategory = "${BASE_URL}categories/by-level/2"; + static const String getSubcategory = "${BASE_URL}categories/by-level/2"; static const String deleteToWish = "${BASE_URL}carts/wishlist/items"; static const String addToCart = "${BASE_URL}carts/items"; static const String gettAllWishList = "${BASE_URL}carts/wishlist"; @@ -32,7 +32,8 @@ class APIURL { static const String offerCoupon = "${BASE_URL}coupons"; static const String applyCoupon = "${BASE_URL}coupons/validate"; static const String forgetPassword = "${BASE_URL}auth/forgot-password/vendor"; - static const String verifyForgetPassword = "${BASE_URL}auth/forgot-password-verify-otp/vendor"; + static const String verifyForgetPassword = + "${BASE_URL}auth/forgot-password-verify-otp/vendor"; static const String reset_password = "${BASE_URL}auth/reset-password/vendor"; static const String getProduct = "${BASE_URL}products"; @@ -44,10 +45,8 @@ class APIURL { static const String deleteProduct = "${BASE_URL}products/"; static const String updateProduct = "${BASE_URL}products/"; + static const String getAssignedOtp = "${BASE_URL}delivery/customer-otp"; - static const String getAssignedOtp ="${BASE_URL}delivery/customer-otp"; - - static const String updateStatus = "${BASE_URL}orders/items/"; - - + static const String updateStatus = "${BASE_URL}orders/items/"; + static const String checkAddress = "${BASE_URL}distance/by-address/"; } diff --git a/lib/src/data/check_product.dart b/lib/src/data/check_product.dart new file mode 100644 index 0000000..cc4b286 --- /dev/null +++ b/lib/src/data/check_product.dart @@ -0,0 +1,209 @@ +// import 'dart:convert'; + +// CheckProduct checkProductFromJson(String str) => +// CheckProduct.fromJson(json.decode(str)); + +// String checkProductToJson(CheckProduct data) => json.encode(data.toJson()); + +// class CheckProduct { +// double? maxDistance; +// int? maxDeliveryCharges; +// List? distances; +// // List? nonDeliverableProducts; +// bool? isDeliverable; + +// CheckProduct({ +// this.maxDistance, +// this.maxDeliveryCharges, +// this.distances, +// // this.nonDeliverableProducts, +// this.isDeliverable, +// }); + +// factory CheckProduct.fromJson(Map json) => CheckProduct( +// maxDistance: json["maxDistance"].toDouble(), +// maxDeliveryCharges: json["maxDeliveryCharges"], +// distances: List.from( +// json["distances"].map((x) => Distance.fromJson(x))), +// // nonDeliverableProducts: List.from( +// // json["nonDeliverableProducts"] +// // .map((x) => NonDeliverableProduct.fromJson(x))), +// isDeliverable: json["isDeliverable"], +// ); + +// Map toJson() => { +// "maxDistance": maxDistance, +// "maxDeliveryCharges": maxDeliveryCharges, +// "distances": List.from(distances!.map((x) => x.toJson())), +// // "nonDeliverableProducts": +// // List.from(nonDeliverableProducts!.map((x) => x.toJson())), +// "isDeliverable": isDeliverable, +// }; +// } + +// class Distance { +// int? rank; +// String? productId; +// String? categoryId; +// double? distance; +// String? productName; +// String? productDescription; +// String? productImage; +// String? maxDeliveryCharges; + +// Distance({ +// this.rank, +// this.productId, +// this.categoryId, +// this.distance, +// this.productName, +// this.productDescription, +// this.productImage, +// this.maxDeliveryCharges, +// }); + +// factory Distance.fromJson(Map json) => Distance( +// rank: json["rank"], +// productId: json["productId"], +// categoryId: json["categoryId"], +// distance: json["distance"].toDouble(), +// productName: json["productName"], +// productDescription: json["productDescription"], +// productImage: json["productImage"], +// maxDeliveryCharges: json["maxDeliveryCharges"], +// ); + +// Map toJson() => { +// "rank": rank, +// "productId": productId, +// "categoryId": categoryId, +// "distance": distance, +// "productName": productName, +// "productDescription": productDescription, +// "productImage": productImage, +// "maxDeliveryCharges": maxDeliveryCharges, +// }; +// } + +// class NonDeliverableProduct { +// String? productId; +// String? productName; +// String? productDescription; +// String? productImage; +// double? distance; + +// NonDeliverableProduct({ +// this.productId, +// this.productName, +// this.productDescription, +// this.productImage, +// this.distance, +// }); + +// factory NonDeliverableProduct.fromJson(Map json) => +// NonDeliverableProduct( +// productId: json["productId"], +// productName: json["productName"], +// productDescription: json["productDescription"], +// productImage: json["productImage"], +// distance: json["distance"].toDouble(), +// ); + +// Map toJson() => { +// "productId": productId, +// "productName": productName, +// "productDescription": productDescription, +// "productImage": productImage, +// "distance": distance, +// }; +// } + +// To parse this JSON data, do +// +// final checkProduct = checkProductFromJson(jsonString); + +import 'dart:convert'; + +CheckProduct checkProductFromJson(String str) => + CheckProduct.fromJson(json.decode(str)); + +String checkProductToJson(CheckProduct data) => json.encode(data.toJson()); + +class CheckProduct { + double? maxDistance; + int? maxDeliveryCharges; + List? distances; + List? nonDeliverableProducts; + bool? isDeliverable; + + CheckProduct({ + this.maxDistance, + this.maxDeliveryCharges, + this.distances, + this.nonDeliverableProducts, + this.isDeliverable, + }); + + factory CheckProduct.fromJson(Map json) => CheckProduct( + maxDistance: json["maxDistance"].toDouble(), + maxDeliveryCharges: json["maxDeliveryCharges"], + distances: List.from( + json["distances"].map((x) => Distance.fromJson(x))), + nonDeliverableProducts: + List.from(json["nonDeliverableProducts"].map((x) => x)), + isDeliverable: json["isDeliverable"], + ); + + Map toJson() => { + "maxDistance": maxDistance, + "maxDeliveryCharges": maxDeliveryCharges, + "distances": List.from(distances!.map((x) => x.toJson())), + "nonDeliverableProducts": + List.from(nonDeliverableProducts!.map((x) => x)), + "isDeliverable": isDeliverable, + }; +} + +class Distance { + int? rank; + String? productId; + String? categoryId; + double? distance; + String? productName; + String? productDescription; + String? productImage; + int? maxDeliveryCharges; + + Distance({ + this.rank, + this.productId, + this.categoryId, + this.distance, + this.productName, + this.productDescription, + this.productImage, + this.maxDeliveryCharges, + }); + + factory Distance.fromJson(Map json) => Distance( + rank: json["rank"], + productId: json["productId"], + categoryId: json["categoryId"], + distance: json["distance"].toDouble(), + productName: json["productName"], + productDescription: json["productDescription"], + productImage: json["productImage"], + maxDeliveryCharges: json["maxDeliveryCharges"], + ); + + Map toJson() => { + "rank": rank, + "productId": productId, + "categoryId": categoryId, + "distance": distance, + "productName": productName, + "productDescription": productDescription, + "productImage": productImage, + "maxDeliveryCharges": maxDeliveryCharges, + }; +} diff --git a/lib/src/logic/provider/addTocart_provider.dart b/lib/src/logic/provider/addTocart_provider.dart index 614bcf1..4b0b0e3 100644 --- a/lib/src/logic/provider/addTocart_provider.dart +++ b/lib/src/logic/provider/addTocart_provider.dart @@ -21,7 +21,7 @@ class AddtocartProvider extends ChangeNotifier { String get pinCode => _pinCode; bool get isLoading => _isLoading; - bool get isDeliverable => _isDeliverable; + TextEditingController checkPinCode = TextEditingController(); Future getCurrentLocation(BuildContext context) async { @@ -101,6 +101,45 @@ class AddtocartProvider extends ChangeNotifier { } } + bool get isDeliverable => _isDeliverable; + int deliveryCharge = 0; + int get getdeliverycharge => deliveryCharge; + + Future checkAddress(BuildContext context, addressId) async { + ischeckpin = true; + + notifyListeners(); + var data = {}; + try { + var result = await _homeRepo.checkAddress(data, addressId); + + return result.fold( + (error) { + _isDeliverable = false; + + notifyListeners(); + }, + (response) { + print( + "sjhjkdkfhgjdfkjgdfgjdfjjkhsdfghhfjkd ${response.isDeliverable}"); + + if (response.isDeliverable!) { + _isDeliverable = true; + deliveryCharge = response.maxDeliveryCharges!; + } + ischeckpin = false; + + notifyListeners(); + }, + ); + } catch (e) { + _isDeliverable = false; + + notifyListeners(); + } + } + +// checkAddress Map isRemoveItem = {}; Future deleteItem(BuildContext context, id) async { @@ -267,7 +306,7 @@ class AddtocartProvider extends ChangeNotifier { } ///////////////////////////////////orderPaymnet/////////////////////////// - + bool ispaymentLoader = false; Future orderPaymnet( BuildContext context, @@ -286,10 +325,9 @@ class AddtocartProvider extends ChangeNotifier { "addressId": addressId, "cartId": cartId, }; - } else - { + } else { data = { - "amount": originalAmount, + "amount": originalAmount, "addressId": addressId, "cartId": cartId, "couponId": couponId @@ -339,7 +377,7 @@ class AddtocartProvider extends ChangeNotifier { Future paymentCODOrder( BuildContext context, double subtotal, - double deliverCharge, + int deliverCharge, String couponId, String addressId, ) async { @@ -425,7 +463,8 @@ class AddtocartProvider extends ChangeNotifier { (response) { addresslist = response.data!; if (response.data!.isNotEmpty) { - _selectedAddress = addresslist.first.id ?? ""; + //checkAddress(context, addresslist.first.id ?? ""); + // _selectedAddress = addresslist.first.id ?? ""; _selecteUserName = addresslist.first.name ?? ""; _selecteUserPhone = addresslist.first.phoneNumber ?? ""; _selecteEmail = addresslist.first.user!.email ?? ""; @@ -443,15 +482,19 @@ class AddtocartProvider extends ChangeNotifier { } } - String _selectedAddress = ""; String _selecteUserName = ""; String _selecteUserPhone = ""; String _selecteEmail = ""; - + String _selectedAddress = ""; String get selectedAddress => _selectedAddress; String get selecteUserName => _selecteUserName; String get selecteUserPhone => _selecteUserPhone; String get selecteEmail => _selecteEmail; + selectedAddressId() { + _selectedAddress = ""; + notifyListeners(); + } + void bydefaultSetAddress(phoneNumber, name, email) { _selecteUserName = name; _selecteUserPhone = phoneNumber; @@ -460,6 +503,7 @@ class AddtocartProvider extends ChangeNotifier { } void selectAddress(String address, phoneNumber, name, email) { + print("lksdjfhgkfdghhkkfdghkjfjdgkh"); _selectedAddress = address; _selecteUserName = name; _selecteUserPhone = phoneNumber; diff --git a/lib/src/logic/provider/address_provider.dart b/lib/src/logic/provider/address_provider.dart index cd5b2f9..316d74f 100644 --- a/lib/src/logic/provider/address_provider.dart +++ b/lib/src/logic/provider/address_provider.dart @@ -4,9 +4,8 @@ import 'package:grocery_app/src/logic/repo/product_repo.dart'; class AddressProvider extends ChangeNotifier { bool ischeckpin = false; - + final _homeRepo = getIt(); Future checkPin(BuildContext context, pin) async { - final _homeRepo = getIt(); ischeckpin = true; notifyListeners(); var data = {}; @@ -16,7 +15,7 @@ class AddressProvider extends ChangeNotifier { return result.fold( (error) { ischeckpin = false; - ischeckpin = false; + notifyListeners(); return false; }, (response) { @@ -32,14 +31,9 @@ class AddressProvider extends ChangeNotifier { } } - - Future addAddress(BuildContext context, name, pincode, phone, - alternatePhoneNumber, address, landmark, addresstype) async - { - ischeckpin = false; - - final _homeRepo = getIt(); + alternatePhoneNumber, address, landmark, addresstype) async { + ischeckpin = true; notifyListeners(); var data = { @@ -59,6 +53,8 @@ class AddressProvider extends ChangeNotifier { return result.fold( (error) { ischeckpin = false; + notifyListeners(); + print("poodfgccccidfuiog ${error.message}"); return false; }, @@ -69,12 +65,10 @@ class AddressProvider extends ChangeNotifier { }, ); } catch (e) { + print("poodfgidfuiog $e"); ischeckpin = false; notifyListeners(); return false; } } - - - } diff --git a/lib/src/logic/provider/order_provider.dart b/lib/src/logic/provider/order_provider.dart index aea695f..1d62218 100644 --- a/lib/src/logic/provider/order_provider.dart +++ b/lib/src/logic/provider/order_provider.dart @@ -29,7 +29,8 @@ class OrderProvider extends ChangeNotifier { notifyListeners(); }, ); - } catch (e) { + } catch (e) + { print("sfddsfdfff $e"); isloading = false; diff --git a/lib/src/logic/repo/order_repo.dart b/lib/src/logic/repo/order_repo.dart index 2ab7c41..5407880 100644 --- a/lib/src/logic/repo/order_repo.dart +++ b/lib/src/logic/repo/order_repo.dart @@ -2,6 +2,7 @@ import 'package:dio/dio.dart'; import 'package:fpdart/fpdart.dart'; import 'package:grocery_app/src/core/utils/custom_dio_exception.dart'; import 'package:grocery_app/src/core/utils/response_type_def.dart'; +import 'package:grocery_app/src/data/check_product.dart'; import 'package:grocery_app/src/data/myOrder.dart'; import 'package:grocery_app/src/data/order_OTP.dart'; import 'package:grocery_app/src/data/order_paymnet.dart'; @@ -24,6 +25,10 @@ class OrderRepo { return left(error); } } + + + + FutureResult getAssignedOtp(data) async { try { diff --git a/lib/src/logic/repo/product_repo.dart b/lib/src/logic/repo/product_repo.dart index 91dce2d..e32fd07 100644 --- a/lib/src/logic/repo/product_repo.dart +++ b/lib/src/logic/repo/product_repo.dart @@ -14,6 +14,7 @@ import 'package:grocery_app/src/data/all_cart_items.dart'; import 'package:grocery_app/src/data/banners.dart'; import 'package:grocery_app/src/data/best_dealProduct.dart'; import 'package:grocery_app/src/data/check_pin_response.dart'; +import 'package:grocery_app/src/data/check_product.dart'; import 'package:grocery_app/src/data/cod_order_response.dart'; import 'package:grocery_app/src/data/coupon_model.dart'; import 'package:grocery_app/src/data/coupon_response.dart'; @@ -310,6 +311,24 @@ class ProductRepo { } } + FutureResult checkAddress(data, id) async { + try { + var response = await _productService.checkAddress(data, id); + + print("kjlkjcjgklkjdhgfgkjfkdjghkjf $response"); + + CheckProduct productCategory = checkProductFromJson(response.toString()); + + print("kjxfgklhdfkgjkjdfg $productCategory"); + + return right(productCategory); + } on DioException catch (e) { + print("lkjxhdfgkfglkhkjfgh $e"); + var error = CustomDioExceptions.handleError(e); + return left(error); + } + } + FutureResult deleteItem(data, id) async { try { var response = await _productService.deleteItem(data, id); diff --git a/lib/src/logic/services/home_locator.dart b/lib/src/logic/services/home_locator.dart index 439eb1c..0b5ed7f 100644 --- a/lib/src/logic/services/home_locator.dart +++ b/lib/src/logic/services/home_locator.dart @@ -114,6 +114,12 @@ Future getCategoryByLevel(data) async { return response; } + Future checkAddress(data, id) async { + var response = + await api.get(APIURL.checkAddress + id, data: jsonEncode(data)); + return response; + } + Future deleteItem(data, id) async { var response = await api.delete(APIURL.deleteItem + id, data: jsonEncode(data)); diff --git a/lib/src/logic/services/orderSirvice.dart b/lib/src/logic/services/orderSirvice.dart index 8a15747..de96db6 100644 --- a/lib/src/logic/services/orderSirvice.dart +++ b/lib/src/logic/services/orderSirvice.dart @@ -14,6 +14,13 @@ class OrderService extends ApiService } + + + + + + + Future getAssignedOtp(data) async { var response = await api.get(APIURL.getAssignedOtp, data: jsonEncode(data), queryParameters: data); diff --git a/lib/src/ui/card_checkout/card_checkout_screen.dart b/lib/src/ui/card_checkout/card_checkout_screen.dart index e0ccf7e..5865548 100644 --- a/lib/src/ui/card_checkout/card_checkout_screen.dart +++ b/lib/src/ui/card_checkout/card_checkout_screen.dart @@ -9,7 +9,7 @@ import 'package:grocery_app/utils/extensions/uicontext.dart'; import 'package:provider/provider.dart'; class CardCheckoutScreen extends StatefulWidget { - // double amount; + int deliveryCharge; // String currency; double originalAmount; // String name; @@ -19,13 +19,12 @@ class CardCheckoutScreen extends StatefulWidget { String cartId; String addressId; // String remarks; - double deliverCharge; String? couponId; CardCheckoutScreen( {super.key, - // required this.amount, + required this.deliveryCharge, // required this.currency, required this.originalAmount, // required this.name, @@ -35,7 +34,7 @@ class CardCheckoutScreen extends StatefulWidget { required this.cartId, required this.addressId, // required this.remarks, - required this.deliverCharge, + this.couponId}); @override @@ -90,7 +89,7 @@ class _CardCheckoutScreenState extends State { print("dsjfkhkdfhgdkfghdfg"); paymentProvider.orderPaymnet( context, - widget.originalAmount, + widget.originalAmount + widget.deliveryCharge, widget.cartId, widget.addressId, widget.couponId!); @@ -98,7 +97,7 @@ class _CardCheckoutScreenState extends State { paymentProvider.paymentCODOrder( context, widget.originalAmount, - widget.deliverCharge, + widget.deliveryCharge, widget.couponId!, widget.addressId, ); @@ -133,18 +132,47 @@ class _CardCheckoutScreenState extends State { child: SingleChildScrollView(child: Consumer( builder: (context, paymentProvider, child) { return Container( - padding: EdgeInsets.all(16), - height: 250, + padding: EdgeInsets.all(0), + // height: 250, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ + Row( + children: [ + Text("Delivery Charge "), + Spacer(), + Text("₹${widget.deliveryCharge}", + style: TextStyle( + fontSize: 18, fontWeight: FontWeight.bold)) + ], + ), + Row( + children: [ + Text("Product Amount "), + Spacer(), + Text("₹${widget.originalAmount}", + style: TextStyle( + fontSize: 18, fontWeight: FontWeight.bold)) + ], + ), + Divider(), + + Row( + children: [ + Text("Total Amount "), + Spacer(), + Text("₹${widget.originalAmount + widget.deliveryCharge}", + style: TextStyle( + fontSize: 18, fontWeight: FontWeight.bold)) + ], + ), + SizedBox(height: 30), Text( "Select Payment Method", style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), ), - SizedBox(height: 20), + SizedBox(height: 0), - // Online Payment Option ListTile( leading: Icon(Icons.payment, color: Colors.blue), title: Text("Online Payment"), diff --git a/lib/src/ui/cart/cartview_screen.dart b/lib/src/ui/cart/cartview_screen.dart index 66521d7..341d7f1 100644 --- a/lib/src/ui/cart/cartview_screen.dart +++ b/lib/src/ui/cart/cartview_screen.dart @@ -819,27 +819,28 @@ class _MycartState extends State { label: 'Grand Total', value: '₹${provider.grandPrice}', isBold: true), - ListTile( - leading: Container( - decoration: BoxDecoration( - color: Colors.lightGreen.withOpacity(0.2), - borderRadius: BorderRadius.all(Radius.circular(8))), - child: Padding( - padding: const EdgeInsets.all(5.0), - child: Icon(Icons.home_outlined, - size: 15, color: Colors.green), - )), - title: provider.isDeliverable - ? Text('Delivering to : ${provider.pinCode}') - : Text( - 'Out Of Stock ${provider.pinCode}', - style: TextStyle(color: Colors.red), - ), - trailing: Text('Change', style: TextStyle(color: Colors.green)), - onTap: () { - _showBottomSheet(context); - }, - ), + // ListTile( + // leading: Container( + // decoration: BoxDecoration( + // color: Colors.lightGreen.withOpacity(0.2), + // borderRadius: BorderRadius.all(Radius.circular(8))), + // child: Padding( + // padding: const EdgeInsets.all(5.0), + // child: Icon(Icons.home_outlined, + // size: 15, color: Colors.green), + // )), + // title: provider.isDeliverable + // ? Text('Delivering to : ${provider.pinCode}') + // : Text( + // 'Out Of Stock ${provider.pinCode}', + // style: TextStyle(color: Colors.red), + // ), + // trailing: Text('Change', style: TextStyle(color: Colors.green)), + // onTap: () + // { + // _showBottomSheet(context); + // }, + // ), SizedBox(height: 10), Padding( padding: EdgeInsets.only(left: 20, right: 20), @@ -858,19 +859,22 @@ class _MycartState extends State { width: 1, height: 30, color: APPCOLOR.whiteFBFEFB), InkWell( onTap: () { - if (provider.isDeliverable) { - _showAddressBottomSheet(context); - } else { - Fluttertoast.showToast( - msg: - "Delivery is not available for this pincode. Please try another pincode!", - toastLength: Toast.LENGTH_SHORT, - gravity: ToastGravity.BOTTOM, - backgroundColor: Colors.red, - textColor: Colors.white, - fontSize: 14.0, - ); - } + // if (provider.isDeliverable) + // { + provider.selectedAddressId(); + _showAddressBottomSheet(context); + // } + // else { + // Fluttertoast.showToast( + // msg: + // "Delivery is not available for this pincode. Please try another pincode!", + // toastLength: Toast.LENGTH_SHORT, + // gravity: ToastGravity.BOTTOM, + // backgroundColor: Colors.red, + // textColor: Colors.white, + // fontSize: 14.0, + // ); + // } }, child: Row( children: [ @@ -1190,27 +1194,38 @@ class _AddressBottomSheetState extends State { return ElevatedButton.icon( onPressed: () { if (paymentProvider.selectedAddress.isNotEmpty) { - Navigator.pop(context); - Navigator.of(context).push(MaterialPageRoute( - builder: (context) { - return CardCheckoutScreen( - // amount: double.parse( - // paymentProvider.allitem.subtotal.toString()), - // currency: "INR", - originalAmount: paymentProvider.grandPrice, + if (paymentProvider.isDeliverable) { + Navigator.pop(context); + Navigator.of(context).push(MaterialPageRoute( + builder: (context) { + return CardCheckoutScreen( + deliveryCharge: paymentProvider.getdeliverycharge, + // currency: "INR", + originalAmount: paymentProvider.grandPrice, - // name: paymentProvider.selecteUserName, - // phone: paymentProvider.selecteUserPhone, - // email: paymentProvider.selecteEmail, - // userId: paymentProvider.allitem.userId!, - cartId: paymentProvider.allitem.id!, - addressId: paymentProvider.selectedAddress, - // remarks: paymentProvider.selecteUserName, - deliverCharge: 0, - couponId: paymentProvider.couponId, - ); - }, - )); + // name: paymentProvider.selecteUserName, + // phone: paymentProvider.selecteUserPhone, + // email: paymentProvider.selecteEmail, + // userId: paymentProvider.allitem.userId!, + cartId: paymentProvider.allitem.id!, + addressId: paymentProvider.selectedAddress, + // remarks: paymentProvider.selecteUserName, + + couponId: paymentProvider.couponId, + ); + }, + )); + } else { + Fluttertoast.showToast( + msg: + "Delivery is not available for this address, Please change another address", + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.BOTTOM, + backgroundColor: Colors.red, + textColor: Colors.white, + fontSize: 14.0, + ); + } } else { Fluttertoast.showToast( msg: "Please add a delivery address", @@ -1227,7 +1242,9 @@ class _AddressBottomSheetState extends State { style: TextStyle(color: Colors.white, fontSize: 16), ), style: ElevatedButton.styleFrom( - backgroundColor: Colors.green, + backgroundColor: paymentProvider.isDeliverable + ? Colors.green + : Colors.grey, minimumSize: Size(double.infinity, 50), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(10)), @@ -1251,6 +1268,9 @@ class _AddressBottomSheetState extends State { physics: NeverScrollableScrollPhysics(), itemCount: addressProvider.addresslist.length, itemBuilder: (context, index) { + if (addressProvider.selectedAddress.isEmpty) { + print("ldjkfhsgkhdfkgkfjgdfjk "); + } var address = addressProvider.addresslist[index]; return Card( @@ -1263,6 +1283,8 @@ class _AddressBottomSheetState extends State { groupValue: addressProvider.selectedAddress, activeColor: Colors.green, onChanged: (value) { + addressProvider.checkAddress(context, value); + addressProvider.selectAddress( value.toString(), address.phoneNumber, diff --git a/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart b/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart index 5958714..ccc0cd6 100644 --- a/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart +++ b/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart @@ -85,9 +85,7 @@ class _FruitVeggieDetailState extends State { fontWeight: FontWeight.w700, ), ), - actions: [ - - ], + actions: [], ), body: Padding( padding: const EdgeInsets.all(8.0), @@ -458,7 +456,6 @@ class _FruitVeggieDetailState extends State { return discountPercentage.round(); } - Widget filterCategory() { final activeIndexProvider = Provider.of(context); @@ -494,8 +491,6 @@ class _FruitVeggieDetailState extends State { itemBuilder: (context, index) { var category = categories[index]; - - return Padding( padding: const EdgeInsets.only(bottom: 8), child: InkWell( @@ -528,8 +523,8 @@ class _FruitVeggieDetailState extends State { child: SizedBox( // height: 80, child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.center, children: [ if (category.name == "ALL") ...{ if (provider.categoriesss.isNotEmpty) @@ -564,33 +559,17 @@ class _FruitVeggieDetailState extends State { ), ) .toList(), - child: Padding( - padding: const EdgeInsets.symmetric( - vertical: 10, - horizontal: 10, - ), - child: Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - SizedBox( - width: 20, - child: Text( - provider.selectedCategory?.name ?? - "All", - maxLines: 1, - style: context.customMedium( - APPCOLOR.balck1A1A1A, - 12, - ), - ), - ), - Icon( - Icons.arrow_drop_down, - size: 20, - color: APPCOLOR.balck1A1A1A, - ), - ], + child: Center( + child: Container( + child: AppNetworkImage( + height: 50, + width: 60, + imageUrl: provider + .selectedCategory?.image ?? + 'https://i.pinimg.com/originals/a5/f3/5f/a5f35fb23e942809da3df91b23718e8d.png', + backGroundColor: APPCOLOR.bgGrey, + radius: 10, + ), ), ), ), @@ -600,7 +579,7 @@ class _FruitVeggieDetailState extends State { Center( child: Container( child: AppNetworkImage( - height: 30, + height: 50, width: 50, imageUrl: category.image ?? 'https://i.pinimg.com/originals/a5/f3/5f/a5f35fb23e942809da3df91b23718e8d.png', @@ -630,16 +609,16 @@ class _FruitVeggieDetailState extends State { ], ), }, - SizedBox( - width: 5, - ), - Container( - width: 2, - // height: 60, - color: activeIndexProvider.activeIndex == index - ? APPCOLOR.lightGreen - : Colors.transparent, - ), + // SizedBox( + // width: 5, + // ), + // Container( + // width: 2, + // height: 0, + // color: activeIndexProvider.activeIndex == index + // ? APPCOLOR.lightGreen + // : Colors.transparent, + // ), ], ), ), diff --git a/lib/src/ui/map/add_locations.dart b/lib/src/ui/map/add_locations.dart index 9d098c9..a2a4044 100644 --- a/lib/src/ui/map/add_locations.dart +++ b/lib/src/ui/map/add_locations.dart @@ -120,9 +120,6 @@ class _AddLocationAddressState extends State { } } - - - void _onMapTapped(LatLng tappedPoint) { setState(() { _selectedLocation = tappedPoint; @@ -335,8 +332,7 @@ class _AddLocationAddressState extends State { SizedBox(height: 10), Consumer( - builder: (context, addressProvider, child) - { + builder: (context, addressProvider, child) { return InkWell( onTap: () async { if (_formKey.currentState!.validate()) { @@ -354,7 +350,8 @@ class _AddLocationAddressState extends State { _RoadController.text, _addressTypeController.text); if (state) { - context .read() + context + .read() .getAddress(context); Fluttertoast.showToast( msg: "Address Added!", diff --git a/lib/src/ui/myOrder/OrderDetailsScreen.dart b/lib/src/ui/myOrder/OrderDetailsScreen.dart index 3ac3bf9..9f78b7d 100644 --- a/lib/src/ui/myOrder/OrderDetailsScreen.dart +++ b/lib/src/ui/myOrder/OrderDetailsScreen.dart @@ -9,9 +9,9 @@ import 'package:intl/intl.dart'; import 'package:provider/provider.dart'; class OrderDetailsScreen extends StatefulWidget { - final Datum order; + Datum order; - const OrderDetailsScreen({Key? key, required this.order}) : super(key: key); + OrderDetailsScreen({Key? key, required this.order}) : super(key: key); @override _OrderDetailsScreenState createState() => _OrderDetailsScreenState(); @@ -30,48 +30,74 @@ class _OrderDetailsScreenState extends State { return formattedDateTime; } + Future _refresh() async { + Provider.of(context, listen: false).getMyOrder(context); + await Future.delayed(Duration(seconds: 1)); + setState(() { + _fetchOrderDetails(); + }); + } + + Future _fetchOrderDetails() async { + // Get the updated order from Provider + + final homeProvider = Provider.of(context, listen: false); + + widget.order = homeProvider.orderList.firstWhere( + (o) => o.id == widget.order.id, + orElse: () => widget.order, + ); + + print("kdjhkjfh ${widget.order}"); + + setState(() {}); + } + @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar(title: Text('Order Details')), - body: Padding( - padding: const EdgeInsets.all(2.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Container( - width: MediaQuery.of(context).size.width, - child: Padding( - padding: const EdgeInsets.all(16.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(widget.order.orderNumber, - style: TextStyle( - fontSize: 16, fontWeight: FontWeight.bold)), - SizedBox(height: 5), - Text(widget.order.deliveryAddress!.addressLine ?? " ", - style: TextStyle( - fontSize: 16, fontWeight: FontWeight.bold)), - SizedBox(height: 5), - Text(convertUtcToIst(widget.order.createdAt.toString())), - SizedBox(height: 5), - // Text( - // "Status: ${_getStatusText(widget.order.orderStatus)}", - // style: TextStyle( - // color: Colors.blue, fontWeight: FontWeight.bold), - // ), - // _itemsList(), - ], + appBar: AppBar(title: Text('Order Details')), + body: RefreshIndicator( + onRefresh: _refresh, + child: Padding( + padding: const EdgeInsets.all(2.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + width: MediaQuery.of(context).size.width, + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(widget.order.orderNumber, + style: TextStyle( + fontSize: 16, fontWeight: FontWeight.bold)), + SizedBox(height: 5), + Text(widget.order.deliveryAddress!.addressLine ?? " ", + style: TextStyle( + fontSize: 16, fontWeight: FontWeight.bold)), + SizedBox(height: 5), + Text( + convertUtcToIst(widget.order.createdAt.toString())), + SizedBox(height: 5), + // Text( + // "Status: ${_getStatusText(widget.order.orderStatus)}", + // style: TextStyle( + // color: Colors.blue, fontWeight: FontWeight.bold), + // ), + // _itemsList(), + ], + ), + ), ), - ), + _itemsList(), + SizedBox(height: 20), + ], ), - _itemsList(), - SizedBox(height: 20), - ], - ), - ), - ); + ), + )); } /// Order Information @@ -200,6 +226,8 @@ class _OrderDetailsScreenState extends State { itemBuilder: (context, index) { // final item = items[index]; var orderitem = widget.order.orderItems![index]; + + print("ckgjhkfghlfg ${orderitem.orderItemStatus}"); return Card( margin: EdgeInsets.symmetric(vertical: 2), child: Column( @@ -231,7 +259,8 @@ class _OrderDetailsScreenState extends State { ), ), Gap(5), - if (orderitem.orderItemStatus != "PENDING") + if (orderitem.orderItemStatus != "PENDING" && + orderitem.orderItemStatus != "CANCELLED") RichText( text: TextSpan( text: " ", @@ -255,6 +284,26 @@ class _OrderDetailsScreenState extends State { ], ), ), + if (orderitem.orderItemStatus == "DELIVERED") + RichText( + text: TextSpan( + text: " ", + style: context.buttonTestStyle.copyWith( + color: context.appColor.blackColor, + ), + children: [ + TextSpan( + text: "Give Feedback", + style: context.buttonTestStyle.copyWith( + color: Colors.blue, + decoration: TextDecoration.underline, + ), + recognizer: TapGestureRecognizer() + ..onTap = () {}, + ), + ], + ), + ), ], ), ), diff --git a/lib/src/ui/myOrder/my_order.dart b/lib/src/ui/myOrder/my_order.dart index d931e01..e39b76e 100644 --- a/lib/src/ui/myOrder/my_order.dart +++ b/lib/src/ui/myOrder/my_order.dart @@ -25,7 +25,8 @@ class _MyOrderScreenState extends State { super.initState(); } - String convertUtcToIst(String utcTime) { + String convertUtcToIst(String utcTime) + { DateTime utcDateTime = DateTime.parse(utcTime).toUtc(); DateTime istDateTime = @@ -37,197 +38,219 @@ class _MyOrderScreenState extends State { return formattedDateTime; } + Future _refresh() async { + await Future.delayed(Duration(seconds: 1)); + setState(() { + Provider.of(context, listen: false).getMyOrder(context); + }); + } + @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar( - backgroundColor: Colors.white, - centerTitle: true, - leading: Center( - child: SizedBox( - height: 20, - width: 20, - child: InkWell( - onTap: () { - context.clearAndPush(routePath: MyRoutes.BOTTOMNAV); - }, - child: SvgPicture.asset( - APPASSETS.back, - height: 20, - width: 20, - )), + appBar: AppBar( + backgroundColor: Colors.white, + centerTitle: true, + leading: Center( + child: SizedBox( + height: 20, + width: 20, + child: InkWell( + onTap: () { + context.clearAndPush(routePath: MyRoutes.BOTTOMNAV); + }, + child: SvgPicture.asset( + APPASSETS.back, + height: 20, + width: 20, + )), + ), + ), + title: const Text( + "My Order", + style: TextStyle( + fontSize: 20, + fontWeight: FontWeight.w700, + ), ), ), - title: const Text( - "My Order", - style: TextStyle( - fontSize: 20, - fontWeight: FontWeight.w700, - ), - ), - ), - body: Consumer(builder: (context, orderProvider, child) { - if (orderProvider.isloading) { - return Center(child: CircularProgressIndicator()); - } + body: RefreshIndicator( + onRefresh: _refresh, + child: + Consumer(builder: (context, orderProvider, child) { + if (orderProvider.isloading) { + return Center(child: CircularProgressIndicator()); + } - if (orderProvider.orderList.isEmpty) { - return Center( - child: DataNotFound( - imagePath: 'assets/images/wishlist.jpg', - message: "No Order Available! ", - // width: 200.w, - // height: 200.h, - )); - } + if (orderProvider.orderList.isEmpty) { + return Center( + child: DataNotFound( + imagePath: 'assets/images/wishlist.jpg', + message: "No Order Available! ", + // width: 200.w, + // height: 200.h, + )); + } - return Column( - children: [ - Expanded( - child: ListView.builder( - itemCount: orderProvider.orderList.length, - itemBuilder: (context, index) { - final order = orderProvider.orderList[index]; + return Column( + children: [ + Expanded( + child: ListView.builder( + itemCount: orderProvider.orderList.length, + itemBuilder: (context, index) { + final order = orderProvider.orderList[index]; - return InkWell( - onTap: () { - context.pushNamed(MyRoutes.ORDERDETAILS, extra: order); - //context.push(MyRoutes.ORDERDETAILS); - }, - child: Card( - margin: EdgeInsets.symmetric(horizontal: 16, vertical: 8), - child: Padding( - padding: const EdgeInsets.all(16.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( + return InkWell( + onTap: () { + context.pushNamed(MyRoutes.ORDERDETAILS, + extra: order); + //context.push(MyRoutes.ORDERDETAILS); + }, + child: Card( + margin: + EdgeInsets.symmetric(horizontal: 16, vertical: 8), + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, children: [ - Center( - child: Container( - width: 50, - height: 50, - decoration: BoxDecoration( - color: APPCOLOR.bgGrey, - borderRadius: BorderRadius.circular(15), + Row( + children: [ + Center( + child: Container( + width: 50, + height: 50, + decoration: BoxDecoration( + color: APPCOLOR.bgGrey, + borderRadius: + BorderRadius.circular(15), + ), + child: Stack( + alignment: Alignment.center, + children: [ + AppNetworkImage( + height: MediaQuery.of(context) + .size + .height * + 0.08, + width: 48, + imageUrl: order.orderItems!.first + .productImage, + backGroundColor: + Colors.transparent, + ), + ], + ), + ), ), - child: Stack( - alignment: Alignment.center, + SizedBox(width: 5), + Column( + crossAxisAlignment: + CrossAxisAlignment.start, children: [ - AppNetworkImage( - height: MediaQuery.of(context) - .size - .height * - 0.08, - width: 48, - imageUrl: order - .orderItems!.first.productImage, - backGroundColor: Colors.transparent, + Text(order.orderNumber, + style: TextStyle( + fontWeight: FontWeight.bold)), + Text(order.paymentStatus ?? "", + style: + TextStyle(color: Colors.grey)), + Text( + order.totalItems.toString() + + " items", + style: + TextStyle(color: Colors.grey)), + ], + ), + Spacer(), + + // Container( + // padding: EdgeInsets.symmetric( + // horizontal: 5, vertical: 5), + // decoration: BoxDecoration( + // color: Colors.green.shade100, + // borderRadius: BorderRadius.circular(10), + // ), + // child: Text(order.orderStatus, + // style: TextStyle(color: Colors.green)), + // ), + ], + ), + SizedBox(height: 10), + Text( + convertUtcToIst(order.updatedAt.toString()), + style: TextStyle(color: Colors.grey)), + SizedBox(height: 5), + Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text("\$" + order.finalTotal, + style: TextStyle( + fontWeight: FontWeight.bold)), + Row( + children: [ + // ElevatedButton( + // onPressed: () {}, + // style: ElevatedButton.styleFrom( + // backgroundColor: Colors.white, + // side: BorderSide(color: Colors.green), + // shape: RoundedRectangleBorder( + // borderRadius: + // BorderRadius.circular(10), + // ), + // ), + // child: Row( + // children: [ + // // Icon(Icons.message, + // // color: Colors.green), + // // SizedBox(width: 5), + // // Text('Message', + // // style: TextStyle( + // // color: Colors.green)), + // ], + // ), + // ), + SizedBox(width: 10), + ElevatedButton( + onPressed: () { + print("lkdhgkjdfgj"); + _makePhoneCall(order + .stores!.first.vendor!.phone); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.green, + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular(10), + ), + ), + child: Row( + children: [ + Icon(Icons.call, + color: Colors.white), + SizedBox(width: 5), + Text('Call', + style: TextStyle( + color: Colors.white)), + ], + ), ), ], ), - ), - ), - SizedBox(width: 5), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(order.orderNumber, - style: TextStyle( - fontWeight: FontWeight.bold)), - Text(order.paymentStatus ?? "", - style: TextStyle(color: Colors.grey)), - Text(order.totalItems.toString() + " items", - style: TextStyle(color: Colors.grey)), - ], - ), - Spacer(), - - // Container( - // padding: EdgeInsets.symmetric( - // horizontal: 5, vertical: 5), - // decoration: BoxDecoration( - // color: Colors.green.shade100, - // borderRadius: BorderRadius.circular(10), - // ), - // child: Text(order.orderStatus, - // style: TextStyle(color: Colors.green)), - // ), - ], - ), - SizedBox(height: 10), - Text(convertUtcToIst(order.updatedAt.toString()), - style: TextStyle(color: Colors.grey)), - SizedBox(height: 5), - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Text("\$" + order.finalTotal, - style: - TextStyle(fontWeight: FontWeight.bold)), - Row( - children: [ - // ElevatedButton( - // onPressed: () {}, - // style: ElevatedButton.styleFrom( - // backgroundColor: Colors.white, - // side: BorderSide(color: Colors.green), - // shape: RoundedRectangleBorder( - // borderRadius: - // BorderRadius.circular(10), - // ), - // ), - // child: Row( - // children: [ - // // Icon(Icons.message, - // // color: Colors.green), - // // SizedBox(width: 5), - // // Text('Message', - // // style: TextStyle( - // // color: Colors.green)), - // ], - // ), - // ), - SizedBox(width: 10), - ElevatedButton( - onPressed: () { - print("lkdhgkjdfgj"); - _makePhoneCall( - order.stores!.first.vendor!.phone); - }, - style: ElevatedButton.styleFrom( - backgroundColor: Colors.green, - shape: RoundedRectangleBorder( - borderRadius: - BorderRadius.circular(10), - ), - ), - child: Row( - children: [ - Icon(Icons.call, color: Colors.white), - SizedBox(width: 5), - Text('Call', - style: TextStyle( - color: Colors.white)), - ], - ), - ), ], ), ], ), - ], + ), ), - ), - ), - ); - }, - ), - ), - ], - ); - }), - ); + ); + }, + ), + ), + ], + ); + }), + )); } Future _makePhoneCall(String number) async {