diff --git a/.DS_Store b/.DS_Store index 2d69e8d..c34570a 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 8c6bfaa..9b16c2d 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -998,7 +998,7 @@ "languageVersion": "3.4" } ], - "generated": "2025-02-25T13:35:16.100085Z", + "generated": "2025-02-27T10:55:41.147060Z", "generator": "pub", "generatorVersion": "3.4.4", "flutterRoot": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter", diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index 2016d84..96d340d 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-02-25 19:05:16.345918","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-02-27 16:25:41.386705","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 946509d..c59474a 100644 --- a/lib/src/core/constant/api.dart +++ b/lib/src/core/constant/api.dart @@ -43,4 +43,10 @@ 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 updateStatus = "${BASE_URL}orders/items/"; } diff --git a/lib/src/data/myOrder.dart b/lib/src/data/myOrder.dart index 182f892..0659301 100644 --- a/lib/src/data/myOrder.dart +++ b/lib/src/data/myOrder.dart @@ -637,6 +637,7 @@ class OrderItem { dynamic productImage; dynamic productVariant; dynamic? quantity; + dynamic orderItemStatus; // dynamic originalProductPrice; // dynamic originalProductDiscountPrice; // dynamic discountAmount; @@ -658,6 +659,7 @@ class OrderItem { this.productImage, this.productVariant, this.quantity, + this.orderItemStatus, // this.originalProductPrice, // this.originalProductDiscountPrice, // this.discountAmount, @@ -680,6 +682,9 @@ class OrderItem { productImage: json["productImage"], productVariant: json["productVariant"], quantity: json["quantity"], + +orderItemStatus: json["orderItemStatus"], + // originalProductPrice: json["originalProductPrice"], // originalProductDiscountPrice: json["originalProductDiscountPrice"], // discountAmount: json["discountAmount"], @@ -703,6 +708,10 @@ class OrderItem { "productImage": productImage, "productVariant": productVariant, "quantity": quantity, + "orderItemStatus": orderItemStatus, + + + // "originalProductPrice": originalProductPrice, // "originalProductDiscountPrice": originalProductDiscountPrice, // "discountAmount": discountAmount, diff --git a/lib/src/data/order_OTP.dart b/lib/src/data/order_OTP.dart new file mode 100644 index 0000000..79e485e --- /dev/null +++ b/lib/src/data/order_OTP.dart @@ -0,0 +1,32 @@ +// To parse this JSON data, do +// +// final deliveryOtpmodel = deliveryOtpmodelFromJson(jsonString); + +import 'dart:convert'; + +DeliveryOtpmodel deliveryOtpmodelFromJson(String str) => + DeliveryOtpmodel.fromJson(json.decode(str)); + +String deliveryOtpmodelToJson(DeliveryOtpmodel data) => + json.encode(data.toJson()); + +class DeliveryOtpmodel { + String? code; + DateTime? expiresAt; + + DeliveryOtpmodel({ + this.code, + this.expiresAt, + }); + + factory DeliveryOtpmodel.fromJson(Map json) => + DeliveryOtpmodel( + code: json["code"], + expiresAt: DateTime.parse(json["expiresAt"]), + ); + + Map toJson() => { + "code": code, + "expiresAt": expiresAt!.toIso8601String(), + }; +} diff --git a/lib/src/logic/provider/order_provider.dart b/lib/src/logic/provider/order_provider.dart index 1f9fc43..aea695f 100644 --- a/lib/src/logic/provider/order_provider.dart +++ b/lib/src/logic/provider/order_provider.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; +import 'package:fluttertoast/fluttertoast.dart'; import 'package:grocery_app/src/core/network_services/service_locator.dart'; import 'package:grocery_app/src/data/myOrder.dart'; import 'package:grocery_app/src/logic/repo/order_repo.dart'; +import 'package:grocery_app/utils/extensions/extensions.dart'; class OrderProvider extends ChangeNotifier { final _orderRepo = getIt(); @@ -22,7 +24,6 @@ class OrderProvider extends ChangeNotifier { }, (response) { orderList = response.data!; - isloading = false; notifyListeners(); @@ -32,9 +33,123 @@ class OrderProvider extends ChangeNotifier { print("sfddsfdfff $e"); isloading = false; - notifyListeners(); + notifyListeners(); } } + bool isSendOtp = false; + Future getAssignedOtp(BuildContext context, String assignmentId) async { + context.showLoader(show: true); + notifyListeners(); + var data = {"orderItemId": assignmentId}; + + print("ldflkgfkgjdh ${data}"); + + try { + var result = await _orderRepo.getAssignedOtp(data); + + return result.fold( + (error) { + context.showLoader(show: false); + }, + (response) { + _showOtpPopup(context, response.code!); // + + context.showLoader(show: false); + }, + ); + } catch (e) { + context.showLoader(show: false); + Fluttertoast.showToast( + msg: "Something went wrong", + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.BOTTOM, + backgroundColor: Colors.red, + textColor: Colors.white, + fontSize: 14.0, + ); + } + } + + void _showOtpPopup(BuildContext context, String otp) { + showDialog( + context: context, + builder: (context) => AlertDialog( + title: Center(child: Text("Your OTP")), // Center the title + content: Column( + mainAxisSize: MainAxisSize.min, // Prevent excessive height + children: [ + Center( + child: Text( + otp, + style: TextStyle( + fontSize: 24, + fontWeight: FontWeight.bold, + color: Colors.blue, + ), + ), + ), + ], + ), + actions: [ + Center( + child: TextButton( + onPressed: () => Navigator.pop(context), + child: Text("OK"), + ), + ), + ], + ), + ); + } + + Future updateStatus( + BuildContext context, String orderStatus, String orderItemId) async { + context.showLoader(show: true); + + var data = {"status": orderStatus, "comment": "string"}; + try { + var result = await _orderRepo.updateStatus(data, orderItemId); + + return result.fold( + (error) { + context.showLoader(show: false); + return false; + }, + (response) { + context.showLoader(show: false); + getMyOrder(context); + Fluttertoast.showToast( + msg: "Order cancelled successfully!", + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.BOTTOM, + backgroundColor: Colors.green, + textColor: Colors.white, + fontSize: 14.0, + ); + Navigator.pop(context); + + notifyListeners(); + + return true; + }, + ); + } catch (e) { + context.showLoader(show: false); + + print("lkjdgkfjhfdkg"); + + Fluttertoast.showToast( + msg: "Status already updated", + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.BOTTOM, + backgroundColor: Colors.red, + textColor: Colors.white, + fontSize: 14.0, + ); + + return false; + } + } } diff --git a/lib/src/logic/repo/order_repo.dart b/lib/src/logic/repo/order_repo.dart index 2d67e05..2ab7c41 100644 --- a/lib/src/logic/repo/order_repo.dart +++ b/lib/src/logic/repo/order_repo.dart @@ -3,6 +3,7 @@ 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/myOrder.dart'; +import 'package:grocery_app/src/data/order_OTP.dart'; import 'package:grocery_app/src/data/order_paymnet.dart'; import 'package:grocery_app/src/logic/services/orderSirvice.dart'; @@ -23,4 +24,34 @@ class OrderRepo { return left(error); } } + + FutureResult getAssignedOtp(data) async { + try { + var response = await _orderService.getAssignedOtp(data); + + DeliveryOtpmodel storeModel = + deliveryOtpmodelFromJson(response.toString()); + + //final String model = response.toString(); + return right(storeModel); + } on DioException catch (e) { + var error = CustomDioExceptions.handleError(e); + return left(error); + } + } + + FutureResult updateStatus(data, orderItemId) async { + try { + var response = await _orderService.updateStatus(data, orderItemId); + + final String model = response.toString(); + return right(model); + } on DioException catch (e) { + var error = CustomDioExceptions.handleError(e); + return left(error); + } + } + + + } diff --git a/lib/src/logic/services/orderSirvice.dart b/lib/src/logic/services/orderSirvice.dart index 50b7e74..8a15747 100644 --- a/lib/src/logic/services/orderSirvice.dart +++ b/lib/src/logic/services/orderSirvice.dart @@ -13,4 +13,20 @@ class OrderService extends ApiService return response; } + + Future getAssignedOtp(data) async { + var response = await api.get(APIURL.getAssignedOtp, + data: jsonEncode(data), queryParameters: data); + + return response; + } + + Future updateStatus(data, orderItemId) async { + var response = await api.patch( + APIURL.updateStatus + orderItemId + "/status", + data: jsonEncode(data)); + + return response; + } + } \ No newline at end of file diff --git a/lib/src/ui/myOrder/OrderDetailsScreen.dart b/lib/src/ui/myOrder/OrderDetailsScreen.dart index 8a2a3f6..749c379 100644 --- a/lib/src/ui/myOrder/OrderDetailsScreen.dart +++ b/lib/src/ui/myOrder/OrderDetailsScreen.dart @@ -1,7 +1,12 @@ +import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; +import 'package:gap/gap.dart'; import 'package:grocery_app/src/common_widget/network_image.dart'; import 'package:grocery_app/src/data/myOrder.dart'; +import 'package:grocery_app/src/logic/provider/order_provider.dart'; +import 'package:grocery_app/utils/extensions/extensions.dart'; import 'package:intl/intl.dart'; +import 'package:provider/provider.dart'; class OrderDetailsScreen extends StatefulWidget { final Datum order; @@ -13,20 +18,16 @@ class OrderDetailsScreen extends StatefulWidget { } class _OrderDetailsScreenState extends State { - int currentStep = 1; String convertUtcToIst(String utcTime) { - // Parse the UTC time string DateTime utcDateTime = DateTime.parse(utcTime).toUtc(); - // Convert to IST (UTC +5:30) DateTime istDateTime = utcDateTime.add(const Duration(hours: 5, minutes: 30)); - // Format the IST datetime with AM/PM String formattedDateTime = DateFormat("dd-MM-yyyy hh:mm a").format(istDateTime); - return formattedDateTime; // Example: 11-02-2025 10:44 AM + return formattedDateTime; } @override @@ -34,17 +35,39 @@ class _OrderDetailsScreenState extends State { return Scaffold( appBar: AppBar(title: Text('Order Details')), body: Padding( - padding: const EdgeInsets.all(16.0), + padding: const EdgeInsets.all(8.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - _orderInfo(), - SizedBox(height: 20), - _animatedShippingTimeline(), - SizedBox(height: 20), + 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), - //_cancelButton(), ], ), ), @@ -76,6 +99,7 @@ class _OrderDetailsScreenState extends State { style: TextStyle(color: Colors.blue, fontWeight: FontWeight.bold), ), + // _itemsList(), ], ), ), @@ -83,61 +107,73 @@ class _OrderDetailsScreenState extends State { ); } - /// Animated Shipping Timeline - Widget _animatedShippingTimeline() { - return Column( + final List statuses = [ + "PENDING", + "PROCESSING", + "SHIPPED", + "DELIVERED" + ]; + + Widget _animatedShippingTimeline(orderItemStatus) { + var currentStep = statuses.indexOf(orderItemStatus); + + return Row( + mainAxisAlignment: MainAxisAlignment.start, // Align items properly children: [ - for (int i = 0; i < 3; i++) _timelineStep(i), + for (int i = 0; i < statuses.length; i++) + _timelineStep(i, statuses[i], currentStep), ], ); } - /// Each Step in the Timeline - Widget _timelineStep(int step) { + Widget _timelineStep(int step, String status, currentStep) { bool isCompleted = step <= currentStep; return Row( - crossAxisAlignment: CrossAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.center, children: [ - Column( - children: [ - AnimatedContainer( - duration: Duration(milliseconds: 500), - width: 20, - height: 20, - decoration: BoxDecoration( - color: isCompleted ? Colors.green : Colors.grey, - shape: BoxShape.circle, - ), - child: Icon(Icons.check, size: 14, color: Colors.white), - ), - if (step < 2) - AnimatedContainer( - duration: Duration(milliseconds: 500), - width: 5, - height: 50, - color: isCompleted ? Colors.green : Colors.grey, - ), - ], + AnimatedContainer( + duration: Duration(milliseconds: 500), + width: 15, + height: 15, + decoration: BoxDecoration( + color: isCompleted ? Colors.green : Colors.grey, + shape: BoxShape.circle, + ), + child: Icon(Icons.check, size: 12, color: Colors.white), ), - SizedBox(width: 10), + SizedBox(width: 5), Text( - _getStatusTextForStep(widget.order.orderStatus), - style: TextStyle(fontSize: 16, fontWeight: FontWeight.bold), + status, + style: TextStyle(fontSize: 10, fontWeight: FontWeight.bold), ), + if (step < statuses.length - 1) ...[ + SizedBox(width: 5), + AnimatedContainer( + duration: Duration(milliseconds: 500), + width: 20, + height: 3, + color: isCompleted ? Colors.green : Colors.grey, + ), + SizedBox(width: 5), + ], ], ); } - /// Status Texts +// PENDING PROCESSING SHIPPED DELIVERED CANCELLED RETURNED) + String _getStatusTextForStep(orderStatus) { switch (orderStatus) { case 'PENDING': return "PENDING"; case 'SHIPPED': return "SHIPPED"; - case 'DELIVERD': - return "DELIVERD"; + case 'PROCESSING': + return "PROCESSING"; + case 'DELIVERED': + return "DELIVERED"; + default: return ""; } @@ -165,22 +201,93 @@ class _OrderDetailsScreenState extends State { // final item = items[index]; var orderitem = widget.order.orderItems![index]; return Card( - margin: EdgeInsets.symmetric(vertical: 8), - child: ListTile( - leading: Container( - width: 50, - height: 50, - child: AppNetworkImage( - height: MediaQuery.of(context).size.height * 0.08, - width: 48, - imageUrl: orderitem.productImage ?? "", - backGroundColor: Colors.transparent, + margin: EdgeInsets.symmetric(vertical: 2), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Padding( + padding: const EdgeInsets.all(8.0), + child: Row( + mainAxisAlignment: MainAxisAlignment.end, + children: [ + if (orderitem.orderItemStatus == "PENDING") + InkWell( + onTap: () async { + var status = await Provider.of( + context, + listen: false) + .updateStatus( + context, "CANCELLED", orderitem.id); + }, + child: Container( + padding: EdgeInsets.symmetric( + horizontal: 5, vertical: 5), + decoration: BoxDecoration( + color: Colors.green.shade100, + borderRadius: BorderRadius.circular(10), + ), + child: Text(" Cancel ", + style: TextStyle(color: Colors.black)), + ), + ), + Gap(5), + if (orderitem.orderItemStatus != "PENDING") + RichText( + text: TextSpan( + text: " ", + style: context.buttonTestStyle.copyWith( + color: context.appColor.blackColor, + ), + children: [ + TextSpan( + text: "GET OTP", + style: context.buttonTestStyle.copyWith( + color: Colors.blue, + decoration: TextDecoration.underline, + ), + recognizer: TapGestureRecognizer() + ..onTap = () { + Provider.of(context, + listen: false) + .getAssignedOtp(context, orderitem.id); + }, + ), + ], + ), + ), + ], + ), ), - ), - title: Text(orderitem.productName ?? ""), - subtitle: Text("Qty: ${orderitem.quantity.toString()}"), - trailing: Text("₹${orderitem.totalOrderItemPrice ?? ""}", - style: TextStyle(fontWeight: FontWeight.bold)), + ListTile( + leading: Container( + width: 50, + height: 50, + child: AppNetworkImage( + height: MediaQuery.of(context).size.height * 0.08, + width: 48, + imageUrl: orderitem.productImage ?? "", + backGroundColor: Colors.transparent, + ), + ), + title: Text(orderitem.productName ?? ""), + subtitle: Text("Qty: ${orderitem.quantity.toString()}"), + trailing: Text("₹${orderitem.totalOrderItemPrice ?? ""}", + style: TextStyle(fontWeight: FontWeight.bold)), + ), + if (orderitem.orderItemStatus == "CANCELLED") ...{ + Padding( + padding: const EdgeInsets.all(8.0), + child: Text("Order Cancelled", + style: TextStyle( + color: Colors.black, fontWeight: FontWeight.bold)), + ) + } else ...{ + Padding( + padding: const EdgeInsets.all(8.0), + child: _animatedShippingTimeline(orderitem.orderItemStatus), + ), + } + ], ), ); }, @@ -188,21 +295,20 @@ class _OrderDetailsScreenState extends State { ); } - /// Cancel Order Button (Only if not delivered) - Widget _cancelButton() { - return ElevatedButton( - onPressed: currentStep < 2 - ? () { - setState(() { - currentStep = 2; // Simulate cancellation - }); - } - : null, // Disable if already delivered - style: ElevatedButton.styleFrom( - backgroundColor: Colors.red, - disabledBackgroundColor: Colors.grey, - ), - child: Text("Cancel Order", style: TextStyle(color: Colors.white)), - ); - } + // Widget _cancelButton() { + // return ElevatedButton( + // onPressed: currentStep < 2 + // ? () { + // setState(() { + // currentStep = 2; + // }); + // } + // : null, + // style: ElevatedButton.styleFrom( + // backgroundColor: Colors.red, + // disabledBackgroundColor: Colors.grey, + // ), + // child: Text("Cancel Order", style: TextStyle(color: Colors.white)), + // ); + // } } diff --git a/lib/src/ui/myOrder/my_order.dart b/lib/src/ui/myOrder/my_order.dart index 565af21..0e7c54d 100644 --- a/lib/src/ui/myOrder/my_order.dart +++ b/lib/src/ui/myOrder/my_order.dart @@ -26,18 +26,15 @@ class _MyOrderScreenState extends State { } String convertUtcToIst(String utcTime) { - // Parse the UTC time string DateTime utcDateTime = DateTime.parse(utcTime).toUtc(); - // Convert to IST (UTC +5:30) DateTime istDateTime = utcDateTime.add(const Duration(hours: 5, minutes: 30)); - // Format the IST datetime with AM/PM String formattedDateTime = DateFormat("dd-MM-yyyy hh:mm a").format(istDateTime); - return formattedDateTime; // Example: 11-02-2025 10:44 AM + return formattedDateTime; } @override @@ -145,16 +142,16 @@ class _MyOrderScreenState extends State { ], ), 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)), - ), + // 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), @@ -232,7 +229,9 @@ class _MyOrderScreenState extends State { ); } - Future _makePhoneCall(String number) async { + Future _makePhoneCall(String number) async + { + try { final Uri phoneUri = Uri(scheme: 'tel', path: number); if (await canLaunchUrl(phoneUri)) {