diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index 117d0ca..6fb0c80 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -992,7 +992,7 @@ "languageVersion": "3.4" } ], - "generated": "2025-02-22T07:04:58.909640Z", + "generated": "2025-02-22T13:29:09.162780Z", "generator": "pub", "generatorVersion": "3.4.4", "flutterRoot": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter", diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index c229195..de0b868 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-22 12:34:59.149956","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-22 18:59:09.393832","version":"3.22.3"} \ No newline at end of file diff --git a/assets/images/cart.jpg b/assets/images/cart.jpg new file mode 100644 index 0000000..74e33f8 Binary files /dev/null and b/assets/images/cart.jpg differ diff --git a/assets/images/cartempty.jpg b/assets/images/cartempty.jpg new file mode 100644 index 0000000..b71d070 Binary files /dev/null and b/assets/images/cartempty.jpg differ diff --git a/assets/images/wishlist.jpg b/assets/images/wishlist.jpg new file mode 100644 index 0000000..29e14ff Binary files /dev/null and b/assets/images/wishlist.jpg differ diff --git a/lib/src/core/routes/routes.dart b/lib/src/core/routes/routes.dart index 0628ae7..782500a 100644 --- a/lib/src/core/routes/routes.dart +++ b/lib/src/core/routes/routes.dart @@ -99,9 +99,18 @@ class MyRoutes { animatedGoRoute( path: PRODUCTDETAILS, name: PRODUCTDETAILS, - pageBuilder: (context, state) { - final id = state.extra as String; // Get the extra object - return ProductDetails(id: id); + pageBuilder: (context, state) + { + // final id = state.extra as String; // Get the extra object + // return ProductDetails(id: id); + + final args = state.extra as Map; + + return ProductDetails( + id: args["id"], + quantity: args["quantity"], + price: args["price"], + ); }, ), diff --git a/lib/src/logic/provider/addTocart_provider.dart b/lib/src/logic/provider/addTocart_provider.dart index f4b6818..0e0fb75 100644 --- a/lib/src/logic/provider/addTocart_provider.dart +++ b/lib/src/logic/provider/addTocart_provider.dart @@ -293,7 +293,6 @@ class AddtocartProvider extends ChangeNotifier { }; } - try { var result = await _homeRepo.paymentOrder(data); return result.fold( @@ -497,27 +496,31 @@ class AddtocartProvider extends ChangeNotifier { ); }, (response) async { + print("kldfjghlkjfgkljh"); await getItemCards(context); - cartItems.add(productId); // Add product to cart - // Fluttertoast.showToast( - // msg: "Added to cart successfully!", - // toastLength: Toast.LENGTH_SHORT, - // gravity: ToastGravity.BOTTOM, - // backgroundColor: Colors.green, - // textColor: Colors.white, - // fontSize: 14.0, - // ); + cartItems.add(productId); + iscardAdded = true; - notifyListeners(); // Update UI after adding to cart + notifyListeners(); }, ); } catch (e) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text("Something went wrong"), - backgroundColor: Colors.red, - ), + Fluttertoast.showToast( + msg: "Insufficient stock!", + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.CENTER, + backgroundColor: Colors.red, + textColor: Colors.white, + fontSize: 14.0, ); + + context.showLoader(show: false); + await getItemCards(context); + + // isLoadingCart = false; + // iscardAdded = true; + // isLoadings[productId] = false; + notifyListeners(); } finally { isLoadingCart = false; isLoadings[productId] = false; diff --git a/lib/src/logic/provider/home_provider.dart b/lib/src/logic/provider/home_provider.dart index bfffe4c..e739a17 100644 --- a/lib/src/logic/provider/home_provider.dart +++ b/lib/src/logic/provider/home_provider.dart @@ -36,6 +36,7 @@ class ProductProvider extends ChangeNotifier { bool hasMore = true; bool iscroll = true; + Future gettAllProduct( BuildContext context, String id, bool status, String search) async { if (isLoadingg || !hasMore) return; @@ -132,12 +133,13 @@ class ProductProvider extends ChangeNotifier { ProductDetailsData productDetails = ProductDetailsData(); bool isProductLoading = true; - Future getProduuctDetails(BuildContext context, String id) async { + Future getProduuctDetails( + BuildContext context, String id, int quantity, String price) async { var data = {}; productDetails = ProductDetailsData(); isProductLoading = true; - quantitys = 1; - _totalPrice = 0.0; + quantitys = quantity; + _totalPrice = quantity * (double.parse(price)); notifyListeners(); var result = await _homeRepo.getProductDetails(data, context, id); @@ -435,11 +437,13 @@ class ProductProvider extends ChangeNotifier { }, ); } catch (e) { - ScaffoldMessenger.of(context).showSnackBar( - SnackBar( - content: Text("Something went wrong"), - backgroundColor: Colors.red, - ), + Fluttertoast.showToast( + msg: "Insufficient stock!", + toastLength: Toast.LENGTH_SHORT, + gravity: ToastGravity.CENTER, + backgroundColor: Colors.red, + textColor: Colors.white, + fontSize: 14.0, ); } finally { isLoadingCart = false; diff --git a/lib/src/logic/provider/profile_provider.dart b/lib/src/logic/provider/profile_provider.dart index d71bb5f..b6fce5e 100644 --- a/lib/src/logic/provider/profile_provider.dart +++ b/lib/src/logic/provider/profile_provider.dart @@ -35,7 +35,7 @@ class ProfileProvider extends ChangeNotifier { _uploadedUrl = uploadImage.data!.url.toString(); notifyListeners(); - _showSnackBar(context, "Image uploaxded successfully!", Colors.green); + _showSnackBar(context, "Image uploaded successfully !", Colors.green); return true; }, ); @@ -123,7 +123,7 @@ class ProfileProvider extends ChangeNotifier { allitem = response!; _profile = response.img ?? ''; - _name = response.firstName ?? "" + " " + response.lastName ?? ''; + _name = response.firstName + " " + response.lastName; _email = response.email ?? ""; APPSTRING.userName = response.firstName ?? ""; diff --git a/lib/src/ui/bestdeal/bestdeal_screen.dart b/lib/src/ui/bestdeal/bestdeal_screen.dart index d63a4fe..f464158 100644 --- a/lib/src/ui/bestdeal/bestdeal_screen.dart +++ b/lib/src/ui/bestdeal/bestdeal_screen.dart @@ -299,7 +299,16 @@ class _BestDealScreenState extends State { return InkWell( onTap: () { context.push(MyRoutes.PRODUCTDETAILS, - extra: bestdealproduct.id); + + + extra: { + "id": bestdealproduct.id, + "quantity": 0, + "price": '0', + }, + + + ); }, child: Container( decoration: BoxDecoration( diff --git a/lib/src/ui/cart/cartview_screen.dart b/lib/src/ui/cart/cartview_screen.dart index e34ce82..deb20d8 100644 --- a/lib/src/ui/cart/cartview_screen.dart +++ b/lib/src/ui/cart/cartview_screen.dart @@ -14,6 +14,7 @@ import 'package:grocery_app/src/logic/provider/bottom_navbar_provider.dart'; import 'package:grocery_app/src/logic/provider/home_provider.dart'; import 'package:grocery_app/src/ui/bestdeal/bestdeal_screen.dart'; import 'package:grocery_app/src/ui/card_checkout/card_checkout_screen.dart'; +import 'package:grocery_app/src/ui/data_notfound.dart'; import 'package:grocery_app/src/ui/widgets/custom_icon_button.dart'; import 'package:grocery_app/src/ui/widgets/elevated_button.dart'; @@ -112,7 +113,15 @@ class _MycartState extends State { return InkWell( onTap: () { context.push(MyRoutes.PRODUCTDETAILS, - extra: bestdealproduct.id); + + + extra: { + "id":bestdealproduct.id, + "quantity": 0, + "price": "0", + }, + + ); }, child: Padding( padding: const EdgeInsets.only(right: 5, bottom: 5, top: 5), @@ -422,7 +431,12 @@ class _MycartState extends State { } else if (provider.allitem == null || provider.allitem.items == null || provider.allitem.items!.isEmpty) { - return Center(child: Text('🛒 Your Front Shop Cart is empty')); + return DataNotFound( + imagePath: 'assets/images/cartempty.jpg', + message: "", + width: 250.w, + height: 200.h, + ); } else { return ListView.separated( shrinkWrap: true, @@ -435,195 +449,212 @@ class _MycartState extends State { itemBuilder: (context, index) { var items = provider.allitem.items![index]; - return Padding( - padding: EdgeInsets.symmetric(horizontal: 10.w), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Container( - decoration: BoxDecoration( - color: Colors.greenAccent.withOpacity(0.1), - borderRadius: BorderRadius.circular(5), + return InkWell( + onTap: () + { + context.push( + MyRoutes.PRODUCTDETAILS, + extra: { + "id": items.product!.id, + "quantity": items.quantity, + "price": items.product!.discountPrice, + }, + ); + }, + child: Padding( + padding: EdgeInsets.symmetric(horizontal: 10.w), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + decoration: BoxDecoration( + color: Colors.greenAccent.withOpacity(0.1), + borderRadius: BorderRadius.circular(5), + ), + child: AppNetworkImage( + width: 60.w, + height: 70.h, + imageUrl: + items.product!.productImages!.first.url ?? " ", + backGroundColor: APPCOLOR.bgGrey, + radius: 10, + ), ), - child: AppNetworkImage( - width: 60.w, - height: 70.h, - imageUrl: items.product!.productImages!.first.url ?? " ", - backGroundColor: APPCOLOR.bgGrey, - radius: 10, - ), - ), - 16.horizontalSpace, - Container( - width: 150.w, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - items.product!.name ?? "", - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: context.customMedium(APPCOLOR.balck1A1A1A, 14), - ), - 2.verticalSpace, - Text( - items.product!.unit ?? "", - style: context.customMedium(APPCOLOR.balck1A1A1A, 14), - ), - Row( - children: [ - Text( - "₹${items.product!.discountPrice ?? ""} ", - textAlign: TextAlign.left, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: context.customSemiBold(Colors.black, 12), - ), - Text( - "₹${items.product!.basePrice ?? ""}", - textAlign: TextAlign.left, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: context - .customMedium( - Colors.grey.withOpacity(0.8), - 12, - ) - .copyWith( - decoration: TextDecoration.lineThrough, - ), - ), - SizedBox(width: 10), - Container( - // padding: EdgeInsets.symmetric( - // horizontal: 6, vertical: 2), - // decoration: BoxDecoration( - // color: Colors.green, - // borderRadius: BorderRadius.circular(5), - // ), - child: Text( - "${calculateDiscountPercentage(double.parse(items.product!.basePrice.toString()), double.parse(items.product!.discountPrice.toString()))}%off", - style: TextStyle( - color: Colors.lightGreen, fontSize: 12)), - ), - ], - ), - Gap(5), - InkWell( - onTap: () { - showReturnPolicyBottomSheet(context); - }, - child: Text("3 days Return & Exchange ", - style: - TextStyle(color: Colors.green, fontSize: 1)), - ), - ], - ), - ), - const Spacer(), - Column( - children: [ - Container( - height: 25, - width: 70, - decoration: BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(7)), - shape: BoxShape.rectangle, - border: Border.all( - color: APPCOLOR.lightGreen, - width: 1, + 16.horizontalSpace, + Container( + width: 150.w, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + items.product!.name ?? "", + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: + context.customMedium(APPCOLOR.balck1A1A1A, 14), ), - ), - child: Center( - child: Row( - // crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.center, + 2.verticalSpace, + Text( + items.product!.unit ?? "", + style: + context.customMedium(APPCOLOR.balck1A1A1A, 14), + ), + Row( children: [ - InkWell( - onTap: () async { - if (items.quantity! > 1) { - await provider.decreaseCartQuantity( - context, - items.id!, - int.parse(items.quantity.toString()) - - 1); - } - }, - child: Icon( - Icons.remove, - size: 15, - color: APPCOLOR.lightGreen, - ), - ), - // IconButton( - // // width: 14.w, - // // height: 14.h, - // onPressed: () async { - // if (items.quantity! > 1) { - // await provider.decreaseCartQuantity( - // context, - // items.id!, - // int.parse(items.quantity.toString()) - - // 1); - // } - // }, - // icon: Icon(Icons.minimize_rounded), - // iconSize: 10, - // ), - Gap(10), Text( - items.quantity.toString(), - style: context.customMedium( - APPCOLOR.balck1A1A1A, 14), + "₹${items.product!.discountPrice ?? ""} ", + textAlign: TextAlign.left, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: context.customSemiBold(Colors.black, 12), ), - Gap(10), - InkWell( - onTap: () async { - await provider.addToCart( - context, items.productId!, 1); - }, - child: Icon( - Icons.add, - size: 15, - color: APPCOLOR.lightGreen, - ), + Text( + "₹${items.product!.basePrice ?? ""}", + textAlign: TextAlign.left, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: context + .customMedium( + Colors.grey.withOpacity(0.8), + 12, + ) + .copyWith( + decoration: TextDecoration.lineThrough, + ), + ), + SizedBox(width: 10), + Container( + // padding: EdgeInsets.symmetric( + // horizontal: 6, vertical: 2), + // decoration: BoxDecoration( + // color: Colors.green, + // borderRadius: BorderRadius.circular(5), + // ), + child: Text( + "${calculateDiscountPercentage(double.parse(items.product!.basePrice.toString()), double.parse(items.product!.discountPrice.toString()))}%off", + style: TextStyle( + color: Colors.lightGreen, + fontSize: 12)), ), - // IconButton( - // onPressed: () async { - // await provider.addToCart( - // context, items.productId!, 1); - - // // await provider.getItemCards(context); - // }, - // icon: Icon(Icons.add), - // iconSize: 10, - // ), ], ), - ), + Gap(5), + InkWell( + onTap: () { + showReturnPolicyBottomSheet(context); + }, + child: Text("3 days Return & Exchange ", + style: TextStyle( + color: Colors.green, fontSize: 1)), + ), + ], ), - Gap(20), - InkWell( - onTap: () async { - provider.deleteItem(context, items.id); - }, - child: provider.isRemoveItem[items.id] ?? false - ? Center( - child: Padding( - padding: const EdgeInsets.all(8.0), - child: Container( - height: 5, - width: 5, - child: CircularProgressIndicator( - color: Colors.green, strokeWidth: 1), + ), + const Spacer(), + Column( + children: [ + Container( + height: 25, + width: 70, + decoration: BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(7)), + shape: BoxShape.rectangle, + border: Border.all( + color: APPCOLOR.lightGreen, + width: 1, + ), + ), + child: Center( + child: Row( + // crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.center, + children: [ + InkWell( + onTap: () async { + if (items.quantity! > 1) { + await provider.decreaseCartQuantity( + context, + items.id!, + int.parse(items.quantity.toString()) - + 1); + } + }, + child: Icon( + Icons.remove, + size: 15, + color: APPCOLOR.lightGreen, ), ), - ) - : Center(child: Text("Delete")), - ) - ], - ) - ], + // IconButton( + // // width: 14.w, + // // height: 14.h, + // onPressed: () async { + // if (items.quantity! > 1) { + // await provider.decreaseCartQuantity( + // context, + // items.id!, + // int.parse(items.quantity.toString()) - + // 1); + // } + // }, + // icon: Icon(Icons.minimize_rounded), + // iconSize: 10, + // ), + Gap(10), + Text( + items.quantity.toString(), + style: context.customMedium( + APPCOLOR.balck1A1A1A, 14), + ), + Gap(10), + InkWell( + onTap: () async { + await provider.addToCart( + context, items.productId!, 1); + }, + child: Icon( + Icons.add, + size: 15, + color: APPCOLOR.lightGreen, + ), + ), + // IconButton( + // onPressed: () async { + // await provider.addToCart( + // context, items.productId!, 1); + + // // await provider.getItemCards(context); + // }, + // icon: Icon(Icons.add), + // iconSize: 10, + // ), + ], + ), + ), + ), + Gap(20), + InkWell( + onTap: () async { + provider.deleteItem(context, items.id); + }, + child: provider.isRemoveItem[items.id] ?? false + ? Center( + child: Padding( + padding: const EdgeInsets.all(8.0), + child: Container( + height: 5, + width: 5, + child: CircularProgressIndicator( + color: Colors.green, strokeWidth: 1), + ), + ), + ) + : Center(child: Text("Delete")), + ) + ], + ) + ], + ), ), ); }, @@ -858,29 +889,6 @@ class _MycartState extends State { ), ), ), - // ElevatedButton( - // style: ElevatedButton.styleFrom( - // backgroundColor: APPCOLOR.lightGreen), - // onPressed: () { - // 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, - // ); - // } - // }, - // child: Row( - // mainAxisAlignment: MainAxisAlignment.center, - // children: [Text('Place Order', style: TextStyle(fontSize: 16))], - // ), - // ), ], ); } diff --git a/lib/src/ui/data_notfound.dart b/lib/src/ui/data_notfound.dart new file mode 100644 index 0000000..d001fa0 --- /dev/null +++ b/lib/src/ui/data_notfound.dart @@ -0,0 +1,39 @@ +import 'package:flutter/material.dart'; + +class DataNotFound extends StatelessWidget { + final String message; + final String imagePath; + final double width; + final double height; + + const DataNotFound({ + Key? key, + this.message = "No Data Available", + required this.imagePath, + this.width = 200, + this.height = 200, + }) : super(key: key); + + @override + Widget build(BuildContext context) { + return Center( + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + imagePath, + width: width, + height: height, + fit: BoxFit.contain, + ), + const SizedBox(height: 20), + Text( + message, + style: const TextStyle(fontSize: 18, fontWeight: FontWeight.w500), + textAlign: TextAlign.center, + ), + ], + ), + ); + } +} diff --git a/lib/src/ui/edit_profile/edit_profile_screen.dart b/lib/src/ui/edit_profile/edit_profile_screen.dart index c6c6ec1..6cf1d2f 100644 --- a/lib/src/ui/edit_profile/edit_profile_screen.dart +++ b/lib/src/ui/edit_profile/edit_profile_screen.dart @@ -161,42 +161,48 @@ class _EditProfileScreenState extends State { Row( mainAxisAlignment: MainAxisAlignment.center, children: [ - Stack( - alignment: Alignment.center, - children: [ - CircleAvatar( - radius: 40, - backgroundColor: Colors.grey, - backgroundImage: _image != null - ? FileImage(_image!) - : (profile != null && profile!.isNotEmpty - ? NetworkImage(profile!) - : const AssetImage("assets/default_profile.png")), - ), - Positioned( - bottom: 0, - right: 0, - child: GestureDetector( - onTap: () { - _pickImage(); - }, - child: Container( - height: 20, - width: 20, - decoration: BoxDecoration( - color: APPCOLOR.lightGreen, - border: Border.all(color: Colors.white), - borderRadius: BorderRadius.circular(5)), - child: Center( - child: Icon( - MdiIcons.pencil, - size: 10, - color: Colors.white, + InkWell( + onTap: () { + _pickImage(); + }, + child: Stack( + alignment: Alignment.center, + children: [ + CircleAvatar( + radius: 40, + backgroundColor: Colors.grey, + backgroundImage: _image != null + ? FileImage(_image!) + : (profile != null && profile!.isNotEmpty + ? NetworkImage(profile!) + : const AssetImage( + "assets/default_profile.png")), + ), + Positioned( + bottom: 0, + right: 0, + child: GestureDetector( + onTap: () { + _pickImage(); + }, + child: Container( + height: 20, + width: 20, + decoration: BoxDecoration( + color: APPCOLOR.lightGreen, + border: Border.all(color: Colors.white), + borderRadius: BorderRadius.circular(5)), + child: Center( + child: Icon( + MdiIcons.pencil, + size: 10, + color: Colors.white, + ), ), ), - ), - )), - ], + )), + ], + ), ), ], ), diff --git a/lib/src/ui/favourite/favourite_screen.dart b/lib/src/ui/favourite/favourite_screen.dart index 6c76a9d..527fb10 100644 --- a/lib/src/ui/favourite/favourite_screen.dart +++ b/lib/src/ui/favourite/favourite_screen.dart @@ -1,9 +1,11 @@ import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:go_router/go_router.dart'; import 'package:grocery_app/src/common_widget/network_image.dart'; import 'package:grocery_app/src/core/routes/routes.dart'; import 'package:grocery_app/src/logic/provider/bottom_navbar_provider.dart'; import 'package:grocery_app/src/logic/provider/home_provider.dart'; +import 'package:grocery_app/src/ui/data_notfound.dart'; import 'package:grocery_app/src/ui/header.dart'; import 'package:grocery_app/utils/constants/color_constant.dart'; import 'package:grocery_app/utils/extensions/uicontext.dart'; @@ -146,7 +148,13 @@ class _FavouriteScreenState extends State return Expanded( child: _buildSkeletonLoader()); // Show Skeleton while loading } else if (provider.wishListItem.isEmpty) { - return Expanded(child: Center(child: Text('No products available'))); + return Expanded( + child: DataNotFound( + imagePath: 'assets/images/wishlist.jpg', + message: "Your Wish list is empty. Please add some items", + width: 250.w, + height: 200.h, + )); } else { return Expanded( child: ListView.separated( @@ -162,7 +170,15 @@ class _FavouriteScreenState extends State return GestureDetector( onTap: () { - context.push(MyRoutes.PRODUCTDETAILS, extra: productId); + context.push(MyRoutes.PRODUCTDETAILS, + // extra: productId + + extra: { + "id":productId, + "quantity": 0, + "price": "0", + }, + ); }, child: Container( padding: EdgeInsets.all(8), diff --git a/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart b/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart index b364f0b..cb48cf3 100644 --- a/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart +++ b/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart @@ -1,11 +1,13 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:go_router/go_router.dart'; import 'package:grocery_app/src/common_widget/network_image.dart'; import 'package:grocery_app/src/core/routes/routes.dart'; import 'package:grocery_app/src/logic/provider/home_provider.dart'; +import 'package:grocery_app/src/ui/data_notfound.dart'; import 'package:grocery_app/utils/constants/assets_constant.dart'; import 'package:grocery_app/utils/constants/color_constant.dart'; import 'package:grocery_app/utils/constants/shared_pref_utils.dart'; @@ -121,8 +123,13 @@ class _FruitVeggieDetailState extends State { ); } else if (provider.products.isEmpty) { return Padding( - padding: const EdgeInsets.only(left: 80), - child: Center(child: Text('No products available')), + padding: const EdgeInsets.only(left: 40), + child: DataNotFound( + imagePath: 'assets/images/cart.jpg', + message: "Product not abailable ", + width: 200.w, + height: 250.h, + ), ); } else { return Expanded( @@ -173,7 +180,15 @@ class _FruitVeggieDetailState extends State { return InkWell( onTap: () { context.push(MyRoutes.PRODUCTDETAILS, - extra: product.id); + // extra: product.id + + extra: { + "id": product.id, + "quantity": 0, + "price": "0", + }, + + ); }, child: Container( height: itemHeight, diff --git a/lib/src/ui/home/home_screen.dart b/lib/src/ui/home/home_screen.dart index 9326e62..1dd4050 100644 --- a/lib/src/ui/home/home_screen.dart +++ b/lib/src/ui/home/home_screen.dart @@ -300,7 +300,16 @@ class _HomeScreenState extends State { return InkWell( onTap: () { context.push(MyRoutes.PRODUCTDETAILS, - extra: bestdealproduct.id); + // extra: bestdealproduct.id + + extra: { + "id":bestdealproduct.id, + "quantity": 0, + "price": "0", + }, + + + ); }, child: Padding( padding: const EdgeInsets.only( @@ -679,7 +688,14 @@ class _HomeScreenState extends State { return InkWell( onTap: () { context.push(MyRoutes.PRODUCTDETAILS, - extra: product.id); + // extra: product.id + + extra: { + "id":product.id, + "quantity": 0, + "price": "0", + }, + ); }, child: SizedBox( child: Column( diff --git a/lib/src/ui/productdetails/product_details.dart b/lib/src/ui/productdetails/product_details.dart index 6299222..f3d862d 100644 --- a/lib/src/ui/productdetails/product_details.dart +++ b/lib/src/ui/productdetails/product_details.dart @@ -26,7 +26,14 @@ import 'package:shimmer/shimmer.dart'; class ProductDetails extends StatefulWidget { String id; - ProductDetails({super.key, required this.id}); + int quantity; + String price; + + ProductDetails( + {super.key, + required this.id, + required this.quantity, + required this.price}); @override State createState() => _ProductDetailsState(); @@ -41,7 +48,7 @@ class _ProductDetailsState extends State { void initState() { super.initState(); Provider.of(context, listen: false) - .getProduuctDetails(context, widget.id); + .getProduuctDetails(context, widget.id, widget.quantity, widget.price); } double value = 3.5; @@ -979,7 +986,8 @@ class _ProductDetailsState extends State { return InkWell( onTap: () { - provider.getProduuctDetails(context, bestdealproduct.id); + provider.getProduuctDetails( + context, bestdealproduct.id, 0, "0"); }, child: Padding( padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),