diff --git a/.DS_Store b/.DS_Store
index 098ff8d..7793275 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/.dart_tool/dartpad/web_plugin_registrant.dart b/.dart_tool/dartpad/web_plugin_registrant.dart
index 9a5c175..c841a1c 100644
--- a/.dart_tool/dartpad/web_plugin_registrant.dart
+++ b/.dart_tool/dartpad/web_plugin_registrant.dart
@@ -10,8 +10,10 @@ import 'package:connectivity_plus/src/connectivity_plus_web.dart';
import 'package:fluttertoast/fluttertoast_web.dart';
import 'package:geolocator_web/geolocator_web.dart';
import 'package:google_maps_flutter_web/google_maps_flutter_web.dart';
+import 'package:image_picker_for_web/image_picker_for_web.dart';
import 'package:package_info_plus/src/package_info_plus_web.dart';
import 'package:shared_preferences_web/shared_preferences_web.dart';
+import 'package:url_launcher_web/url_launcher_web.dart';
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
void registerPlugins([final Registrar? pluginRegistrar]) {
@@ -20,7 +22,9 @@ void registerPlugins([final Registrar? pluginRegistrar]) {
FluttertoastWebPlugin.registerWith(registrar);
GeolocatorPlugin.registerWith(registrar);
GoogleMapsPlugin.registerWith(registrar);
+ ImagePickerPlugin.registerWith(registrar);
PackageInfoPlusWebPlugin.registerWith(registrar);
SharedPreferencesPlugin.registerWith(registrar);
+ UrlLauncherPlugin.registerWith(registrar);
registrar.registerMessageHandler();
}
diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json
index d8b78ea..4ff9eaa 100644
--- a/.dart_tool/package_config.json
+++ b/.dart_tool/package_config.json
@@ -3,793 +3,937 @@
"packages": [
{
"name": "animation_list",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/animation_list-3.1.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/animation_list-3.1.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "animations",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/animations-2.0.11",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/animations-2.0.11",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "args",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/args-2.6.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/args-2.6.0",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "async",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/async-2.11.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/async-2.11.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "back_button_interceptor",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/back_button_interceptor-8.0.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/back_button_interceptor-8.0.3",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "boolean_selector",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "cached_network_image",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image-3.3.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image-3.3.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "cached_network_image_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image_platform_interface-4.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image_platform_interface-4.0.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "cached_network_image_web",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image_web-1.2.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image_web-1.2.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "carousel_slider",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "characters",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/characters-1.3.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/characters-1.3.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "clock",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/clock-1.1.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/clock-1.1.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "collection",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/collection-1.18.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/collection-1.18.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "connectivity_plus",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "connectivity_plus_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1",
"packageUri": "lib/",
"languageVersion": "2.18"
},
+ {
+ "name": "cross_file",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/cross_file-0.3.4+2",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
{
"name": "crypto",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/crypto-3.0.6",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/crypto-3.0.6",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "csslib",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/csslib-1.0.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/csslib-1.0.2",
"packageUri": "lib/",
"languageVersion": "3.1"
},
{
"name": "cupertino_icons",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8",
"packageUri": "lib/",
"languageVersion": "3.1"
},
{
"name": "dbus",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dbus-0.7.11",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dbus-0.7.11",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "dio",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dio-5.7.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dio-5.7.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "dio_web_adapter",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dio_web_adapter-2.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dio_web_adapter-2.0.0",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "dots_indicator",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "dotted_border",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dotted_border-2.1.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dotted_border-2.1.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "fake_async",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fake_async-1.3.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/fake_async-1.3.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "ffi",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/ffi-2.1.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/ffi-2.1.3",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "file",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/file-7.0.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/file-7.0.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
+ {
+ "name": "file_selector_linux",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
+ {
+ "name": "file_selector_macos",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
+ {
+ "name": "file_selector_platform_interface",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.2",
+ "packageUri": "lib/",
+ "languageVersion": "3.0"
+ },
+ {
+ "name": "file_selector_windows",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
{
"name": "fixnum",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fixnum-1.1.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/fixnum-1.1.1",
"packageUri": "lib/",
"languageVersion": "3.1"
},
{
"name": "flutter",
- "rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter",
+ "rootUri": "file:///Users/apple/Documents/development/flutter/packages/flutter",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "flutter_animate",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "flutter_cache_manager",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_cache_manager-3.3.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_cache_manager-3.3.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "flutter_google_places",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_google_places-0.3.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_google_places-0.3.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "flutter_lints",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2",
"packageUri": "lib/",
"languageVersion": "3.1"
},
{
"name": "flutter_plugin_android_lifecycle",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "flutter_rating_stars",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_rating_stars-1.1.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_rating_stars-1.1.0",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "flutter_screenutil",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "flutter_shaders",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3",
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "flutter_svg",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9",
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "flutter_test",
- "rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_test",
+ "rootUri": "file:///Users/apple/Documents/development/flutter/packages/flutter_test",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "flutter_toggle_tab",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_toggle_tab-1.5.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_toggle_tab-1.5.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "flutter_web_plugins",
- "rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_web_plugins",
+ "rootUri": "file:///Users/apple/Documents/development/flutter/packages/flutter_web_plugins",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "fluttertoast",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "fpdart",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fpdart-1.1.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/fpdart-1.1.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "gap",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/gap-3.0.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/gap-3.0.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "geocoding",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding-3.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "geocoding_android",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "geocoding_ios",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "geocoding_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_platform_interface-3.2.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_platform_interface-3.2.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "geolocator",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator-13.0.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2",
"packageUri": "lib/",
"languageVersion": "2.15"
},
{
"name": "geolocator_android",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1",
"packageUri": "lib/",
"languageVersion": "2.15"
},
{
"name": "geolocator_apple",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1",
"packageUri": "lib/",
"languageVersion": "2.15"
},
{
"name": "geolocator_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.4",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.4",
"packageUri": "lib/",
"languageVersion": "2.15"
},
{
"name": "geolocator_web",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "geolocator_windows",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3",
"packageUri": "lib/",
"languageVersion": "2.15"
},
{
"name": "get_it",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/get_it-8.0.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/get_it-8.0.3",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "go_router",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/go_router-14.7.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/go_router-14.7.1",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "google_api_headers",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "google_fonts",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_fonts-4.0.4",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_fonts-4.0.4",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "google_maps",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps-8.1.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps-8.1.1",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "google_maps_flutter",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "google_maps_flutter_android",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "google_maps_flutter_ios",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "google_maps_flutter_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_platform_interface-2.9.5",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_platform_interface-2.9.5",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "google_maps_flutter_web",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "google_maps_webservice",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_webservice-0.0.20-nullsafety.5",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_webservice-0.0.20-nullsafety.5",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "html",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/html-0.15.5",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/html-0.15.5",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "http",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/http-0.13.6",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/http-0.13.6",
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "http_parser",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/http_parser-4.0.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/http_parser-4.0.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
+ {
+ "name": "image_picker",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker-1.1.2",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
+ {
+ "name": "image_picker_android",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+20",
+ "packageUri": "lib/",
+ "languageVersion": "3.5"
+ },
+ {
+ "name": "image_picker_for_web",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6",
+ "packageUri": "lib/",
+ "languageVersion": "3.4"
+ },
+ {
+ "name": "image_picker_ios",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2",
+ "packageUri": "lib/",
+ "languageVersion": "3.4"
+ },
+ {
+ "name": "image_picker_linux",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1",
+ "packageUri": "lib/",
+ "languageVersion": "2.19"
+ },
+ {
+ "name": "image_picker_macos",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2",
+ "packageUri": "lib/",
+ "languageVersion": "3.4"
+ },
+ {
+ "name": "image_picker_platform_interface",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.10.1",
+ "packageUri": "lib/",
+ "languageVersion": "3.4"
+ },
+ {
+ "name": "image_picker_windows",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1",
+ "packageUri": "lib/",
+ "languageVersion": "2.19"
+ },
{
"name": "intl",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/intl-0.19.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/intl-0.19.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "json_annotation",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/json_annotation-4.9.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/json_annotation-4.9.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "leak_tracker",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker-10.0.4",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker-10.0.5",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "leak_tracker_flutter_testing",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "leak_tracker_testing",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "lints",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/lints-3.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/lints-3.0.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "loader_overlay",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/loader_overlay-4.0.4+1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/loader_overlay-4.0.4+1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "logging",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/logging-1.3.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/logging-1.3.0",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "matcher",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/matcher-0.12.16+1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/matcher-0.12.16+1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "material_color_utilities",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_color_utilities-0.8.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "material_design_icons_flutter",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_design_icons_flutter-7.0.7296",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/material_design_icons_flutter-7.0.7296",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "meta",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/meta-1.12.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/meta-1.15.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
+ {
+ "name": "mime",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/mime-2.0.0",
+ "packageUri": "lib/",
+ "languageVersion": "3.2"
+ },
{
"name": "nested",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/nested-1.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/nested-1.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "nm",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/nm-0.5.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/nm-0.5.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "octo_image",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/octo_image-2.1.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/octo_image-2.1.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "otp_text_field",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/otp_text_field-1.1.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/otp_text_field-1.1.3",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "package_info_plus",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "package_info_plus_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "path",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path-1.9.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path-1.9.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "path_drawing",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_drawing-1.0.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_drawing-1.0.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "path_parsing",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_parsing-1.1.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_parsing-1.1.0",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "path_provider",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider-2.1.5",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider-2.1.5",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "path_provider_android",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "path_provider_foundation",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "path_provider_linux",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1",
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "path_provider_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "path_provider_windows",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "petitparser",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/petitparser-6.0.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/petitparser-6.0.2",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "platform",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/platform-3.1.6",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/platform-3.1.6",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "plugin_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "pretty_dio_logger",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/pretty_dio_logger-1.4.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/pretty_dio_logger-1.4.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "provider",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/provider-6.1.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/provider-6.1.2",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "readmore",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/readmore-3.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/readmore-3.0.0",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "rxdart",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/rxdart-0.26.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/rxdart-0.26.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "sanitize_html",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "shared_preferences",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "shared_preferences_android",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "shared_preferences_foundation",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "shared_preferences_linux",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "shared_preferences_platform_interface",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "shared_preferences_web",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "shared_preferences_windows",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1",
"packageUri": "lib/",
"languageVersion": "3.3"
},
+ {
+ "name": "shimmer",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shimmer-3.0.0",
+ "packageUri": "lib/",
+ "languageVersion": "2.17"
+ },
+ {
+ "name": "skeletonizer",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/skeletonizer-1.4.3",
+ "packageUri": "lib/",
+ "languageVersion": "3.0"
+ },
{
"name": "sky_engine",
- "rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/bin/cache/pkg/sky_engine",
+ "rootUri": "file:///Users/apple/Documents/development/flutter/bin/cache/pkg/sky_engine",
"packageUri": "lib/",
"languageVersion": "3.2"
},
{
"name": "source_span",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/source_span-1.10.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/source_span-1.10.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "sprintf",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sprintf-7.0.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/sprintf-7.0.0",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "sqflite",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "sqflite_common",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "stack_trace",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stack_trace-1.11.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/stack_trace-1.11.1",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "stream_channel",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stream_channel-2.1.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/stream_channel-2.1.2",
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "stream_transform",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stream_transform-2.1.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/stream_transform-2.1.1",
"packageUri": "lib/",
"languageVersion": "3.1"
},
{
"name": "string_scanner",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/string_scanner-1.2.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/string_scanner-1.2.0",
"packageUri": "lib/",
"languageVersion": "2.18"
},
{
"name": "synchronized",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "term_glyph",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/term_glyph-1.2.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/term_glyph-1.2.1",
"packageUri": "lib/",
"languageVersion": "2.12"
},
{
"name": "test_api",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/test_api-0.7.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/test_api-0.7.2",
"packageUri": "lib/",
- "languageVersion": "3.0"
+ "languageVersion": "3.2"
},
{
"name": "typed_data",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/typed_data-1.3.2",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/typed_data-1.3.2",
"packageUri": "lib/",
"languageVersion": "2.17"
},
+ {
+ "name": "url_launcher",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher-6.3.1",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
+ {
+ "name": "url_launcher_android",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.14",
+ "packageUri": "lib/",
+ "languageVersion": "3.5"
+ },
+ {
+ "name": "url_launcher_ios",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
+ {
+ "name": "url_launcher_linux",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
+ {
+ "name": "url_launcher_macos",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
+ {
+ "name": "url_launcher_platform_interface",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.3.2",
+ "packageUri": "lib/",
+ "languageVersion": "3.1"
+ },
+ {
+ "name": "url_launcher_web",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3",
+ "packageUri": "lib/",
+ "languageVersion": "3.3"
+ },
+ {
+ "name": "url_launcher_windows",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4",
+ "packageUri": "lib/",
+ "languageVersion": "3.4"
+ },
{
"name": "uuid",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/uuid-4.5.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/uuid-4.5.1",
"packageUri": "lib/",
"languageVersion": "3.0"
},
{
"name": "vector_graphics",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics-1.1.10+1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics-1.1.10+1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "vector_graphics_codec",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.10+1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.10+1",
"packageUri": "lib/",
"languageVersion": "2.17"
},
{
"name": "vector_graphics_compiler",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.10+1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.10+1",
"packageUri": "lib/",
"languageVersion": "2.19"
},
{
"name": "vector_math",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_math-2.1.4",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vector_math-2.1.4",
"packageUri": "lib/",
"languageVersion": "2.14"
},
{
"name": "vm_service",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vm_service-14.2.1",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vm_service-14.2.5",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "web",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/web-1.1.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/web-1.1.0",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "win32",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/win32-5.5.4",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/win32-5.5.4",
"packageUri": "lib/",
"languageVersion": "3.4"
},
{
"name": "xdg_directories",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0",
"packageUri": "lib/",
"languageVersion": "3.3"
},
{
"name": "xml",
- "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/xml-6.5.0",
+ "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/xml-6.5.0",
"packageUri": "lib/",
"languageVersion": "3.2"
},
@@ -800,10 +944,10 @@
"languageVersion": "3.4"
}
],
- "generated": "2025-01-31T13:31:38.803389Z",
+ "generated": "2025-02-02T19:59:17.515234Z",
"generator": "pub",
- "generatorVersion": "3.4.4",
- "flutterRoot": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter",
- "flutterVersion": "3.22.3",
- "pubCache": "file:///Users/rajeevsingh/.pub-cache"
+ "generatorVersion": "3.5.3",
+ "flutterRoot": "file:///Users/apple/Documents/development/flutter",
+ "flutterVersion": "3.24.3",
+ "pubCache": "file:///Users/apple/.pub-cache"
}
diff --git a/.dart_tool/package_config_subset b/.dart_tool/package_config_subset
index 074349e..49626c3 100644
--- a/.dart_tool/package_config_subset
+++ b/.dart_tool/package_config_subset
@@ -1,533 +1,629 @@
animation_list
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/animation_list-3.1.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/animation_list-3.1.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/animation_list-3.1.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/animation_list-3.1.0/lib/
animations
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/animations-2.0.11/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/animations-2.0.11/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/animations-2.0.11/
+file:///Users/apple/.pub-cache/hosted/pub.dev/animations-2.0.11/lib/
args
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/args-2.6.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/args-2.6.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/args-2.6.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/args-2.6.0/lib/
async
2.18
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/async-2.11.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/async-2.11.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/async-2.11.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/async-2.11.0/lib/
back_button_interceptor
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/back_button_interceptor-8.0.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/back_button_interceptor-8.0.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/back_button_interceptor-8.0.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/back_button_interceptor-8.0.3/lib/
boolean_selector
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/lib/
cached_network_image
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image-3.3.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image-3.3.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image-3.3.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image-3.3.1/lib/
cached_network_image_platform_interface
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image_platform_interface-4.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image_platform_interface-4.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image_platform_interface-4.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image_platform_interface-4.0.0/lib/
cached_network_image_web
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image_web-1.2.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image_web-1.2.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image_web-1.2.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image_web-1.2.0/lib/
carousel_slider
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0/lib/
characters
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/characters-1.3.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/characters-1.3.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/characters-1.3.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/characters-1.3.0/lib/
clock
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/clock-1.1.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/clock-1.1.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/clock-1.1.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/clock-1.1.1/lib/
collection
2.18
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/collection-1.18.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/collection-1.18.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/collection-1.18.0/lib/
connectivity_plus
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/lib/
connectivity_plus_platform_interface
2.18
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1/lib/
+cross_file
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/cross_file-0.3.4+2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cross_file-0.3.4+2/lib/
crypto
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/crypto-3.0.6/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/crypto-3.0.6/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/crypto-3.0.6/
+file:///Users/apple/.pub-cache/hosted/pub.dev/crypto-3.0.6/lib/
csslib
3.1
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/csslib-1.0.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/csslib-1.0.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/csslib-1.0.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/csslib-1.0.2/lib/
cupertino_icons
3.1
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/
+file:///Users/apple/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/lib/
dbus
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dbus-0.7.11/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dbus-0.7.11/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dbus-0.7.11/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dbus-0.7.11/lib/
dio
2.18
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dio-5.7.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dio-5.7.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dio-5.7.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dio-5.7.0/lib/
dio_web_adapter
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dio_web_adapter-2.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dio_web_adapter-2.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dio_web_adapter-2.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dio_web_adapter-2.0.0/lib/
dots_indicator
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0/lib/
dotted_border
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/lib/
fake_async
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fake_async-1.3.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/fake_async-1.3.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/fake_async-1.3.1/lib/
ffi
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/ffi-2.1.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/ffi-2.1.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/ffi-2.1.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/ffi-2.1.3/lib/
file
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/file-7.0.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/file-7.0.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/file-7.0.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/file-7.0.1/lib/
+file_selector_linux
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/lib/
+file_selector_macos
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/lib/
+file_selector_platform_interface
+3.0
+file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_platform_interface-2.6.2/lib/
+file_selector_windows
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/lib/
fixnum
3.1
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fixnum-1.1.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fixnum-1.1.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/fixnum-1.1.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/fixnum-1.1.1/lib/
flutter_animate
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2/lib/
flutter_cache_manager
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_cache_manager-3.3.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_cache_manager-3.3.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_cache_manager-3.3.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_cache_manager-3.3.1/lib/
flutter_google_places
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_google_places-0.3.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_google_places-0.3.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_google_places-0.3.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_google_places-0.3.0/lib/
flutter_lints
3.1
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2/lib/
flutter_plugin_android_lifecycle
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/lib/
flutter_rating_stars
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_rating_stars-1.1.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_rating_stars-1.1.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_rating_stars-1.1.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_rating_stars-1.1.0/lib/
flutter_screenutil
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3/lib/
flutter_shaders
2.19
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3/lib/
flutter_svg
2.19
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9/lib/
flutter_toggle_tab
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_toggle_tab-1.5.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_toggle_tab-1.5.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_toggle_tab-1.5.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_toggle_tab-1.5.1/lib/
fluttertoast
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/
+file:///Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/lib/
fpdart
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fpdart-1.1.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fpdart-1.1.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/fpdart-1.1.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/fpdart-1.1.1/lib/
gap
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/gap-3.0.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/gap-3.0.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/gap-3.0.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/gap-3.0.1/lib/
geocoding
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding-3.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0/lib/
geocoding_android
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/lib/
geocoding_ios
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/lib/
geocoding_platform_interface
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_platform_interface-3.2.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_platform_interface-3.2.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_platform_interface-3.2.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_platform_interface-3.2.0/lib/
geolocator
2.15
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator-13.0.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2/lib/
geolocator_android
2.15
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/lib/
geolocator_apple
2.15
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/lib/
geolocator_platform_interface
2.15
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.4/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.4/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.4/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.4/lib/
geolocator_web
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/lib/
geolocator_windows
2.15
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/lib/
get_it
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/get_it-8.0.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/get_it-8.0.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/get_it-8.0.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/get_it-8.0.3/lib/
go_router
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/go_router-14.7.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/go_router-14.7.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/go_router-14.7.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/go_router-14.7.1/lib/
google_api_headers
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/lib/
google_fonts
2.14
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_fonts-4.0.4/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_fonts-4.0.4/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_fonts-4.0.4/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_fonts-4.0.4/lib/
google_maps
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps-8.1.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps-8.1.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps-8.1.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps-8.1.1/lib/
google_maps_flutter
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/lib/
google_maps_flutter_android
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/lib/
google_maps_flutter_ios
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/lib/
google_maps_flutter_platform_interface
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_platform_interface-2.9.5/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_platform_interface-2.9.5/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_platform_interface-2.9.5/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_platform_interface-2.9.5/lib/
google_maps_flutter_web
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/lib/
google_maps_webservice
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_webservice-0.0.20-nullsafety.5/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_webservice-0.0.20-nullsafety.5/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_webservice-0.0.20-nullsafety.5/
+file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_webservice-0.0.20-nullsafety.5/lib/
html
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/html-0.15.5/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/html-0.15.5/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/html-0.15.5/
+file:///Users/apple/.pub-cache/hosted/pub.dev/html-0.15.5/lib/
http
2.19
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/http-0.13.6/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/http-0.13.6/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/http-0.13.6/
+file:///Users/apple/.pub-cache/hosted/pub.dev/http-0.13.6/lib/
http_parser
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/http_parser-4.0.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/http_parser-4.0.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/http_parser-4.0.2/lib/
+image_picker
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker-1.1.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker-1.1.2/lib/
+image_picker_android
+3.5
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+20/
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+20/lib/
+image_picker_for_web
+3.4
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/lib/
+image_picker_ios
+3.4
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/lib/
+image_picker_linux
+2.19
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/lib/
+image_picker_macos
+3.4
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/lib/
+image_picker_platform_interface
+3.4
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.10.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_platform_interface-2.10.1/lib/
+image_picker_windows
+2.19
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/lib/
intl
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/intl-0.19.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/intl-0.19.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/intl-0.19.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/intl-0.19.0/lib/
json_annotation
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/lib/
leak_tracker
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker-10.0.4/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker-10.0.4/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker-10.0.5/
+file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker-10.0.5/lib/
leak_tracker_flutter_testing
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5/
+file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5/lib/
leak_tracker_testing
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1/lib/
lints
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/lints-3.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/lints-3.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/lints-3.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/lints-3.0.0/lib/
loader_overlay
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/loader_overlay-4.0.4+1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/loader_overlay-4.0.4+1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/loader_overlay-4.0.4+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/loader_overlay-4.0.4+1/lib/
logging
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/logging-1.3.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/logging-1.3.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/logging-1.3.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/logging-1.3.0/lib/
matcher
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/matcher-0.12.16+1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/matcher-0.12.16+1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/matcher-0.12.16+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/matcher-0.12.16+1/lib/
material_color_utilities
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_color_utilities-0.8.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_color_utilities-0.8.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/lib/
material_design_icons_flutter
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_design_icons_flutter-7.0.7296/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_design_icons_flutter-7.0.7296/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/material_design_icons_flutter-7.0.7296/
+file:///Users/apple/.pub-cache/hosted/pub.dev/material_design_icons_flutter-7.0.7296/lib/
meta
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/meta-1.12.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/meta-1.12.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/meta-1.15.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/meta-1.15.0/lib/
+mime
+3.2
+file:///Users/apple/.pub-cache/hosted/pub.dev/mime-2.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/mime-2.0.0/lib/
nested
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/nested-1.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/nested-1.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/nested-1.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/nested-1.0.0/lib/
nm
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/nm-0.5.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/nm-0.5.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/nm-0.5.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/nm-0.5.0/lib/
octo_image
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/octo_image-2.1.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/octo_image-2.1.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/octo_image-2.1.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/octo_image-2.1.0/lib/
otp_text_field
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/otp_text_field-1.1.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/otp_text_field-1.1.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/otp_text_field-1.1.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/otp_text_field-1.1.3/lib/
package_info_plus
2.18
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/lib/
package_info_plus_platform_interface
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1/lib/
path
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path-1.9.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path-1.9.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path-1.9.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path-1.9.0/lib/
path_drawing
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/lib/
path_parsing
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_parsing-1.1.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_parsing-1.1.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_parsing-1.1.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_parsing-1.1.0/lib/
path_provider
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider-2.1.5/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider-2.1.5/lib/
path_provider_android
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/lib/
path_provider_foundation
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/lib/
path_provider_linux
2.19
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/lib/
path_provider_platform_interface
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2/lib/
path_provider_windows
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/lib/
petitparser
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/petitparser-6.0.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/petitparser-6.0.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/petitparser-6.0.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/petitparser-6.0.2/lib/
platform
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/platform-3.1.6/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/platform-3.1.6/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/platform-3.1.6/
+file:///Users/apple/.pub-cache/hosted/pub.dev/platform-3.1.6/lib/
plugin_platform_interface
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/
+file:///Users/apple/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8/lib/
pretty_dio_logger
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/pretty_dio_logger-1.4.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/pretty_dio_logger-1.4.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/pretty_dio_logger-1.4.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/pretty_dio_logger-1.4.0/lib/
provider
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/provider-6.1.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/provider-6.1.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/provider-6.1.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/provider-6.1.2/lib/
readmore
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/readmore-3.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/readmore-3.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/readmore-3.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/readmore-3.0.0/lib/
rxdart
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/rxdart-0.26.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/rxdart-0.26.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/rxdart-0.26.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/rxdart-0.26.0/lib/
sanitize_html
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0/lib/
shared_preferences
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/lib/
shared_preferences_android
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/lib/
shared_preferences_foundation
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/lib/
shared_preferences_linux
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/lib/
shared_preferences_platform_interface
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1/lib/
shared_preferences_web
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/lib/
shared_preferences_windows
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/lib/
+shimmer
+2.17
+file:///Users/apple/.pub-cache/hosted/pub.dev/shimmer-3.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/shimmer-3.0.0/lib/
+skeletonizer
+3.0
+file:///Users/apple/.pub-cache/hosted/pub.dev/skeletonizer-1.4.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/skeletonizer-1.4.3/lib/
source_span
2.18
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/source_span-1.10.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/source_span-1.10.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/source_span-1.10.0/lib/
sprintf
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sprintf-7.0.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sprintf-7.0.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/sprintf-7.0.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/sprintf-7.0.0/lib/
sqflite
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/lib/
sqflite_common
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4/
+file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4/lib/
stack_trace
2.18
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/lib/
stream_channel
2.19
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stream_channel-2.1.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stream_channel-2.1.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/stream_channel-2.1.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/stream_channel-2.1.2/lib/
stream_transform
3.1
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/lib/
string_scanner
2.18
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/lib/
synchronized
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1/lib/
term_glyph
2.12
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/lib/
test_api
-3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/test_api-0.7.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/test_api-0.7.0/lib/
+3.2
+file:///Users/apple/.pub-cache/hosted/pub.dev/test_api-0.7.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/test_api-0.7.2/lib/
typed_data
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/typed_data-1.3.2/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/typed_data-1.3.2/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/typed_data-1.3.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/typed_data-1.3.2/lib/
+url_launcher
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/lib/
+url_launcher_android
+3.5
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.14/
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.14/lib/
+url_launcher_ios
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/lib/
+url_launcher_linux
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/lib/
+url_launcher_macos
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/lib/
+url_launcher_platform_interface
+3.1
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.3.2/
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_platform_interface-2.3.2/lib/
+url_launcher_web
+3.3
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/lib/
+url_launcher_windows
+3.4
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/
+file:///Users/apple/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/lib/
uuid
3.0
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/uuid-4.5.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/uuid-4.5.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/uuid-4.5.1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/uuid-4.5.1/lib/
vector_graphics
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics-1.1.10+1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics-1.1.10+1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics-1.1.10+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics-1.1.10+1/lib/
vector_graphics_codec
2.17
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.10+1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.10+1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.10+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.10+1/lib/
vector_graphics_compiler
2.19
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.10+1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.10+1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.10+1/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.10+1/lib/
vector_math
2.14
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_math-2.1.4/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vector_math-2.1.4/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vector_math-2.1.4/lib/
vm_service
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vm_service-14.2.1/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vm_service-14.2.1/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vm_service-14.2.5/
+file:///Users/apple/.pub-cache/hosted/pub.dev/vm_service-14.2.5/lib/
web
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/web-1.1.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/web-1.1.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/web-1.1.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/web-1.1.0/lib/
win32
3.4
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/win32-5.5.4/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/win32-5.5.4/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/win32-5.5.4/
+file:///Users/apple/.pub-cache/hosted/pub.dev/win32-5.5.4/lib/
xdg_directories
3.3
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/lib/
xml
3.2
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/xml-6.5.0/
-file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/xml-6.5.0/lib/
+file:///Users/apple/.pub-cache/hosted/pub.dev/xml-6.5.0/
+file:///Users/apple/.pub-cache/hosted/pub.dev/xml-6.5.0/lib/
grocery_app
3.4
-file:///Users/rajeevsingh/Documents/FlutterProject/freelanceing/groceryApp/
-file:///Users/rajeevsingh/Documents/FlutterProject/freelanceing/groceryApp/lib/
+file:///Users/apple/Documents/Allflutter%20/freelancing/groceryApp/
+file:///Users/apple/Documents/Allflutter%20/freelancing/groceryApp/lib/
sky_engine
3.2
-file:///Users/rajeevsingh/Documents/allSoftwares/flutter/bin/cache/pkg/sky_engine/
-file:///Users/rajeevsingh/Documents/allSoftwares/flutter/bin/cache/pkg/sky_engine/lib/
+file:///Users/apple/Documents/development/flutter/bin/cache/pkg/sky_engine/
+file:///Users/apple/Documents/development/flutter/bin/cache/pkg/sky_engine/lib/
flutter
3.3
-file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter/
-file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter/lib/
+file:///Users/apple/Documents/development/flutter/packages/flutter/
+file:///Users/apple/Documents/development/flutter/packages/flutter/lib/
flutter_test
3.3
-file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_test/
-file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_test/lib/
+file:///Users/apple/Documents/development/flutter/packages/flutter_test/
+file:///Users/apple/Documents/development/flutter/packages/flutter_test/lib/
flutter_web_plugins
3.2
-file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_web_plugins/
-file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_web_plugins/lib/
+file:///Users/apple/Documents/development/flutter/packages/flutter_web_plugins/
+file:///Users/apple/Documents/development/flutter/packages/flutter_web_plugins/lib/
2
diff --git a/.dart_tool/version b/.dart_tool/version
index d9b2ac5..ffba2c8 100644
--- a/.dart_tool/version
+++ b/.dart_tool/version
@@ -1 +1 @@
-3.22.3
\ No newline at end of file
+3.24.3
\ No newline at end of file
diff --git a/.flutter-plugins b/.flutter-plugins
index a30a78c..00fd1a1 100644
--- a/.flutter-plugins
+++ b/.flutter-plugins
@@ -1,30 +1,47 @@
# This is a generated file; do not edit or check into version control.
-connectivity_plus=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/
-flutter_plugin_android_lifecycle=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/
-fluttertoast=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/
-geocoding=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
-geocoding_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
-geocoding_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
-geolocator=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
-geolocator_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
-geolocator_apple=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/
-geolocator_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
-geolocator_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
-google_api_headers=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/
-google_maps_flutter=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/
-google_maps_flutter_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/
-google_maps_flutter_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/
-google_maps_flutter_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/
-package_info_plus=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/
-path_provider=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
-path_provider_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/
-path_provider_foundation=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/
-path_provider_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
-path_provider_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
-shared_preferences=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/
-shared_preferences_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/
-shared_preferences_foundation=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/
-shared_preferences_linux=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/
-shared_preferences_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/
-shared_preferences_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/
-sqflite=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/
+connectivity_plus=/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/
+file_selector_linux=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/
+file_selector_macos=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/
+file_selector_windows=/Users/apple/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/
+flutter_plugin_android_lifecycle=/Users/apple/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/
+fluttertoast=/Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/
+geocoding=/Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
+geocoding_android=/Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
+geocoding_ios=/Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
+geolocator=/Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
+geolocator_android=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
+geolocator_apple=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/
+geolocator_web=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
+geolocator_windows=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
+google_api_headers=/Users/apple/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0/
+google_maps_flutter=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0/
+google_maps_flutter_android=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7/
+google_maps_flutter_ios=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/
+google_maps_flutter_web=/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/
+image_picker=/Users/apple/.pub-cache/hosted/pub.dev/image_picker-1.1.2/
+image_picker_android=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+20/
+image_picker_for_web=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/
+image_picker_ios=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/
+image_picker_linux=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_linux-0.2.1+1/
+image_picker_macos=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_macos-0.2.1+2/
+image_picker_windows=/Users/apple/.pub-cache/hosted/pub.dev/image_picker_windows-0.2.1+1/
+package_info_plus=/Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/
+path_provider=/Users/apple/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
+path_provider_android=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/
+path_provider_foundation=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/
+path_provider_linux=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/
+path_provider_windows=/Users/apple/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/
+shared_preferences=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/
+shared_preferences_android=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/
+shared_preferences_foundation=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/
+shared_preferences_linux=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/
+shared_preferences_web=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/
+shared_preferences_windows=/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/
+sqflite=/Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/
+url_launcher=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher-6.3.1/
+url_launcher_android=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.14/
+url_launcher_ios=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/
+url_launcher_linux=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/
+url_launcher_macos=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/
+url_launcher_web=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/
+url_launcher_windows=/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/
diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies
index 15c365c..8a4ab75 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.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/","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":"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":[]}],"android":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","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.10/","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":"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":[]}],"macos":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","shared_darwin_source":true,"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":"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":[]}],"linux":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","native_build":false,"dependencies":[]},{"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"]}],"windows":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","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":"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"]}],"web":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","dependencies":[]},{"name":"fluttertoast","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/","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":"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":[]}]},"dependencyGraph":[{"name":"connectivity_plus","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":"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":[]}],"date_created":"2025-01-31 19:01:39.021441","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/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/","native_build":true,"dependencies":[]},{"name":"geocoding_ios","path":"/Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/","native_build":true,"dependencies":[]},{"name":"geolocator_apple","path":"/Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/","native_build":true,"dependencies":[]},{"name":"google_maps_flutter_ios","path":"/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2/","native_build":true,"dependencies":[]},{"name":"image_picker_ios","path":"/Users/apple/.pub-cache/hosted/pub.dev/image_picker_ios-0.8.12+2/","native_build":true,"dependencies":[]},{"name":"package_info_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/apple/.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/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.2/","native_build":true,"dependencies":[]}],"android":[{"name":"connectivity_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","native_build":true,"dependencies":[]},{"name":"flutter_plugin_android_lifecycle","path":"/Users/apple/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/","native_build":true,"dependencies":[]},{"name":"fluttertoast","path":"/Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/","native_build":true,"dependencies":[]},{"name":"geocoding_android","path":"/Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/","native_build":true,"dependencies":[]},{"name":"geolocator_android","path":"/Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/","native_build":true,"dependencies":[]},{"name":"google_api_headers","path":"/Users/apple/.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/apple/.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/apple/.pub-cache/hosted/pub.dev/image_picker_android-0.8.12+20/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"package_info_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_android","path":"/Users/apple/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/","native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.14/","native_build":true,"dependencies":[]}],"macos":[{"name":"connectivity_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"file_selector_macos","path":"/Users/apple/.pub-cache/hosted/pub.dev/file_selector_macos-0.9.4+2/","native_build":true,"dependencies":[]},{"name":"geolocator_apple","path":"/Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/","native_build":true,"dependencies":[]},{"name":"image_picker_macos","path":"/Users/apple/.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/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"/Users/apple/.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/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"sqflite","path":"/Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/","native_build":true,"dependencies":[]}],"linux":[{"name":"connectivity_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","native_build":false,"dependencies":[]},{"name":"file_selector_linux","path":"/Users/apple/.pub-cache/hosted/pub.dev/file_selector_linux-0.9.3+2/","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"/Users/apple/.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/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_linux","path":"/Users/apple/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/","native_build":true,"dependencies":[]}],"windows":[{"name":"connectivity_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","native_build":true,"dependencies":[]},{"name":"file_selector_windows","path":"/Users/apple/.pub-cache/hosted/pub.dev/file_selector_windows-0.9.3+3/","native_build":true,"dependencies":[]},{"name":"geolocator_windows","path":"/Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/","native_build":true,"dependencies":[]},{"name":"image_picker_windows","path":"/Users/apple/.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/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","native_build":false,"dependencies":[]},{"name":"path_provider_windows","path":"/Users/apple/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[]},{"name":"shared_preferences_windows","path":"/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"/Users/apple/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/","native_build":true,"dependencies":[]}],"web":[{"name":"connectivity_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","dependencies":[]},{"name":"fluttertoast","path":"/Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/","dependencies":[]},{"name":"geolocator_web","path":"/Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/","dependencies":[]},{"name":"google_maps_flutter_web","path":"/Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10/","dependencies":[]},{"name":"image_picker_for_web","path":"/Users/apple/.pub-cache/hosted/pub.dev/image_picker_for_web-3.0.6/","dependencies":[]},{"name":"package_info_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0/","dependencies":[]},{"name":"shared_preferences_web","path":"/Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2/","dependencies":[]},{"name":"url_launcher_web","path":"/Users/apple/.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_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-03 01:29:17.641210","version":"3.24.3","swift_package_manager_enabled":false}
\ No newline at end of file
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 6741347..d4f94d4 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -7,9 +7,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
@@ -59,4 +72,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/lib/main.dart b/lib/main.dart
index fc52d18..f6d217e 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -3,9 +3,11 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:grocery_app/src/core/network_services/service_locator.dart';
import 'package:grocery_app/src/core/routes/routes.dart';
import 'package:grocery_app/src/logic/provider/addTocart_provider.dart';
+import 'package:grocery_app/src/logic/provider/address_provider.dart';
import 'package:grocery_app/src/logic/provider/auth_provider.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/logic/provider/profile_provider.dart';
import 'package:grocery_app/src/ui/splash/splash_screen.dart';
import 'package:grocery_app/utils/constants/color_constant.dart';
import 'package:grocery_app/utils/constants/string_constant.dart';
@@ -30,21 +32,23 @@ class MyApplication extends StatelessWidget {
splitScreenMode: true,
builder: (context, child) => GlobalLoaderOverlay(
overlayColor: APPCOLOR.whiteFBFEFB.withOpacity(0.5),
+
useDefaultLoading: false,
// overlayWidgetBuilder: (progress) => const GlobalLoader(),
child: MultiProvider(
providers: [
ChangeNotifierProvider(create: (_) => AuthProvider()),
- ChangeNotifierProvider(create: (_) => ProductProvider()),
+ ChangeNotifierProvider(create: (_) => ProductProvider()),
ChangeNotifierProvider(create: (_) => AddtocartProvider()),
- ChangeNotifierProvider(create: (_) => BottomNavProvider()),
- // ChangeNotifierProvider(create: (_) => HomeProvider()),
+ ChangeNotifierProvider(create: (_) => BottomNavProvider()),
+ ChangeNotifierProvider(create: (_) => AddressProvider()),
+ ChangeNotifierProvider(create: (_) => ProfileProvider()),
],
child: MaterialApp.router(
routerConfig: MyRoutes.router,
debugShowCheckedModeBanner: false,
theme: ThemeData(
- colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
+ colorScheme: ColorScheme.fromSeed(seedColor: Colors.lightGreen),
scaffoldBackgroundColor: Colors.white,
canvasColor: const Color.fromRGBO(255, 255, 255, 1),
fontFamily: 'GoogleSans',
diff --git a/lib/src/common_widget/name_text_field.dart b/lib/src/common_widget/name_text_field.dart
index 4ebe6da..f755a10 100644
--- a/lib/src/common_widget/name_text_field.dart
+++ b/lib/src/common_widget/name_text_field.dart
@@ -9,7 +9,8 @@ class NameTextField extends StatelessWidget {
@override
Widget build(BuildContext context) {
- return Container(
+ return
+ Container(
height: 60,
width: MediaQuery.sizeOf(context).width,
decoration: BoxDecoration(border: Border.all(color: APPCOLOR.lightGreen), borderRadius: BorderRadius.circular(15)),
@@ -40,5 +41,7 @@ class NameTextField extends StatelessWidget {
),
),
);
+
+
}
}
diff --git a/lib/src/common_widget/network_image.dart b/lib/src/common_widget/network_image.dart
index 0089ac2..078ca9f 100644
--- a/lib/src/common_widget/network_image.dart
+++ b/lib/src/common_widget/network_image.dart
@@ -60,8 +60,10 @@ class AppNetworkImage extends StatelessWidget {
)),
);
},
- placeholder: (context, url) {
- return Container(
+ placeholder: (context, url)
+ {
+ return
+ Container(
width: width,
height: height,
decoration: BoxDecoration(
@@ -76,6 +78,7 @@ class AppNetworkImage extends StatelessWidget {
),
);
},
+
imageBuilder: (context, cIMage) {
return Container(
width: width,
diff --git a/lib/src/core/constant/api.dart b/lib/src/core/constant/api.dart
index 859e6fa..e1bdd7b 100644
--- a/lib/src/core/constant/api.dart
+++ b/lib/src/core/constant/api.dart
@@ -1,33 +1,36 @@
class APIURL {
static const BASE_URL = "http://210.89.44.183:3333/xam/";
static const String sendOtp = "${BASE_URL}auth/send-otp/customer";
-
static const String verifyOtp = "${BASE_URL}auth/verify-otp/customer";
-
- static const String loginOtp = "${BASE_URL}auth/login/customer";
-
+ static const String loginOtp = "${BASE_URL}auth/login/customer";
static const String login = "${BASE_URL}auth/login/vendor";
static const String customerRegister = "${BASE_URL}auth/register/customer";
static const String getAllProduct = "${BASE_URL}products";
- static const String getProductDetails = "${BASE_URL}products/";
+ static const String getProductDetails = "${BASE_URL}products/";
static const String getBanners = "${BASE_URL}banners";
static const String customerLogOut = "${BASE_URL}auth/logout/customer";
static const String getBestDealProduct = "${BASE_URL}products/best-deals";
static const String getAllcategory = "${BASE_URL}categories";
static const String addToWish = "${BASE_URL}carts/wishlist/items";
- static const String deleteToWish = "${BASE_URL}carts/wishlist/items";
+ static const String deleteToWish = "${BASE_URL}carts/wishlist/items";
static const String addToCart = "${BASE_URL}carts/items";
static const String gettAllWishList = "${BASE_URL}carts/wishlist";
static const String similarProduct = "${BASE_URL}products/";
static const String getItemCards = "${BASE_URL}carts/current";
static const String checkPin = "${BASE_URL}pin-codes/check/";
static const String deleteItem = "${BASE_URL}carts/items/";
-
-
+ static const String userAddress = "${BASE_URL}user/addresses";
+ static const String addAddress = "${BASE_URL}user/addresses";
+ static const String getprofile = "${BASE_URL}user/profile/customer";
+ static const String refresh_token = "${BASE_URL}auth/refresh-token";
+ static const String uploadImage = "${BASE_URL}images/upload";
+ static const String updateProfile = "${BASE_URL}user/profile";
+
+
+
-
- static const String updateStore = "${BASE_URL}stores/";
+
static const String forgetPassword = "${BASE_URL}auth/forgot-password/vendor";
static const String verifyForgetPassword =
"${BASE_URL}auth/forgot-password-verify-otp/vendor";
@@ -36,10 +39,10 @@ class APIURL {
static const String getProduct = "${BASE_URL}products";
static const String getCategoryByLevel = "${BASE_URL}categories/by-level/1";
static const String getMe = "${BASE_URL}auth/me";
- static const String refresh_token = "${BASE_URL}auth/refresh-token";
+
static const String createProduct = "${BASE_URL}products";
- static const String uploadImage = "${BASE_URL}images/upload";
+
static const String deleteProduct = "${BASE_URL}products/";
static const String updateProduct = "${BASE_URL}products/";
}
diff --git a/lib/src/core/routes/routes.dart b/lib/src/core/routes/routes.dart
index ead3c7e..3e11369 100644
--- a/lib/src/core/routes/routes.dart
+++ b/lib/src/core/routes/routes.dart
@@ -4,10 +4,12 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:grocery_app/src/data/allProduct_model.dart';
import 'package:grocery_app/src/ui/bottomnavigation/bottom_bar_widget.dart';
+import 'package:grocery_app/src/ui/coupons/coupons_screen.dart';
import 'package:grocery_app/src/ui/entername/enter_fullname_screen.dart';
import 'package:grocery_app/src/ui/fruitvegidetail/fruit_veggie_detail.dart';
import 'package:grocery_app/src/ui/login/login_screen.dart';
import 'package:grocery_app/src/ui/login/signup_screen.dart';
+import 'package:grocery_app/src/ui/map/add_locations.dart';
import 'package:grocery_app/src/ui/onboarding/on_boarding_screen.dart';
import 'package:grocery_app/src/ui/otp/login_otp.dart';
import 'package:grocery_app/src/ui/otp/otp_screen.dart';
@@ -72,14 +74,16 @@ class MyRoutes {
pageBuilder: (context, state) => const FruitVeggieDetail(),
),
- // animatedGoRoute(
- // path: PRODUCTDETAILS,
- // name: PRODUCTDETAILS,
- // pageBuilder: (context, state)
- // {
- // return const ProductDetails();
- // }
- // ),
+ animatedGoRoute(
+ path: COUPONSSCREEN,
+ name: COUPONSSCREEN,
+ pageBuilder: (context, state) => CouponsScreen(),
+ ),
+ animatedGoRoute(
+ path: ADDRESSS,
+ name: ADDRESSS,
+ pageBuilder: (context, state) => AddLocationAddress(),
+ ),
animatedGoRoute(
path: PRODUCTDETAILS,
@@ -219,44 +223,39 @@ class MyRoutes {
static const FRUITVEGGIEDETAIL = "/FruitVeggieDetail";
static const PRODUCTDETAILS = "/productdetails";
static const LOGINOTPSCREEN = "/loginotpscreen";
-
-
-
- static const SELECTACCOUNT = "/selectAccount";
- static const DASHBOARD = "/dashboard";
-
-
+ static const COUPONSSCREEN = "/CouponsScreen";
+ static const ADDRESSS = "/address";
static const LOGIN = "/login";
static const SIGNUP = "/signup";
-
static const ONBOARDING = "/onboarding";
- static const TERMANDCONDITIONS = "/termsandcondition";
- static const SETUPBUSSINESS = "/setupbussiness";
- static const CREATESTORE = "/createStore";
- static const SUBMITSCREEN = "/submitscreen";
- static const APPROVEDSTATUS = "/approvedstatus";
- static const DASHBOARDSCREEN = "/dashboardscreen";
- static const CUSTOMERORDER = "/customerorder";
+ // static const TERMANDCONDITIONS = "/termsandcondition";
+ // static const SETUPBUSSINESS = "/setupbussiness";
+ // static const CREATESTORE = "/createStore";
+ // static const SUBMITSCREEN = "/submitscreen";
+ // static const APPROVEDSTATUS = "/approvedstatus";
- static const PRODUCTFORMSCREEN = "/productformscreen";
+ // static const DASHBOARDSCREEN = "/dashboardscreen";
+ // static const CUSTOMERORDER = "/customerorder";
- static const TRANSACTIONHISTORY = "/transationhistory";
+ // static const PRODUCTFORMSCREEN = "/productformscreen";
- static const INSIGHTSHISTORY = "/insightshistory";
+ // static const TRANSACTIONHISTORY = "/transationhistory";
- static const DETAILSBUSSINESS = "/detailsbussiness";
+ // static const INSIGHTSHISTORY = "/insightshistory";
- static const STOREMANAGEMENT = "/storemanagement";
+ // static const DETAILSBUSSINESS = "/detailsbussiness";
- static const SETTING = "/settings";
+ // static const STOREMANAGEMENT = "/storemanagement";
- static const FORGETPASSWORD = "/forgetpassword";
- static const VERIFYPASSWORD = "/verifypassword";
+ // static const SETTING = "/settings";
- static const FORGETNEWPASSWORD = "/forgetnewpassword";
+ // static const FORGETPASSWORD = "/forgetpassword";
+ // static const VERIFYPASSWORD = "/verifypassword";
- static const UPDATESTORE = "/updatestore";
+ // static const FORGETNEWPASSWORD = "/forgetnewpassword";
+
+ // static const UPDATESTORE = "/updatestore";
static const OTPSCREEN = "/otpscreen";
}
diff --git a/lib/src/data/address.dart b/lib/src/data/address.dart
new file mode 100644
index 0000000..5a7f3fd
--- /dev/null
+++ b/lib/src/data/address.dart
@@ -0,0 +1,182 @@
+
+
+import 'dart:convert';
+
+AddressResponse addressResponseFromJson(dynamic str) =>
+ AddressResponse.fromJson(json.decode(str));
+
+dynamic addressResponseToJson(AddressResponse data) =>
+ json.encode(data.toJson());
+
+class AddressResponse {
+ List? data;
+ Meta? meta;
+
+ AddressResponse({
+ this.data,
+ this.meta,
+ });
+
+ factory AddressResponse.fromJson(Map json) =>
+ AddressResponse(
+ data: List.from(json["data"].map((x) => Datum.fromJson(x))),
+ meta: Meta.fromJson(json["meta"]),
+ );
+
+ Map toJson() => {
+ "data": List.from(data!.map((x) => x.toJson())),
+ "meta": meta!.toJson(),
+ };
+}
+
+class Datum {
+ dynamic id;
+ dynamic pincode;
+ dynamic phoneNumber;
+ dynamic alternatePhoneNumber;
+ dynamic addressLine;
+ dynamic landmark;
+ dynamic addressType;
+ dynamic city;
+ dynamic district;
+ dynamic name;
+ dynamic state;
+ dynamic country;
+ bool? isDeliverable;
+ bool? isDefault;
+ dynamic additionalInstructions;
+ DateTime? createdAt;
+ DateTime? updatedAt;
+ dynamic userId;
+ User? user;
+
+ Datum({
+ this.id,
+ this.pincode,
+ this.phoneNumber,
+ this.alternatePhoneNumber,
+ this.addressLine,
+ this.landmark,
+ this.addressType,
+ this.city,
+ this.district,
+ this.name,
+ this.state,
+ this.country,
+ this.isDeliverable,
+ this.isDefault,
+ this.additionalInstructions,
+ this.createdAt,
+ this.updatedAt,
+ this.userId,
+ this.user,
+ });
+
+ factory Datum.fromJson(Map json) => Datum(
+ id: json["id"],
+ pincode: json["pincode"],
+ phoneNumber: json["phoneNumber"],
+ alternatePhoneNumber: json["alternatePhoneNumber"],
+ addressLine: json["addressLine"],
+ landmark: json["landmark"],
+ addressType: json["addressType"],
+ city: json["city"],
+ district: json["district"],
+ name: json["name"],
+ state: json["state"],
+ country: json["country"],
+ isDeliverable: json["isDeliverable"],
+ isDefault: json["isDefault"],
+ additionalInstructions: json["additionalInstructions"],
+ createdAt: DateTime.parse(json["createdAt"]),
+ updatedAt: DateTime.parse(json["updatedAt"]),
+ userId: json["userId"],
+ user: User.fromJson(json["user"]),
+ );
+
+ Map toJson() => {
+ "id": id,
+ "pincode": pincode,
+ "phoneNumber": phoneNumber,
+ "alternatePhoneNumber": alternatePhoneNumber,
+ "addressLine": addressLine,
+ "landmark": landmark,
+ "addressType": addressType,
+ "city": city,
+ "district": district,
+ "name": name,
+ "state": state,
+ "country": country,
+ "isDeliverable": isDeliverable,
+ "isDefault": isDefault,
+ "additionalInstructions": additionalInstructions,
+ "createdAt": createdAt,
+ "updatedAt": updatedAt,
+ "userId": userId,
+ "user": user!.toJson(),
+ };
+}
+
+class User {
+ dynamic firstName;
+ dynamic lastName;
+ dynamic email;
+ dynamic phone;
+
+ User({
+ this.firstName,
+ this.lastName,
+ this.email,
+ this.phone,
+ });
+
+ factory User.fromJson(Map json) => User(
+ firstName: json["firstName"],
+ lastName: json["lastName"],
+ email: json["email"],
+ phone: json["phone"],
+ );
+
+ Map toJson() => {
+ "firstName": firstName,
+ "lastName": lastName,
+ "email": email,
+ "phone": phone,
+ };
+}
+
+class Meta {
+ int? total;
+ int? page;
+ int? limit;
+ int? lastPage;
+ bool? hasNextPage;
+ bool? hasPreviousPage;
+
+ Meta({
+ this.total,
+ this.page,
+ this.limit,
+ this.lastPage,
+ this.hasNextPage,
+ this.hasPreviousPage,
+ });
+
+ factory Meta.fromJson(Map json) => Meta(
+ total: json["total"],
+ page: json["page"],
+ limit: json["limit"],
+ lastPage: json["lastPage"],
+ hasNextPage: json["hasNextPage"],
+ hasPreviousPage: json["hasPreviousPage"],
+ );
+
+ Map toJson() => {
+ "total": total,
+ "page": page,
+ "limit": limit,
+ "lastPage": lastPage,
+ "hasNextPage": hasNextPage,
+ "hasPreviousPage": hasPreviousPage,
+ };
+}
diff --git a/lib/src/data/upload_image.dart b/lib/src/data/upload_image.dart
new file mode 100644
index 0000000..188379e
--- /dev/null
+++ b/lib/src/data/upload_image.dart
@@ -0,0 +1,53 @@
+// To parse this JSON data, do
+//
+// final uploadImage = uploadImageFromJson(jsonString);
+
+import 'dart:convert';
+
+UploadImage uploadImageFromJson(String str) => UploadImage.fromJson(json.decode(str));
+
+String uploadImageToJson(UploadImage data) => json.encode(data.toJson());
+
+class UploadImage {
+ int? status;
+ String? message;
+ Image? data;
+
+ UploadImage({
+ this.status,
+ this.message,
+ this.data,
+ });
+
+ factory UploadImage.fromJson(Map json) => UploadImage(
+ status: json["status"],
+ message: json["message"],
+ data: Image.fromJson(json["data"]),
+ );
+
+ Map toJson() => {
+ "status": status,
+ "message": message,
+ "data": data!.toJson(),
+ };
+}
+
+class Image {
+ String? url;
+ String? publicId;
+
+ Image({
+ this.url,
+ this.publicId,
+ });
+
+ factory Image.fromJson(Map json) => Image(
+ url: json["url"],
+ publicId: json["publicId"],
+ );
+
+ Map toJson() => {
+ "url": url,
+ "publicId": publicId,
+ };
+}
diff --git a/lib/src/data/user_profile.dart b/lib/src/data/user_profile.dart
new file mode 100644
index 0000000..9f0b057
--- /dev/null
+++ b/lib/src/data/user_profile.dart
@@ -0,0 +1,110 @@
+// To parse this JSON data, do
+//
+// final userProfile = userProfileFromJson(jsondynamic);
+
+import 'dart:convert';
+
+UserProfile userProfileFromJson(dynamic str) =>
+ UserProfile.fromJson(json.decode(str));
+
+dynamic userProfileToJson(UserProfile data) => json.encode(data.toJson());
+
+class UserProfile {
+ dynamic id;
+ dynamic email;
+ dynamic firstName;
+ dynamic lastName;
+ dynamic name;
+ dynamic img;
+ dynamic authType;
+ dynamic role;
+ dynamic phone;
+ dynamic password;
+ bool? isActive;
+ bool? isPhoneVerified;
+ dynamic vendorType;
+ dynamic businessId;
+ bool? isVendorAccountCreated;
+ bool? isVendorAccountActive;
+ bool? vendorTermsAccepted;
+ DateTime? createdAt;
+ DateTime? updatedAt;
+ dynamic rtHash;
+ dynamic resetToken;
+ dynamic resetTokenExpiresAt;
+
+ UserProfile({
+ this.id,
+ this.email,
+ this.firstName,
+ this.lastName,
+ this.name,
+ this.img,
+ this.authType,
+ this.role,
+ this.phone,
+ this.password,
+ this.isActive,
+ this.isPhoneVerified,
+ this.vendorType,
+ this.businessId,
+ this.isVendorAccountCreated,
+ this.isVendorAccountActive,
+ this.vendorTermsAccepted,
+ this.createdAt,
+ this.updatedAt,
+ this.rtHash,
+ this.resetToken,
+ this.resetTokenExpiresAt,
+ });
+
+ factory UserProfile.fromJson(Map json) => UserProfile(
+ id: json["id"],
+ email: json["email"],
+ firstName: json["firstName"],
+ lastName: json["lastName"],
+ name: json["name"],
+ img: json["img"],
+ authType: json["authType"],
+ role: json["role"],
+ phone: json["phone"],
+ password: json["password"],
+ isActive: json["isActive"],
+ isPhoneVerified: json["isPhoneVerified"],
+ vendorType: json["vendorType"],
+ businessId: json["businessId"],
+ isVendorAccountCreated: json["isVendorAccountCreated"],
+ isVendorAccountActive: json["isVendorAccountActive"],
+ vendorTermsAccepted: json["vendorTermsAccepted"],
+ createdAt: DateTime?.parse(json["createdAt"]),
+ updatedAt: DateTime?.parse(json["updatedAt"]),
+ rtHash: json["rtHash"],
+ resetToken: json["resetToken"],
+ resetTokenExpiresAt: json["resetTokenExpiresAt"],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "email": email,
+ "firstName": firstName,
+ "lastName": lastName,
+ "name": name,
+ "img": img,
+ "authType": authType,
+ "role": role,
+ "phone": phone,
+ "password": password,
+ "isActive": isActive,
+ "isPhoneVerified": isPhoneVerified,
+ "vendorType": vendorType,
+ "businessId": businessId,
+ "isVendorAccountCreated": isVendorAccountCreated,
+ "isVendorAccountActive": isVendorAccountActive,
+ "vendorTermsAccepted": vendorTermsAccepted,
+ "createdAt": createdAt,
+ "updatedAt": updatedAt,
+ "rtHash": rtHash,
+ "resetToken": resetToken,
+ "resetTokenExpiresAt": resetTokenExpiresAt,
+ };
+}
diff --git a/lib/src/data/wish_list_model.dart b/lib/src/data/wish_list_model.dart
index 68405df..4521af3 100644
--- a/lib/src/data/wish_list_model.dart
+++ b/lib/src/data/wish_list_model.dart
@@ -1,3 +1,256 @@
+// // To parse this JSON data, do
+// //
+// // final wishListModel = wishListModelFromJson(jsondynamic);
+
+// import 'dart:convert';
+
+// WishListModel wishListModelFromJson(dynamic str) => WishListModel.fromJson(json.decode(str));
+
+// dynamic wishListModelToJson(WishListModel data) => json.encode(data.toJson());
+
+// class WishListModel {
+// dynamic id;
+// dynamic userId;
+// DateTime?? createdAt;
+// DateTime?? updatedAt;
+// List? items;
+// dynamic? totalItems;
+
+// WishListModel({
+// this.id,
+// this.userId,
+// this.createdAt,
+// this.updatedAt,
+// this.items,
+// this.totalItems,
+// });
+
+// factory WishListModel.fromJson(Map json) => WishListModel(
+// id: json["id"],
+// userId: json["userId"],
+// createdAt: DateTime?.parse(json["createdAt"]),
+// updatedAt: DateTime?.parse(json["updatedAt"]),
+// items: List.from(json["items"].map((x) => WishListItem.fromJson(x))),
+// totalItems: json["totalItems"],
+// );
+
+// Map toJson() => {
+// "id": id,
+// "userId": userId,
+// "createdAt": createdAt,
+// "updatedAt": updatedAt,
+// "items": List.from(items!.map((x) => x.toJson())),
+// "totalItems": totalItems,
+// };
+// }
+
+// class WishListItem {
+// dynamic id;
+// dynamic wishlistId;
+// dynamic productId;
+// dynamic storeId;
+// DateTime?? createdAt;
+// DateTime?? updatedAt;
+// ProductDatum? product;
+// Store? store;
+
+// WishListItem({
+// this.id,
+// this.wishlistId,
+// this.productId,
+// this.storeId,
+// this.createdAt,
+// this.updatedAt,
+// this.product,
+// this.store,
+// });
+
+// factory WishListItem.fromJson(Map json) => WishListItem(
+// id: json["id"],
+// wishlistId: json["wishlistId"],
+// productId: json["productId"],
+// storeId: json["storeId"],
+// createdAt: DateTime?.parse(json["createdAt"]),
+// updatedAt: DateTime?.parse(json["updatedAt"]),
+// product: ProductDatum.fromJson(json["product"]),
+// store: Store.fromJson(json["store"]),
+// );
+
+// Map toJson() => {
+// "id": id,
+// "wishlistId": wishlistId,
+// "productId": productId,
+// "storeId": storeId,
+// "createdAt": createdAt,
+// "updatedAt": updatedAt,
+// "product": product!.toJson(),
+// "store": store!.toJson(),
+// };
+// }
+
+// class ProductDatum {
+// dynamic id;
+// dynamic name;
+// dynamic description;
+// dynamic additionalInfo;
+// dynamic brand;
+// dynamic basePrice;
+// dynamic discountPrice;
+// dynamic stock;
+// dynamic quantity;
+// dynamic unit;
+// dynamic slug;
+// dynamic rating;
+// bool? isInStock;
+// bool? isActive;
+// bool? isInWishlist;
+// DateTime?? createdAt;
+// DateTime?? updatedAt;
+// dynamic storeId;
+// dynamic categoryId;
+// dynamic productTypeId;
+// dynamic timeSlotId;
+
+// ProductDatum({
+// this.id,
+// this.name,
+// this.description,
+// this.additionalInfo,
+// this.brand,
+// this.basePrice,
+// this.discountPrice,
+// this.stock,
+// this.quantity,
+// this.unit,
+// this.slug,
+// this.rating,
+// this.isInStock,
+// this.isActive,
+// this.isInWishlist,
+// this.createdAt,
+// this.updatedAt,
+// this.storeId,
+// this.categoryId,
+// this.productTypeId,
+// this.timeSlotId,
+// });
+
+// factory ProductDatum.fromJson(Map json) => ProductDatum(
+// id: json["id"],
+// name: json["name"],
+// description: json["description"],
+// additionalInfo: json["additionalInfo"],
+// brand: json["brand"],
+// basePrice: json["basePrice"],
+// discountPrice: json["discountPrice"],
+// stock: json["stock"],
+// quantity: json["quantity"],
+// unit: json["unit"],
+// slug: json["slug"],
+// rating: json["rating"],
+// isInStock: json["isInStock"],
+// isActive: json["isActive"],
+// isInWishlist: json["isInWishlist"],
+// createdAt: DateTime?.parse(json["createdAt"]),
+// updatedAt: DateTime?.parse(json["updatedAt"]),
+// storeId: json["storeId"],
+// categoryId: json["categoryId"],
+// productTypeId: json["productTypeId"],
+// timeSlotId: json["timeSlotId"],
+// );
+
+// Map toJson() => {
+// "id": id,
+// "name": name,
+// "description": description,
+// "additionalInfo": additionalInfo,
+// "brand": brand,
+// "basePrice": basePrice,
+// "discountPrice": discountPrice,
+// "stock": stock,
+// "quantity": quantity,
+// "unit": unit,
+// "slug": slug,
+// "rating": rating,
+// "isInStock": isInStock,
+// "isActive": isActive,
+// "isInWishlist": isInWishlist,
+// "createdAt": createdAt,
+// "updatedAt": updatedAt,
+// "storeId": storeId,
+// "categoryId": categoryId,
+// "productTypeId": productTypeId,
+// "timeSlotId": timeSlotId,
+// };
+
+// void add(ProductDatum productDatum) {}
+// }
+
+// class Store {
+// dynamic id;
+// dynamic storeName;
+// dynamic storeDescription;
+// dynamic officialPhoneNumber;
+// dynamic storeAddress;
+// dynamic gstNumber;
+// dynamic gumastaNumber;
+// dynamic storePicture;
+// DateTime?? createdAt;
+// DateTime?? updatedAt;
+// dynamic vendorId;
+// bool? isActive;
+// dynamic couponId;
+
+// Store({
+// this.id,
+// this.storeName,
+// this.storeDescription,
+// this.officialPhoneNumber,
+// this.storeAddress,
+// this.gstNumber,
+// this.gumastaNumber,
+// this.storePicture,
+// this.createdAt,
+// this.updatedAt,
+// this.vendorId,
+// this.isActive,
+// this.couponId,
+// });
+
+// factory Store.fromJson(Map json) => Store(
+// id: json["id"],
+// storeName: json["storeName"],
+// storeDescription: json["storeDescription"],
+// officialPhoneNumber: json["officialPhoneNumber"],
+// storeAddress: json["storeAddress"],
+// gstNumber: json["gstNumber"],
+// gumastaNumber: json["gumastaNumber"],
+// storePicture: json["storePicture"],
+// createdAt: DateTime?.parse(json["createdAt"]),
+// updatedAt: DateTime?.parse(json["updatedAt"]),
+// vendorId: json["vendorId"],
+// isActive: json["isActive"],
+// couponId: json["couponId"],
+// );
+
+// Map toJson() => {
+// "id": id,
+// "storeName": storeName,
+// "storeDescription": storeDescription,
+// "officialPhoneNumber": officialPhoneNumber,
+// "storeAddress": storeAddress,
+// "gstNumber": gstNumber,
+// "gumastaNumber": gumastaNumber,
+// "storePicture": storePicture,
+// "createdAt": createdAt,
+// "updatedAt": updatedAt,
+// "vendorId": vendorId,
+// "isActive": isActive,
+// "couponId": couponId,
+// };
+// }
+
+
// To parse this JSON data, do
//
// final wishListModel = wishListModelFromJson(jsondynamic);
@@ -14,7 +267,7 @@ class WishListModel {
DateTime? createdAt;
DateTime? updatedAt;
List? items;
- dynamic? totalItems;
+ dynamic totalItems;
WishListModel({
this.id,
@@ -28,8 +281,8 @@ class WishListModel {
factory WishListModel.fromJson(Map json) => WishListModel(
id: json["id"],
userId: json["userId"],
- createdAt: DateTime.parse(json["createdAt"]),
- updatedAt: DateTime.parse(json["updatedAt"]),
+ createdAt: DateTime?.parse(json["createdAt"]),
+ updatedAt: DateTime?.parse(json["updatedAt"]),
items: List.from(json["items"].map((x) => WishListItem.fromJson(x))),
totalItems: json["totalItems"],
);
@@ -70,8 +323,8 @@ class WishListItem {
wishlistId: json["wishlistId"],
productId: json["productId"],
storeId: json["storeId"],
- createdAt: DateTime.parse(json["createdAt"]),
- updatedAt: DateTime.parse(json["updatedAt"]),
+ createdAt: DateTime?.parse(json["createdAt"]),
+ updatedAt: DateTime?.parse(json["updatedAt"]),
product: ProductDatum.fromJson(json["product"]),
store: Store.fromJson(json["store"]),
);
@@ -96,20 +349,24 @@ class ProductDatum {
dynamic brand;
dynamic basePrice;
dynamic discountPrice;
- dynamic stock;
- dynamic quantity;
+ dynamic? stock;
+ dynamic? quantity;
dynamic unit;
dynamic slug;
- dynamic rating;
+ dynamic averageRating;
bool? isInStock;
bool? isActive;
- bool? isInWishlist;
DateTime? createdAt;
DateTime? updatedAt;
dynamic storeId;
dynamic categoryId;
dynamic productTypeId;
dynamic timeSlotId;
+ List? productImages;
+ Category? category;
+ List? productTags;
+ List? zones;
+ List? productReview;
ProductDatum({
this.id,
@@ -123,16 +380,20 @@ class ProductDatum {
this.quantity,
this.unit,
this.slug,
- this.rating,
+ this.averageRating,
this.isInStock,
this.isActive,
- this.isInWishlist,
this.createdAt,
this.updatedAt,
this.storeId,
this.categoryId,
this.productTypeId,
this.timeSlotId,
+ this.productImages,
+ this.category,
+ this.productTags,
+ this.zones,
+ this.productReview,
});
factory ProductDatum.fromJson(Map json) => ProductDatum(
@@ -147,16 +408,20 @@ class ProductDatum {
quantity: json["quantity"],
unit: json["unit"],
slug: json["slug"],
- rating: json["rating"],
+ averageRating: json["averageRating"],
isInStock: json["isInStock"],
isActive: json["isActive"],
- isInWishlist: json["isInWishlist"],
- createdAt: DateTime.parse(json["createdAt"]),
- updatedAt: DateTime.parse(json["updatedAt"]),
+ createdAt: DateTime?.parse(json["createdAt"]),
+ updatedAt: DateTime?.parse(json["updatedAt"]),
storeId: json["storeId"],
categoryId: json["categoryId"],
productTypeId: json["productTypeId"],
timeSlotId: json["timeSlotId"],
+ productImages: List.from(json["productImages"].map((x) => ProductImage.fromJson(x))),
+ category: Category.fromJson(json["category"]),
+ productTags: List.from(json["productTags"].map((x) => ProductTag.fromJson(x))),
+ zones: List.from(json["zones"].map((x) => x)),
+ productReview: List.from(json["ProductReview"].map((x) => ProductReview.fromJson(x))),
);
Map toJson() => {
@@ -171,16 +436,204 @@ class ProductDatum {
"quantity": quantity,
"unit": unit,
"slug": slug,
- "rating": rating,
+ "averageRating": averageRating,
"isInStock": isInStock,
"isActive": isActive,
- "isInWishlist": isInWishlist,
"createdAt": createdAt,
"updatedAt": updatedAt,
"storeId": storeId,
"categoryId": categoryId,
"productTypeId": productTypeId,
"timeSlotId": timeSlotId,
+ "productImages": List.from(productImages!.map((x) => x.toJson())),
+ "category": category!.toJson(),
+ "productTags": List.from(productTags!.map((x) => x.toJson())),
+ "zones": List.from(zones!.map((x) => x)),
+ "ProductReview": List.from(productReview!.map((x) => x.toJson())),
+ };
+}
+
+class Category {
+ dynamic id;
+ dynamic name;
+ dynamic description;
+ dynamic image;
+ dynamic slug;
+ dynamic? level;
+ bool? isActive;
+ DateTime? createdAt;
+ DateTime? updatedAt;
+ dynamic parentCategoryId;
+ dynamic path;
+
+ Category({
+ this.id,
+ this.name,
+ this.description,
+ this.image,
+ this.slug,
+ this.level,
+ this.isActive,
+ this.createdAt,
+ this.updatedAt,
+ this.parentCategoryId,
+ this.path,
+ });
+
+ factory Category.fromJson(Map json) => Category(
+ id: json["id"],
+ name: json["name"],
+ description: json["description"],
+ image: json["image"],
+ slug: json["slug"],
+ level: json["level"],
+ isActive: json["isActive"],
+ createdAt: DateTime?.parse(json["createdAt"]),
+ updatedAt: DateTime?.parse(json["updatedAt"]),
+ parentCategoryId: json["parentCategoryId"],
+ path: json["path"],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "name": name,
+ "description": description,
+ "image": image,
+ "slug": slug,
+ "level": level,
+ "isActive": isActive,
+ "createdAt": createdAt,
+ "updatedAt": updatedAt,
+ "parentCategoryId": parentCategoryId,
+ "path": path,
+ };
+}
+
+class ProductImage {
+ dynamic id;
+ dynamic url;
+ bool? isDefault;
+ dynamic productId;
+
+ ProductImage({
+ this.id,
+ this.url,
+ this.isDefault,
+ this.productId,
+ });
+
+ factory ProductImage.fromJson(Map json) => ProductImage(
+ id: json["id"],
+ url: json["url"],
+ isDefault: json["isDefault"],
+ productId: json["productId"],
+ );
+
+ Map toJson() => {
+ "id": id,
+ "url": url,
+ "isDefault": isDefault,
+ "productId": productId,
+ };
+}
+
+class ProductReview {
+ dynamic id;
+ dynamic userId;
+ dynamic productId;
+ dynamic rating;
+ dynamic title;
+ dynamic description;
+ dynamic? likes;
+ dynamic? dislikes;
+ dynamic? helpfulCount;
+ bool? verifiedPurchase;
+ dynamic status;
+ DateTime? createdAt;
+ DateTime? updatedAt;
+
+ ProductReview({
+ this.id,
+ this.userId,
+ this.productId,
+ this.rating,
+ this.title,
+ this.description,
+ this.likes,
+ this.dislikes,
+ this.helpfulCount,
+ this.verifiedPurchase,
+ this.status,
+ this.createdAt,
+ this.updatedAt,
+ });
+
+ factory ProductReview.fromJson(Map json) => ProductReview(
+ id: json["id"],
+ userId: json["userId"],
+ productId: json["productId"],
+ rating: json["rating"],
+ title: json["title"],
+ description: json["description"],
+ likes: json["likes"],
+ dislikes: json["dislikes"],
+ helpfulCount: json["helpfulCount"],
+ verifiedPurchase: json["verifiedPurchase"],
+ status: json["status"],
+ createdAt: DateTime?.parse(json["createdAt"]),
+ updatedAt: DateTime?.parse(json["updatedAt"]),
+ );
+
+ Map toJson() => {
+ "id": id,
+ "userId": userId,
+ "productId": productId,
+ "rating": rating,
+ "title": title,
+ "description": description,
+ "likes": likes,
+ "dislikes": dislikes,
+ "helpfulCount": helpfulCount,
+ "verifiedPurchase": verifiedPurchase,
+ "status": status,
+ "createdAt": createdAt,
+ "updatedAt": updatedAt,
+ };
+}
+
+class ProductTag {
+ dynamic id;
+ dynamic name;
+ dynamic description;
+ bool? isActive;
+ DateTime? createdAt;
+ DateTime? updatedAt;
+
+ ProductTag({
+ this.id,
+ this.name,
+ this.description,
+ this.isActive,
+ this.createdAt,
+ this.updatedAt,
+ });
+
+ factory ProductTag.fromJson(Map json) => ProductTag(
+ id: json["id"],
+ name: json["name"],
+ description: json["description"],
+ isActive: json["isActive"],
+ createdAt: DateTime?.parse(json["createdAt"]),
+ updatedAt: DateTime?.parse(json["updatedAt"]),
+ );
+
+ Map toJson() => {
+ "id": id,
+ "name": name,
+ "description": description,
+ "isActive": isActive,
+ "createdAt": createdAt,
+ "updatedAt": updatedAt,
};
}
@@ -224,8 +677,8 @@ class Store {
gstNumber: json["gstNumber"],
gumastaNumber: json["gumastaNumber"],
storePicture: json["storePicture"],
- createdAt: DateTime.parse(json["createdAt"]),
- updatedAt: DateTime.parse(json["updatedAt"]),
+ createdAt: DateTime?.parse(json["createdAt"]),
+ updatedAt: DateTime?.parse(json["updatedAt"]),
vendorId: json["vendorId"],
isActive: json["isActive"],
couponId: json["couponId"],
diff --git a/lib/src/logic/provider/addTocart_provider.dart b/lib/src/logic/provider/addTocart_provider.dart
index 7209f34..3e71878 100644
--- a/lib/src/logic/provider/addTocart_provider.dart
+++ b/lib/src/logic/provider/addTocart_provider.dart
@@ -1,10 +1,13 @@
import 'dart:convert';
import 'package:flutter/material.dart';
+import 'package:fluttertoast/fluttertoast.dart';
import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
import 'package:grocery_app/src/core/network_services/service_locator.dart';
+import 'package:grocery_app/src/data/address.dart';
import 'package:grocery_app/src/data/all_cart_items.dart';
import 'package:grocery_app/src/logic/repo/product_repo.dart';
+import 'package:grocery_app/utils/extensions/extensions.dart';
import 'package:http/http.dart' as http;
class AddtocartProvider extends ChangeNotifier {
@@ -15,6 +18,7 @@ class AddtocartProvider extends ChangeNotifier {
String get pinCode => _pinCode;
bool get isLoading => _isLoading;
bool get isDeliverable => _isDeliverable;
+ TextEditingController checkPinCode = TextEditingController();
Future getCurrentLocation(BuildContext context) async {
_isLoading = true;
@@ -23,16 +27,6 @@ class AddtocartProvider extends ChangeNotifier {
try {
bool serviceEnabled = await Geolocator.isLocationServiceEnabled();
if (!serviceEnabled) {
- _pinCode = "Location services disabled.";
- _isLoading = false;
- notifyListeners();
-
- return;
- }
-
- LocationPermission permission = await Geolocator.requestPermission();
- if (permission == LocationPermission.denied) {
- _pinCode = "Permission denied.";
_isLoading = false;
notifyListeners();
@@ -52,54 +46,58 @@ class AddtocartProvider extends ChangeNotifier {
if (placemarks.isNotEmpty) {
_pinCode = placemarks.first.postalCode ?? "Unknown";
+ checkPinCode.text = _pinCode;
print("Pincode found: $_pinCode");
// Now check if this pin code is deliverable
await checkPin(context, _pinCode);
} else {
- _pinCode = "Could not fetch pin code.";
+ _pinCode = "unable to current pi code";
print("Error: No placemarks found.");
}
} catch (e) {
- _pinCode = "Error: ${e.toString()}";
+ _pinCode = "unable to current pi code";
print("Error: ${e.toString()}");
}
-
+ _pinCode = "unable to current pi code";
_isLoading = false;
notifyListeners();
}
+ bool ischeckpin = false;
Future checkPin(BuildContext context, pin) async {
+ ischeckpin = true;
+ _pinCode = pin;
+ notifyListeners();
var data = {};
try {
var result = await _homeRepo.checkPin(data, pin);
return result.fold(
(error) {
+ ischeckpin = false;
_isDeliverable = false;
isLoaddcartItem = false;
notifyListeners();
},
(response) {
- print("kdhfgkjfkghkfghkj ${response.isDeliverable!}");
if (response.isDeliverable!) {
_isDeliverable = true;
}
-
+ ischeckpin = false;
isLoaddcartItem = false;
notifyListeners();
},
);
} catch (e) {
+ ischeckpin = false;
_isDeliverable = false;
isLoaddcartItem = false;
notifyListeners();
}
}
-
-
- Map isRemoveItem = {};
+ Map isRemoveItem = {};
Future deleteItem(BuildContext context, id) async {
isRemoveItem[id] = true;
@@ -109,18 +107,17 @@ class AddtocartProvider extends ChangeNotifier {
var result = await _homeRepo.deleteItem(data, id);
return result.fold(
(error) {
-
isRemoveItem[id] = false;
notifyListeners();
},
(response) {
getItemCards(context);
- isRemoveItem[id] = false;
+ isRemoveItem[id] = false;
notifyListeners();
},
);
} catch (e) {
- isRemoveItem[id] = false;
+ isRemoveItem[id] = false;
notifyListeners();
}
@@ -140,12 +137,10 @@ class AddtocartProvider extends ChangeNotifier {
return result.fold(
(error) {
- print("dsjfgkjhkdfgdkjfhg");
isLoaddcartItem = false;
notifyListeners();
},
(response) {
- print("dsjfgkjhkdjsfjkdhfsgfgdkjfhg");
allitem = response!;
isLoaddcartItem = false;
notifyListeners();
@@ -157,4 +152,165 @@ class AddtocartProvider extends ChangeNotifier {
notifyListeners();
}
}
+
+ ///////////////////////////////// address/////////////////////////
+ List addresslist = [];
+
+ Future getAddress(BuildContext context) async {
+ var data = {};
+ try {
+ var result = await _homeRepo.getAddress(data);
+
+ return result.fold(
+ (error) {
+ print("dsjfgkjhkdfgdkjfhg");
+
+ notifyListeners();
+ },
+ (response) {
+ addresslist = response.data!;
+ if (response.data!.isNotEmpty) {
+ _selectedAddress = addresslist.last.id ?? "";
+ } else {
+ _selectedAddress = "";
+ }
+
+ notifyListeners();
+ },
+ );
+ } catch (e) {
+ print("sfddsfdfff");
+
+ notifyListeners();
+ }
+ }
+
+ String _selectedAddress = "";
+
+ String get selectedAddress => _selectedAddress;
+
+ void selectAddress(String address) {
+ _selectedAddress = address;
+ notifyListeners();
+ }
+
+ Set cartItems = {};
+ Map isLoadings = {};
+
+ bool isLoadingCart = false;
+ bool iscardAdded = false;
+
+ Future addToCart(
+ BuildContext context, String productId, int quantity) async {
+ context.showLoader(show: true);
+
+ isLoadingCart = true;
+ isLoadings[productId] = true;
+ notifyListeners();
+
+ var data = {"productId": productId, "quantity": quantity};
+
+ try {
+ var result = await _homeRepo.addToCart(data);
+ context.showLoader(
+ show: false,
+ );
+
+ result.fold(
+ (error) {
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text(error.message),
+ backgroundColor: Colors.red,
+ ),
+ );
+ },
+ (response) async {
+ 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,
+ // );
+ iscardAdded = true;
+ notifyListeners(); // Update UI after adding to cart
+ },
+ );
+ } catch (e) {
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text("Something went wrong"),
+ backgroundColor: Colors.red,
+ ),
+ );
+ } finally {
+ isLoadingCart = false;
+ isLoadings[productId] = false;
+ notifyListeners(); // Ensure UI updates after operation
+ }
+ }
+
+ Future decreaseCartQuantity(
+ BuildContext context, String itemId, int quantity) async {
+ context.showLoader(show: true);
+
+ isLoadingCart = true;
+
+ notifyListeners();
+
+ // var data = {"productId": productId, "quantity": quantity};
+
+ final Map cartData = {
+ "items": [
+ {"itemId": itemId, "quantity": quantity}
+ ]
+ };
+
+ try {
+ var result = await _homeRepo.decreaseQuantity(cartData);
+ context.showLoader(
+ show: false,
+ );
+
+ result.fold(
+ (error) {
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text(error.message),
+ backgroundColor: Colors.red,
+ ),
+ );
+ },
+ (response) async {
+ await getItemCards(context);
+
+ // Fluttertoast.showToast(
+ // msg: "Added to cart successfully!",
+ // toastLength: Toast.LENGTH_SHORT,
+ // gravity: ToastGravity.BOTTOM,
+ // backgroundColor: Colors.green,
+ // textColor: Colors.white,
+ // fontSize: 14.0,
+ // );
+ iscardAdded = true;
+ notifyListeners(); // Update UI after adding to cart
+ },
+ );
+ } catch (e) {
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text("Something went wrong"),
+ backgroundColor: Colors.red,
+ ),
+ );
+ } finally {
+ isLoadingCart = false;
+
+ notifyListeners(); // Ensure UI updates after operation
+ }
+ }
}
diff --git a/lib/src/logic/provider/address_provider.dart b/lib/src/logic/provider/address_provider.dart
new file mode 100644
index 0000000..abd4f73
--- /dev/null
+++ b/lib/src/logic/provider/address_provider.dart
@@ -0,0 +1,74 @@
+import 'package:flutter/material.dart';
+import 'package:grocery_app/src/core/network_services/service_locator.dart';
+import 'package:grocery_app/src/logic/repo/product_repo.dart';
+
+class AddressProvider extends ChangeNotifier {
+ bool ischeckpin = false;
+
+ Future checkPin(BuildContext context, pin) async {
+ final _homeRepo = getIt();
+ ischeckpin = true;
+ notifyListeners();
+ var data = {};
+ try {
+ var result = await _homeRepo.checkPin(data, pin);
+
+ return result.fold(
+ (error) {
+ ischeckpin = false;
+ ischeckpin = false;
+ return false;
+ },
+ (response) {
+ ischeckpin = false;
+ notifyListeners();
+ return true;
+ },
+ );
+ } catch (e) {
+ ischeckpin = false;
+ notifyListeners();
+ return false;
+ }
+ }
+
+ Future addAddress(BuildContext context, name, pincode, phone,
+ alternatePhoneNumber, address, landmark, addresstype) async {
+ ischeckpin = false;
+
+ final _homeRepo = getIt();
+
+ notifyListeners();
+ var data = {
+ "name": name,
+ "pincode": pincode,
+ "phoneNumber": "+91$phone",
+ "alternatePhoneNumber": "+91$alternatePhoneNumber",
+ "addressLine": address,
+ "landmark": landmark,
+ "addressType": addresstype,
+ "isDefault": false,
+ "additionalInstructions": "Please ring doorbell twice"
+ };
+ try {
+ var result = await _homeRepo.addAddress(data);
+
+ return result.fold(
+ (error) {
+ ischeckpin = false;
+
+ return false;
+ },
+ (response) {
+ ischeckpin = false;
+ notifyListeners();
+ return true;
+ },
+ );
+ } catch (e) {
+ ischeckpin = false;
+ notifyListeners();
+ return false;
+ }
+ }
+}
diff --git a/lib/src/logic/provider/bottom_navbar_provider.dart b/lib/src/logic/provider/bottom_navbar_provider.dart
index 082f2e5..35a4610 100644
--- a/lib/src/logic/provider/bottom_navbar_provider.dart
+++ b/lib/src/logic/provider/bottom_navbar_provider.dart
@@ -1,4 +1,8 @@
import 'package:flutter/material.dart';
+import 'package:grocery_app/src/core/network_services/service_locator.dart';
+import 'package:grocery_app/src/data/user_profile.dart';
+import 'package:grocery_app/src/logic/repo/product_repo.dart';
+import 'package:grocery_app/utils/constants/shared_pref_utils.dart';
class BottomNavProvider with ChangeNotifier {
int _currentIndex = 0;
@@ -7,10 +11,58 @@ class BottomNavProvider with ChangeNotifier {
int get currentIndex => _currentIndex;
PageController get pageController => _pageController;
- void setIndex(int index)
- {
+ void setIndex(int index) {
_currentIndex = index;
_pageController.jumpToPage(index);
notifyListeners();
}
+
+ UserProfile allitem = UserProfile();
+ final _homeRepo = getIt();
+ bool isLoading = true;
+
+ Future getProfile(BuildContext context) async {
+ print("kjdkjghdfjglhjdfhgldflghjkldfjgh");
+ isLoading = true;
+ notifyListeners();
+ var data = {};
+ try {
+ var result = await _homeRepo.getProfile(data);
+
+ return result.fold(
+ (error) {
+ isLoading = false;
+ notifyListeners();
+ },
+ (response) async {
+ print("kjdshgkjhdfkjg ${response.firstName}");
+
+ await SharedPrefUtils.saveUser(user: response);
+ allitem = response!;
+ isLoading = false;
+ notifyListeners();
+ },
+ );
+ } catch (e) {
+ isLoading = false;
+ notifyListeners();
+ }
+ }
+
+ Future refreshToken(BuildContext context) async {
+ var data = {"refresh_token": "${await SharedPrefUtils.getRefreshToken()}"};
+
+
+ var result = await _homeRepo.refreshToken(data, context);
+ return result.fold(
+ (error) {
+
+ return true;
+ },
+ (response) {
+
+ return true;
+ },
+ );
+ }
}
diff --git a/lib/src/logic/provider/home_provider.dart b/lib/src/logic/provider/home_provider.dart
index 8f7b689..a57ba9c 100644
--- a/lib/src/logic/provider/home_provider.dart
+++ b/lib/src/logic/provider/home_provider.dart
@@ -46,6 +46,8 @@ class ProductProvider extends ChangeNotifier {
var data = {};
productDetails = ProductDetailsData();
isProductLoading = true;
+ quantitys = 1;
+ _totalPrice = 0.0;
notifyListeners();
var result = await _homeRepo.getProductDetails(data, context, id);
@@ -186,8 +188,6 @@ class ProductProvider extends ChangeNotifier {
// Mock API call
Future addToWish(BuildContext context, String productId) async {
- print("jsdkjfhkdfkg ${productId}");
-
var data = {
"productId": productId,
};
@@ -206,6 +206,7 @@ class ProductProvider extends ChangeNotifier {
return false;
},
(response) {
+ iswishloading = false;
Fluttertoast.showToast(
msg: "Wishlist updated successfully!",
toastLength: Toast.LENGTH_SHORT,
@@ -223,18 +224,24 @@ class ProductProvider extends ChangeNotifier {
}
}
- Set wishlist = {}; // To store product IDs in the wishlist
+ Set wishlist = {};
+
+ bool iswishloading = false;
Future toggleWishlist(BuildContext context, String productId) async {
+ iswishloading = true;
+ notifyListeners();
try {
if (wishlist.contains(productId)) {
wishlist.remove(productId);
+ iswishloading = false;
} else {
var result = await addToWish(context, productId);
- wishlist.add(productId); // Add the product ID to the wishlist
+ wishlist.add(productId);
}
- notifyListeners(); // Notify listeners to update the UI
+ iswishloading = false;
+ notifyListeners();
} catch (e) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
@@ -297,13 +304,16 @@ class ProductProvider extends ChangeNotifier {
Set cartItems = {};
Map isLoading = {};
- Future addToCart(BuildContext context, String productId) async {
- //if (cartItems.contains(productId)) return; // Prevent duplicate additions
+ bool isLoadingCart=false;
+ bool iscardAdded=false;
+ Future addToCart(BuildContext context, String productId,int quantity) async {
+ //if (cartItems.contains(productId)) return; // Prevent duplicate additions
+isLoadingCart=true;
isLoading[productId] = true;
notifyListeners(); // Notify UI to show loading indicator
- var data = {"productId": productId, "quantity": 1};
+ var data = {"productId": productId, "quantity": quantity};
try {
var result = await _homeRepo.addToCart(data);
@@ -327,6 +337,7 @@ class ProductProvider extends ChangeNotifier {
textColor: Colors.white,
fontSize: 14.0,
);
+ iscardAdded=true;
notifyListeners(); // Update UI after adding to cart
},
);
@@ -338,19 +349,20 @@ class ProductProvider extends ChangeNotifier {
),
);
} finally {
+ isLoadingCart=false;
isLoading[productId] = false;
notifyListeners(); // Ensure UI updates after operation
}
}
List countList = [];
+ String lastImageurl = '';
- Future addToWithCart(
- BuildContext context, String productId, BestDeal bestdealproduct) async {
- //if (cartItems.contains(productId)) return; // Prevent duplicate additions
-
+ Future addToWithCart(BuildContext context, String productId,
+ BestDeal bestdealproduct, url) async {
+
isLoading[productId] = true;
- notifyListeners(); // Notify UI to show loading indicator
+ notifyListeners();
var data = {"productId": productId, "quantity": 1};
@@ -368,6 +380,7 @@ class ProductProvider extends ChangeNotifier {
},
(response) {
countList.add(bestdealproduct);
+ lastImageurl = url;
cartItems.add(productId); // Add product to cart
Fluttertoast.showToast(
msg: "Added to cart successfully!",
@@ -393,6 +406,63 @@ class ProductProvider extends ChangeNotifier {
}
}
+
+ List productDatum = [];
+ String productDatumlastImageurl = '';
+
+ Future addToCartWithWishlist(BuildContext context, String productId,ProductDatum productdataum,
+ url) async {
+
+ isLoading[productId] = true;
+ notifyListeners();
+
+ var data = {"productId": productId, "quantity": 1};
+
+ try {
+ var result = await _homeRepo.addToCart(data);
+
+ result.fold(
+ (error) {
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text(error.message),
+ backgroundColor: Colors.red,
+ ),
+ );
+ },
+ (response) {
+ productDatum.add(productdataum);
+ productDatumlastImageurl = url;
+ 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,
+ );
+ notifyListeners(); // Update UI after adding to cart
+ },
+ );
+ } catch (e) {
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text("Something went wrong"),
+ backgroundColor: Colors.red,
+ ),
+ );
+ } finally {
+ isLoading[productId] = false;
+ notifyListeners(); // Ensure UI updates after operation
+ }
+ }
+
+
+
+
+
+
bool isWishListItemLoadingg = true;
List wishListItem = [];
@@ -427,30 +497,69 @@ class ProductProvider extends ChangeNotifier {
}
////////////////////////////// product increase ////////////////////////////////////
- int _quantity = 1;
+ int quantitys = 1;
double _unitPrice = 0.0;
double _totalPrice = 0.0;
- int get quantity => _quantity;
+ int get quantity => quantitys;
double get totalPrice => _totalPrice;
void setProductPrice(double price) {
_unitPrice = price;
- _totalPrice = _unitPrice * _quantity;
+ _totalPrice = _unitPrice * quantitys;
notifyListeners();
}
+ int productQuantity = 0;
+
+ // void increaseQuantity()
+ // {
+ // if(quantity<10)
+ // if (_quantity < 10)
+ // {
+ // // Limit to 10
+ // _quantity++;
+ // _totalPrice = _unitPrice * _quantity;
+ // notifyListeners();
+ // }
+ // {
+ // Fluttertoast.showToast(
+ // msg: "Sorry cart successfully!",
+ // toastLength: Toast.LENGTH_SHORT,
+ // gravity: ToastGravity.BOTTOM,
+ // backgroundColor: Colors.green,
+ // textColor: Colors.white,
+ // fontSize: 14.0,
+ // );
+
+ // }
+ // }
+
void increaseQuantity() {
- print("kjfgkhkdfhgkjdhfg");
- _quantity++;
- _totalPrice = _unitPrice * _quantity;
- notifyListeners();
+ int maxAllowed = productQuantity >= 100
+ ? 10
+ : productQuantity; // Max limit based on stock
+
+ if (quantitys < maxAllowed) {
+ quantitys++;
+ _totalPrice = _unitPrice * quantitys;
+ notifyListeners();
+ } else {
+ Fluttertoast.showToast(
+ msg: "Sorry, you can only add up to $maxAllowed items!",
+ toastLength: Toast.LENGTH_SHORT,
+ gravity: ToastGravity.BOTTOM,
+ backgroundColor: Colors.red,
+ textColor: Colors.white,
+ fontSize: 14.0,
+ );
+ }
}
void decreaseQuantity() {
- if (_quantity > 1) {
- _quantity--;
- _totalPrice = _unitPrice * _quantity;
+ if (quantitys > 1) {
+ quantitys--;
+ _totalPrice = _unitPrice * quantitys;
notifyListeners();
}
}
diff --git a/lib/src/logic/provider/profile_provider.dart b/lib/src/logic/provider/profile_provider.dart
new file mode 100644
index 0000000..5de433a
--- /dev/null
+++ b/lib/src/logic/provider/profile_provider.dart
@@ -0,0 +1,94 @@
+import 'dart:io';
+
+import 'package:flutter/material.dart';
+import 'package:grocery_app/src/core/network_services/service_locator.dart';
+import 'package:grocery_app/src/core/utils/snack_bar.dart';
+import 'package:grocery_app/src/data/user_profile.dart';
+import 'package:grocery_app/src/logic/repo/auth_repo.dart';
+import 'package:grocery_app/src/logic/repo/product_repo.dart';
+import 'package:grocery_app/utils/extensions/extensions.dart';
+
+class ProfileProvider extends ChangeNotifier {
+ bool _isImageLoading = false;
+ bool get isImageLoading => _isImageLoading;
+
+ String _uploadedUrl = '';
+
+ final _productRepo = getIt();
+
+ Future uploadImage(BuildContext context, File? _selectedImage) async {
+ context.showLoader(show: true);
+ _isImageLoading = false;
+ final result = await _productRepo.uploadImage(_selectedImage!);
+ context.showLoader(show: false);
+
+ return result.fold(
+ (error) {
+ _showSnackBar(context, error.message, Colors.red);
+ return false;
+ },
+ (uploadImage) {
+ _isImageLoading = true;
+ _uploadedUrl = uploadImage.data!.url.toString();
+ notifyListeners();
+
+ _showSnackBar(context, "Image uploaxded successfully!", Colors.green);
+ return true;
+ },
+ );
+ }
+
+ void _showSnackBar(BuildContext context, String message, Color color) {
+ showTopSnackBar(context, message, color);
+ }
+
+ Future createStore(
+ BuildContext context, String firstName, String lastName) async {
+ context.showLoader(show: true);
+
+ var data = {
+ "firstName": firstName,
+ "lastName": lastName,
+ "img": _uploadedUrl
+ };
+
+ try {
+ var result = await _productRepo.updateProfile(data);
+
+ context.showLoader(show: false);
+
+ return result.fold(
+ (error) {
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text(error.message),
+ backgroundColor: Colors.red,
+ ),
+ );
+ return false;
+ },
+ (response) {
+ Navigator.pop(context);
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text("Profile updated"),
+ backgroundColor: Colors.green,
+ ),
+ );
+ return true;
+ },
+ );
+ } catch (e)
+ {
+ context.showLoader(show: false);
+
+ ScaffoldMessenger.of(context).showSnackBar(
+ SnackBar(
+ content: Text("Something went wrong. Please try again."),
+ backgroundColor: Colors.red,
+ ),
+ );
+ return false;
+ }
+ }
+}
diff --git a/lib/src/logic/repo/auth_repo.dart b/lib/src/logic/repo/auth_repo.dart
index 2439ad9..4efb1ad 100644
--- a/lib/src/logic/repo/auth_repo.dart
+++ b/lib/src/logic/repo/auth_repo.dart
@@ -7,6 +7,7 @@ import 'package:grocery_app/src/core/utils/response_type_def.dart';
import 'package:grocery_app/src/data/OTPResponseModel.dart';
import 'package:grocery_app/src/data/login_response.dart';
import 'package:grocery_app/src/data/registration_response.dart';
+import 'package:grocery_app/src/data/user_profile.dart';
import 'package:grocery_app/src/data/vendor_otpModel.dart';
import 'package:grocery_app/src/logic/services/auth_service_locator.dart';
import 'package:grocery_app/utils/constants/shared_pref_utils.dart';
@@ -20,7 +21,6 @@ class AuthRepo {
try {
var response = await _authServices.sendOtp(data);
final String model = response.toString();
-
return right(model);
} on DioException catch (e) {
@@ -40,10 +40,10 @@ class AuthRepo {
if (vendorOtpModel.data != null) {
await SharedPrefUtils.setToken(
authToken: vendorOtpModel.data!.accessToken ?? "");
+ await SharedPrefUtils.setRefreshToken(
+ refresh_token: vendorOtpModel.data!.refreshToken ?? "");
}
-
-
return right(vendorOtpModel);
} on DioException catch (e) {
var error = CustomDioExceptions.handleError(e);
@@ -51,16 +51,17 @@ class AuthRepo {
}
}
- FutureResult loginOtp(data) async {
+ FutureResult loginOtp(data) async {
try {
var response = await _authServices.loginOtp(data);
LoginResponse loginResponse = loginResponseFromJson(response.toString());
- if (loginResponse.accessToken != null)
- {
+ if (loginResponse.accessToken != null) {
await SharedPrefUtils.setToken(
authToken: loginResponse.accessToken ?? "");
+ await SharedPrefUtils.setRefreshToken(
+ refresh_token: loginResponse.refreshToken ?? "");
}
// final String model = response.toString();
@@ -119,12 +120,9 @@ class AuthRepo {
await SharedPrefUtils.setToken(
authToken: registrationResponse.accessToken ?? "");
- print("dsfklgjkfgbfgkfdgjkhkfdjg ${registrationResponse.accessToken}");
- // if (response.statCode) {
- // print("dsfklgjkfgbfgkfdgjkhkfdjg");
- // }
-
- final String model = response.toString();
+ await SharedPrefUtils.setRefreshToken(
+ refresh_token: registrationResponse.refreshToken ?? "");
+ final String model = response.toString();
return right(registrationResponse);
} on DioException catch (e) {
var error = CustomDioExceptions.handleError(e);
diff --git a/lib/src/logic/repo/product_repo.dart b/lib/src/logic/repo/product_repo.dart
index b7f2c20..8de14d2 100644
--- a/lib/src/logic/repo/product_repo.dart
+++ b/lib/src/logic/repo/product_repo.dart
@@ -1,18 +1,27 @@
+import 'dart:io';
+
import 'package:dio/dio.dart';
import 'package:flutter/material.dart';
import 'package:fpdart/fpdart.dart';
+import 'package:grocery_app/src/core/routes/routes.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/address.dart';
import 'package:grocery_app/src/data/allProduct_model.dart';
import 'package:grocery_app/src/data/all_cart_items.dart';
import 'package:grocery_app/src/data/banners.dart';
import 'package:grocery_app/src/data/best_dealProduct.dart';
import 'package:grocery_app/src/data/check_pin_response.dart';
+import 'package:grocery_app/src/data/login_response.dart';
import 'package:grocery_app/src/data/product_category.dart';
import 'package:grocery_app/src/data/product_details.dart';
+import 'package:grocery_app/src/data/upload_image.dart';
+import 'package:grocery_app/src/data/user_profile.dart';
import 'package:grocery_app/src/data/wish_list_model.dart';
import 'package:grocery_app/src/logic/services/home_locator.dart';
import 'package:grocery_app/src/ui/productdetails/product_details.dart';
+import 'package:grocery_app/utils/constants/shared_pref_utils.dart';
+import 'package:grocery_app/utils/extensions/extensions.dart';
class ProductRepo {
final ProductService _productService;
@@ -36,12 +45,13 @@ class ProductRepo {
}
}
- FutureResult getProductDetails(
+ FutureResult getProductDetails(
data, BuildContext context, id) async {
try {
var response = await _productService.getProductDetails(data, id);
- ProductDetailsData loginResponse = productDetailsdataFromJson(response.toString());
+ ProductDetailsData loginResponse =
+ productDetailsdataFromJson(response.toString());
final String model = response.toString();
@@ -52,8 +62,6 @@ class ProductRepo {
}
}
-
-
FutureResult getBestDealProduct(
data, BuildContext context) async {
try {
@@ -112,8 +120,19 @@ class ProductRepo {
var response = await _productService.getItemCards(data);
AllCartItems allCartItems = allCartItemsFromJson(response.toString());
+ return right(allCartItems);
+ } on DioException catch (e) {
+ var error = CustomDioExceptions.handleError(e);
+ return left(error);
+ }
+ }
- print("jdfgjkdf${allCartItems}");
+ FutureResult getAddress(data) async {
+ try {
+ var response = await _productService.getAddress(data);
+
+ AddressResponse allCartItems =
+ addressResponseFromJson(response.toString());
return right(allCartItems);
} on DioException catch (e) {
@@ -123,6 +142,47 @@ class ProductRepo {
}
}
+ FutureResult getProfile(data) async {
+ try {
+ var response = await _productService.getProfile(data);
+
+ print("kdjfgkljfdkjlghflkgjh ${response}");
+ UserProfile userProfile = userProfileFromJson(response.toString());
+ print("kdjfgkljfdkjlghflkgjhrerrrerr ${userProfile.createdAt}");
+ return right(userProfile);
+ } on DioException catch (e) {
+ var error = CustomDioExceptions.handleError(e);
+ return left(error);
+ }
+ }
+FutureResult updateProfile(data) async {
+ try {
+ var response = await _productService.updateProfile(data);
+
+ print("kdjfgkljfdkjlghflkgjh ${response}");
+ final String model = response.toString();
+ return right(model);
+ } on DioException catch (e) {
+ var error = CustomDioExceptions.handleError(e);
+ return left(error);
+ }
+ }
+
+
+
+ FutureResult uploadImage(File imageFile)
+ async {
+ try {
+ final response = await _productService.uploadImage(imageFile);
+ UploadImage upload=uploadImageFromJson(response.toString());
+ return right(upload);
+ } on DioException catch (e) {
+ final error = CustomDioExceptions.handleError(e);
+ return left(error);
+ }
+ }
+
+
FutureResult checkPin(data, pin) async {
try {
var response = await _productService.checkPin(data, pin);
@@ -148,6 +208,20 @@ class ProductRepo {
}
}
+ FutureResult addAddress(data) async {
+ try {
+ var response = await _productService.addAddress(data);
+
+ final String model = response.toString();
+
+ return right(model);
+ } on DioException catch (e) {
+ print("djhgfjdfhjg ${e}");
+ var error = CustomDioExceptions.handleError(e);
+ return left(error);
+ }
+ }
+
FutureResult addToWish(data) async {
try {
var response = await _productService.addToWish(data);
@@ -175,6 +249,22 @@ class ProductRepo {
return left(error);
}
}
+FutureResult decreaseQuantity(data) async {
+ try {
+ var response = await _productService.decreaseQuantity(data);
+
+ final String model = response.toString();
+
+ return right(model);
+ } on DioException catch (e) {
+ print("djhgfjdfhjg ${e}");
+ var error = CustomDioExceptions.handleError(e);
+ return left(error);
+ }
+ }
+
+
+
FutureResult gettAllWishList(data) async {
try {
@@ -221,6 +311,32 @@ class ProductRepo {
}
}
+ FutureResult refreshToken(data, BuildContext context) async {
+ try {
+ var response = await _productService.refresh_token(data);
+ LoginResponse loginResponse = loginResponseFromJson(response.toString());
+
+ if (loginResponse.accessToken != null)
+ {
+
+ await SharedPrefUtils.setToken(
+ authToken: loginResponse.accessToken ?? "");
+ await SharedPrefUtils.setRefreshToken(
+ refresh_token: loginResponse.refreshToken ?? "");
+ }
+
+ final String model = response.toString();
+
+ return right(model);
+ } on DioException catch (e)
+ {
+
+
+ var error = CustomDioExceptions.handleError(e);
+ return left(error);
+ }
+ }
+
// FutureResult getMe(data) async {
// try {
// var response = await _homeService.getMe(data);
diff --git a/lib/src/logic/services/auth_service_locator.dart b/lib/src/logic/services/auth_service_locator.dart
index 54614ce..6889a19 100644
--- a/lib/src/logic/services/auth_service_locator.dart
+++ b/lib/src/logic/services/auth_service_locator.dart
@@ -1,82 +1,58 @@
-
import 'dart:convert';
import 'package:dio/dio.dart';
import 'package:grocery_app/src/core/constant/api.dart';
import 'package:grocery_app/src/core/network_services/api_services.dart';
-
-
class AuthServices extends ApiService {
/// Login
- Future sendOtp(data) async
- {
+ Future sendOtp(data) async {
var response = await api.post(APIURL.sendOtp, data: jsonEncode(data));
return response;
}
-
-
-
-
- Future verifyOtp(data) async {
+ Future verifyOtp(data) async {
var response = await api.post(APIURL.verifyOtp, data: jsonEncode(data));
return response;
}
- Future loginOtp(data) async {
+
+ Future loginOtp(data) async {
var response = await api.post(APIURL.loginOtp, data: jsonEncode(data));
return response;
}
-
- Future login(data) async
- {
+ Future login(data) async {
var response = await api.post(APIURL.login, data: jsonEncode(data));
//response.statusCode
-
- return response;
- }
-
-
-
-
- Future userRegister(data) async
- {
- var response = await api.post(APIURL.customerRegister, data: jsonEncode(data));
- return response;
- }
-
-
-
-
- Future forgetPassword(data) async
- {
- var response = await api.post(APIURL.forgetPassword, data: jsonEncode(data));
- return response;
- }
-
- Future verifyForgetPassword(data) async
- {
- var response = await api.post(APIURL.verifyForgetPassword, data: jsonEncode(data));
- return response;
- }
-
-
- Future reset_password(data) async
- {
- var response = await api.post(APIURL.reset_password, data: jsonEncode(data));
return response;
}
+ Future userRegister(data) async {
+ var response =
+ await api.post(APIURL.customerRegister, data: jsonEncode(data));
+ return response;
+ }
-
+ Future forgetPassword(data) async {
+ var response =
+ await api.post(APIURL.forgetPassword, data: jsonEncode(data));
+ return response;
+ }
+ Future verifyForgetPassword(data) async {
+ var response =
+ await api.post(APIURL.verifyForgetPassword, data: jsonEncode(data));
+ return response;
+ }
-
-
+ Future reset_password(data) async {
+ var response =
+ await api.post(APIURL.reset_password, data: jsonEncode(data));
+ return response;
+ }
/// Login
// Future profileUpdate(data) async {
diff --git a/lib/src/logic/services/home_locator.dart b/lib/src/logic/services/home_locator.dart
index d88c6d0..38abea6 100644
--- a/lib/src/logic/services/home_locator.dart
+++ b/lib/src/logic/services/home_locator.dart
@@ -1,5 +1,7 @@
import 'dart:convert';
+import 'dart:io';
+import 'package:dio/dio.dart';
import 'package:grocery_app/src/core/constant/api.dart';
import 'package:grocery_app/src/core/network_services/api_services.dart';
@@ -76,7 +78,39 @@ class ProductService extends ApiService {
await api.delete(APIURL.deleteItem + id, data: jsonEncode(data));
return response;
}
+ Future addAddress(data) async {
+ var response = await api.post(APIURL.addAddress, data: jsonEncode(data));
+ return response;
+ }
+
+ Future getProfile(data) async {
+ var response = await api.get(APIURL.getprofile, data: jsonEncode(data));
+ return response;
+ }
+ Future updateProfile(data) async {
+ var response = await api.patch(APIURL.updateProfile, data: jsonEncode(data));
+ return response;
+ }
+
+
+ Future uploadImage(File imageFile,
+ {Map? additionalFields}) async {
+ const String url = APIURL.uploadImage;
+ return await api.uploadImage(
+ url,
+ imageFile,
+ additionalFields: additionalFields,
+ );
+ }
+
+
+ Future getAddress
+ (data) async {
+ var response =
+ await api.get(APIURL.userAddress, data: jsonEncode(data));
+ return response;
+ }
Future addToWish(data) async {
var response = await api.post(APIURL.addToWish, data: jsonEncode(data));
@@ -89,6 +123,12 @@ class ProductService extends ApiService {
return response;
}
+ Future decreaseQuantity(data) async {
+ var response = await api.patch(APIURL.addToCart, data: jsonEncode(data));
+
+ return response;
+ }
+
Future gettAllWishList(data) async {
var response =
await api.get(APIURL.gettAllWishList, data: jsonEncode(data));
diff --git a/lib/src/ui/bestdeal/bestdeal_screen.dart b/lib/src/ui/bestdeal/bestdeal_screen.dart
index fd33ae1..d55dbb0 100644
--- a/lib/src/ui/bestdeal/bestdeal_screen.dart
+++ b/lib/src/ui/bestdeal/bestdeal_screen.dart
@@ -62,14 +62,21 @@ class _BestDealScreenState extends State {
],
),
floatingActionButton: floatingAction(),
- body: itemBestdeal());
+ body: Padding(
+ padding: const EdgeInsets.only(bottom: 100),
+ child: itemBestdeal(),
+ ));
}
- Widget floatingAction() {
- return Consumer(builder: (context, provider, child) {
- if (provider.countList.isEmpty) {
+ Widget floatingAction()
+ {
+ return Consumer(builder: (context, provider, child)
+ {
+ if (provider.countList.isEmpty)
+ {
return Center();
- } else {
+ } else
+ {
return Padding(
padding: const EdgeInsets.only(left: 30),
child: Container(
@@ -93,7 +100,7 @@ class _BestDealScreenState extends State {
color: Colors.white.withOpacity(0.5),
borderRadius: BorderRadius.circular(10)),
),
- const Positioned(
+ Positioned(
left: 20,
bottom: 0,
top: 0,
@@ -102,7 +109,7 @@ class _BestDealScreenState extends State {
height: 70,
width: 70,
radius: 10,
- imageUrl:
+ imageUrl: provider.lastImageurl ??
"https://5.imimg.com/data5/SELLER/Default/2024/2/385126988/OL/DA/VW/8627346/1l-fortune-sunflower-oil.jpg",
backGroundColor: Colors.white,
),
@@ -113,15 +120,12 @@ class _BestDealScreenState extends State {
const SizedBox(
width: 10,
),
- Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.spaceBetween,
- children: [
- Text(
- provider.countList.length.toString(),
- style: context.customRegular(Colors.white, 18),
- ),
- ],
+ Text(
+ provider.countList.length.toString(),
+ style: context.customRegular(
+ Colors.white,
+ 29,
+ ),
),
const Spacer(),
InkWell(
@@ -306,8 +310,12 @@ class _BestDealScreenState extends State {
onTap: () async {
if (await SharedPrefUtils.getToken() !=
null) {
- await provider.addToWithCart(context,
- bestdealproduct.id!, bestdealproduct);
+ await provider.addToWithCart(
+ context,
+ bestdealproduct.id!,
+ bestdealproduct,
+ bestdealproduct
+ .productImages?.first.url);
} else {
context.push(MyRoutes.SIGNUP);
}
diff --git a/lib/src/ui/bottomnavigation/bottom_bar_widget.dart b/lib/src/ui/bottomnavigation/bottom_bar_widget.dart
index 3debc83..d3b9b35 100644
--- a/lib/src/ui/bottomnavigation/bottom_bar_widget.dart
+++ b/lib/src/ui/bottomnavigation/bottom_bar_widget.dart
@@ -3,6 +3,7 @@
import 'package:flutter/material.dart';
import 'package:geolocator/geolocator.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/cart/cartview_screen.dart';
import 'package:grocery_app/src/ui/favourite/favourite_screen.dart';
import 'package:grocery_app/src/ui/header.dart';
@@ -38,6 +39,7 @@ class _BottomBarState extends State {
@override
void initState() {
+ Provider.of(context, listen: false).getProfile(context);
_currentIndex = 0;
bottomWidgetPageController = PageController(
initialPage: 0,
diff --git a/lib/src/ui/cart/cartview_screen.dart b/lib/src/ui/cart/cartview_screen.dart
index 8566b20..51e7127 100644
--- a/lib/src/ui/cart/cartview_screen.dart
+++ b/lib/src/ui/cart/cartview_screen.dart
@@ -3,10 +3,14 @@ import 'package:flutter/widgets.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:flutter_svg/svg.dart';
+import 'package:fluttertoast/fluttertoast.dart';
import 'package:gap/gap.dart';
+import 'package:go_router/go_router.dart';
import 'package:grocery_app/src/common_widget/network_image.dart';
import 'package:grocery_app/src/common_widget/textfield_widget.dart';
+import 'package:grocery_app/src/core/routes/routes.dart';
import 'package:grocery_app/src/logic/provider/addTocart_provider.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/bestdeal/bestdeal_screen.dart';
@@ -14,11 +18,13 @@ import 'package:grocery_app/src/ui/widgets/custom_icon_button.dart';
import 'package:grocery_app/src/ui/widgets/elevated_button.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';
import 'package:grocery_app/utils/constants/string_constant.dart';
import 'package:grocery_app/utils/extensions/extensions.dart';
import 'package:grocery_app/utils/extensions/uicontext.dart';
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
import 'package:provider/provider.dart';
+import 'package:skeletonizer/skeletonizer.dart';
class Mycart extends StatefulWidget {
const Mycart({super.key});
@@ -35,6 +41,7 @@ class _MycartState extends State {
Provider.of(context, listen: false)
.getCurrentLocation(context);
+ Provider.of(context, listen: false).getAddress(context);
super.initState();
}
@@ -84,151 +91,346 @@ class _MycartState extends State {
}
Widget relatedProduct() {
- return SizedBox(
- height: 222,
- child: ListView.builder(
- itemCount: 5,
- scrollDirection: Axis.horizontal,
- itemBuilder: (context, index) {
- return Padding(
- padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),
- child: Container(
- height: 215,
- width: 150,
- decoration: BoxDecoration(
- color: Colors.white,
- borderRadius: BorderRadius.circular(15),
- boxShadow: [
- BoxShadow(
- color: Colors.grey.withOpacity(0.1),
- blurRadius: 1,
- offset: const Offset(5, 5),
+ return Consumer(builder: (context, provider, child) {
+ if (provider.isBestdealingloading) {
+ return Center(child: CircularProgressIndicator());
+ } else if (provider.bestdeal.isEmpty) {
+ return Center(child: Text('No products available'));
+ } else {
+ return SizedBox(
+ height: MediaQuery.of(context).size.height * 0.28,
+ child: ListView.builder(
+ itemCount: provider.bestdeal.length,
+ scrollDirection: Axis.horizontal,
+ itemBuilder: (context, index) {
+ var bestdealproduct = provider.bestdeal[index];
+ double cardWidth =
+ MediaQuery.of(context).size.width * 0.4; // Dynamic width
+
+ return InkWell(
+ onTap: () {
+ context.push(MyRoutes.PRODUCTDETAILS,
+ extra: bestdealproduct.id);
+ },
+ child: Padding(
+ padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),
+ child: Container(
+ width: cardWidth,
+ decoration: BoxDecoration(
+ color: Colors.white,
+ borderRadius: BorderRadius.circular(15),
+ boxShadow: [
+ BoxShadow(
+ color: Colors.grey.withOpacity(0.1),
+ blurRadius: 1,
+ offset: const Offset(5, 5),
+ ),
+ ],
),
- ]),
- child: Padding(
- padding: const EdgeInsets.all(5),
- child: Column(
- crossAxisAlignment: CrossAxisAlignment.start,
- children: [
- Container(
- height: 100,
- width: 150,
- decoration: BoxDecoration(
- color: APPCOLOR.bgGrey,
- borderRadius: BorderRadius.circular(15)),
- child: const Stack(
- alignment: Alignment.center,
+ child: Padding(
+ padding: const EdgeInsets.all(5),
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
children: [
- AppNetworkImage(
- height: 70,
- width: 70,
- imageUrl:
- "https://5.imimg.com/data5/SELLER/Default/2024/2/385126988/OL/DA/VW/8627346/1l-fortune-sunflower-oil.jpg",
- backGroundColor: Colors.transparent),
- Positioned(
- right: 5,
- top: 5,
- child: Icon(Icons.favorite_border))
+ Center(
+ child: Container(
+ height: MediaQuery.of(context).size.height * 0.12,
+ width: cardWidth * 0.9,
+ decoration: BoxDecoration(
+ color: APPCOLOR.bgGrey,
+ borderRadius: BorderRadius.circular(15),
+ ),
+ child: Stack(
+ alignment: Alignment.center,
+ children: [
+ AppNetworkImage(
+ height: MediaQuery.of(context).size.height *
+ 0.08,
+ width: cardWidth * 0.7,
+ imageUrl: bestdealproduct
+ .productImages?.first?.url ??
+ "",
+ backGroundColor: Colors.transparent,
+ ),
+ // Positioned(
+ // right: 5,
+ // top: 5,
+ // child: InkWell(
+ // onTap: () async {
+ // if (await SharedPrefUtils.getToken() !=
+ // null) {
+ // provider.toggleWishlist(
+ // context, bestdealproduct.id!);
+ // } else {
+ // context.push(MyRoutes.LOGIN);
+ // }
+ // },
+ // child: Icon(
+ // provider.wishlist
+ // .contains(bestdealproduct.id)
+ // ? Icons.favorite
+ // : Icons.favorite_border,
+ // color: provider.wishlist
+ // .contains(bestdealproduct.id)
+ // ? Colors.red
+ // : Colors.grey,
+ // ),
+ // ),
+ // ),
+ ],
+ ),
+ ),
+ ),
+ SizedBox(
+ height: MediaQuery.of(context).size.height * 0.01,
+ ),
+ Text(
+ bestdealproduct.name ?? "",
+ textAlign: TextAlign.left,
+ maxLines: 2,
+ overflow: TextOverflow.ellipsis,
+ style:
+ context.customMedium(APPCOLOR.balck1A1A1A, 14),
+ ),
+ SizedBox(
+ height: MediaQuery.of(context).size.height * 0.005,
+ ),
+ Text(
+ bestdealproduct.unit ?? "",
+ textAlign: TextAlign.left,
+ maxLines: 1,
+ overflow: TextOverflow.ellipsis,
+ style: context.customMedium(
+ Colors.grey.withOpacity(0.8),
+ 12,
+ ),
+ ),
+ SizedBox(
+ height: MediaQuery.of(context).size.height * 0.005,
+ ),
+ const Spacer(),
+ Row(
+ children: [
+ Row(
+ children: [
+ Text(
+ "\$${bestdealproduct.discountPrice ?? ""} ",
+ textAlign: TextAlign.left,
+ maxLines: 1,
+ overflow: TextOverflow.ellipsis,
+ style: context.customSemiBold(
+ Colors.black, 12),
+ ),
+ Text(
+ "\$${bestdealproduct.basePrice ?? ""}",
+ textAlign: TextAlign.left,
+ maxLines: 1,
+ overflow: TextOverflow.ellipsis,
+ style: context
+ .customMedium(
+ Colors.grey.withOpacity(0.8),
+ 12,
+ )
+ .copyWith(
+ decoration:
+ TextDecoration.lineThrough,
+ ),
+ ),
+ ],
+ ),
+ const Spacer(),
+ Align(
+ alignment: Alignment.centerRight,
+ child: GestureDetector(
+ onTap: () async {
+ if (await SharedPrefUtils.getToken() !=
+ null) {
+ await provider.addToCart(
+ context, bestdealproduct.id!, 1);
+
+ context
+ .read()
+ .getItemCards(context);
+ } else {
+ context.push(MyRoutes.SIGNUP);
+ }
+ },
+ child: Container(
+ height: MediaQuery.of(context).size.height *
+ 0.035,
+ width:
+ MediaQuery.of(context).size.width * 0.1,
+ decoration: BoxDecoration(
+ color: APPCOLOR.lightGreen,
+ borderRadius: BorderRadius.circular(5),
+ ),
+ child: Center(
+ child: provider.isLoading[
+ bestdealproduct.id] ??
+ false
+ ? Padding(
+ padding:
+ const EdgeInsets.all(8.0),
+ child: Container(
+ height: 10,
+ width: 10,
+ child:
+ CircularProgressIndicator(
+ color: Colors.white,
+ strokeWidth: 2),
+ ),
+ )
+ : Text(
+ 'Add',
+ style: context.customRegular(
+ Colors.white, 12),
+ ),
+ ),
+ ),
+ ),
+ ),
+ ],
+ ),
],
),
),
- Text(
- "Fortune Arhar Dal (Toor Dal)",
- textAlign: TextAlign.left,
- maxLines: 2,
- overflow: TextOverflow.ellipsis,
- style: context.customMedium(APPCOLOR.balck1A1A1A, 14),
- ),
- const SizedBox(
- height: 5,
- ),
- Text(
- "500 ML",
- textAlign: TextAlign.left,
- maxLines: 1,
- overflow: TextOverflow.ellipsis,
- style: context.customMedium(
- Colors.grey.withOpacity(0.8), 12),
- ),
- const SizedBox(
- height: 3,
- ),
- Row(
- children: [
- Expanded(
- child: Row(
- children: [
- Text(
- "\$12",
- textAlign: TextAlign.left,
- maxLines: 1,
- overflow: TextOverflow.ellipsis,
- style: context.customSemiBold(Colors.black, 12),
- ),
- const SizedBox(
- width: 5,
- ),
- Text(
- "\$14",
- textAlign: TextAlign.left,
- maxLines: 1,
- overflow: TextOverflow.ellipsis,
- style: context
- .customMedium(
- Colors.grey.withOpacity(0.8), 12)
- .copyWith(
- decoration: TextDecoration.lineThrough,
- ),
- ),
- ],
- )),
- Expanded(
- child: Align(
- alignment: Alignment.centerRight,
- child: Container(
- height: 30,
- width: 50,
- decoration: BoxDecoration(
- color: APPCOLOR.lightGreen,
- borderRadius: BorderRadius.circular(5),
- ),
- child: Center(
- child: Text(
- 'Add',
- style: context.customRegular(Colors.white, 12),
- )),
- ),
- ),
- )
- ],
- ),
- ],
+ ),
),
- ),
- ),
- );
- },
- ),
- );
+ );
+ },
+ ),
+ );
+ }
+ });
+ }
+
+ double calculateDiscountPercentage(double basePrice, double discountPrice) {
+ print(
+ "Base Price (Before Discount): $basePrice, Discount Price (After Discount): $discountPrice");
+
+ if (basePrice <= 0 || discountPrice <= 0 || discountPrice > basePrice) {
+ print("Error: Invalid price values.");
+ return 0;
+ }
+
+ double discountAmount = basePrice - discountPrice;
+ double discountPercentage = (discountAmount / basePrice) * 100;
+
+ return discountPercentage;
}
Widget cartItems() {
return Consumer(builder: (context, provider, child) {
if (provider.isLoaddcartItem) {
- return Center(
- child: CircularProgressIndicator(
- color: Colors.green,
+ return Skeletonizer(
+ enabled: provider.isLoaddcartItem,
+ child: ListView.separated(
+ shrinkWrap: true,
+ physics: NeverScrollableScrollPhysics(),
+ separatorBuilder: (_, index) => Padding(
+ padding: EdgeInsets.only(top: 12.h, bottom: 24.h),
+ child: const Divider(thickness: 1),
+ ),
+ itemCount: 3, // Display 3 skeleton items
+ itemBuilder: (context, index) {
+ return Padding(
+ padding: EdgeInsets.symmetric(horizontal: 10.w),
+ child: Row(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ width: 60.w,
+ height: 70.h,
+ decoration: BoxDecoration(
+ color: Colors.grey[300],
+ borderRadius: BorderRadius.circular(10),
+ ),
+ ),
+ 16.horizontalSpace,
+ Container(
+ width: 150.w,
+ child: Column(
+ crossAxisAlignment: CrossAxisAlignment.start,
+ children: [
+ Container(
+ width: 120.w,
+ height: 14.h,
+ color: Colors.grey[300],
+ ),
+ 5.verticalSpace,
+ Container(
+ width: 80.w,
+ height: 14.h,
+ color: Colors.grey[300],
+ ),
+ 5.verticalSpace,
+ Row(
+ children: [
+ Container(
+ width: 40.w,
+ height: 14.h,
+ color: Colors.grey[300],
+ ),
+ 10.horizontalSpace,
+ Container(
+ width: 40.w,
+ height: 14.h,
+ color: Colors.grey[300],
+ ),
+ ],
+ ),
+ ],
+ ),
+ ),
+ const Spacer(),
+ Column(
+ children: [
+ Row(
+ children: [
+ Container(
+ width: 14.w,
+ height: 14.h,
+ color: Colors.grey[300],
+ ),
+ 5.horizontalSpace,
+ Container(
+ width: 14.w,
+ height: 14.h,
+ color: Colors.grey[300],
+ ),
+ 5.horizontalSpace,
+ Container(
+ width: 14.w,
+ height: 14.h,
+ color: Colors.grey[300],
+ ),
+ ],
+ ),
+ Gap(20),
+ Container(
+ height: 25,
+ width: 70,
+ decoration: BoxDecoration(
+ borderRadius: BorderRadius.all(Radius.circular(10)),
+ color: Colors.grey[300],
+ ),
+ ),
+ ],
+ )
+ ],
+ ),
+ );
+ },
),
);
- } else if (provider.allitem == null) {
- return Center(child: Text('🛒 Your Front Shop Cart is empty'));
- } else if (provider.allitem.items == null ||
+ } else if (provider.allitem == null ||
+ provider.allitem.items == null ||
provider.allitem.items!.isEmpty) {
return Center(child: Text('🛒 Your Front Shop Cart is empty'));
} else {
return ListView.separated(
- shrinkWrap: true, // Prevents internal scrolling
- physics: NeverScrollableScrollPhysics(), // Disables inner scroll
+ shrinkWrap: true,
+ physics: NeverScrollableScrollPhysics(),
separatorBuilder: (_, index) => Padding(
padding: EdgeInsets.only(top: 12.h, bottom: 24.h),
child: const Divider(thickness: 1),
@@ -255,14 +457,11 @@ class _MycartState extends State {
radius: 10,
),
),
- // Image.asset(product.image, width: 50.w, height: 40.h),
-
16.horizontalSpace,
Container(
width: 150.w,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
- mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
items.product!.name ?? "",
@@ -298,13 +497,25 @@ class _MycartState extends State {
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)),
+ ),
],
),
],
),
),
const Spacer(),
-
Column(
children: [
Row(
@@ -312,8 +523,13 @@ class _MycartState extends State {
CustomIconButton(
width: 14.w,
height: 14.h,
- onPressed: () {
- // provider.decreaseQuantity(items);
+ onPressed: () async {
+ if (items.quantity! > 1) {
+ await provider.decreaseCartQuantity(
+ context,
+ items.id!,
+ int.parse(items.quantity.toString()) - 1);
+ }
},
icon: SvgPicture.asset(
APPASSETS.removeIcon,
@@ -331,8 +547,11 @@ class _MycartState extends State {
CustomIconButton(
width: 14.w,
height: 14.h,
- onPressed: () {
- // provider..increaseQuantity(items);
+ onPressed: () async {
+ await provider.addToCart(
+ context, items.productId!, 1);
+
+ // await provider.getItemCards(context);
},
icon: SvgPicture.asset(
APPASSETS.addIcon,
@@ -344,7 +563,7 @@ class _MycartState extends State {
),
Gap(20),
InkWell(
- onTap: () {
+ onTap: () async {
provider.deleteItem(context, items.id);
},
child: Container(
@@ -354,9 +573,8 @@ class _MycartState extends State {
borderRadius: BorderRadius.all(Radius.circular(10)),
shape: BoxShape.rectangle,
border: Border.all(
- color: Colors
- .blue, // Replace with your desired border color
- width: 2, // Border width
+ color: Colors.blue,
+ width: 2,
),
),
child: provider.isRemoveItem[items.id] ?? false
@@ -378,17 +596,315 @@ class _MycartState extends State {
)
],
),
- ).animate(delay: (100 * index).ms).fade().slideX(
- duration: 300.ms,
- begin: -1,
- curve: Curves.easeInSine,
- );
+ );
},
);
}
});
}
+ // Widget relatedProduct() {
+ // return SizedBox(
+ // height: 222,
+ // child: ListView.builder(
+ // itemCount: 5,
+ // scrollDirection: Axis.horizontal,
+ // itemBuilder: (context, index) {
+ // return Padding(
+ // padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),
+ // child: Container(
+ // height: 215,
+ // width: 150,
+ // decoration: BoxDecoration(
+ // color: Colors.white,
+ // borderRadius: BorderRadius.circular(15),
+ // boxShadow: [
+ // BoxShadow(
+ // color: Colors.grey.withOpacity(0.1),
+ // blurRadius: 1,
+ // offset: const Offset(5, 5),
+ // ),
+ // ]),
+ // child: Padding(
+ // padding: const EdgeInsets.all(5),
+ // child: Column(
+ // crossAxisAlignment: CrossAxisAlignment.start,
+ // children: [
+ // Container(
+ // height: 100,
+ // width: 150,
+ // decoration: BoxDecoration(
+ // color: APPCOLOR.bgGrey,
+ // borderRadius: BorderRadius.circular(15)),
+ // child: const Stack(
+ // alignment: Alignment.center,
+ // children: [
+ // AppNetworkImage(
+ // height: 70,
+ // width: 70,
+ // imageUrl:
+ // "https://5.imimg.com/data5/SELLER/Default/2024/2/385126988/OL/DA/VW/8627346/1l-fortune-sunflower-oil.jpg",
+ // backGroundColor: Colors.transparent),
+ // Positioned(
+ // right: 5,
+ // top: 5,
+ // child: Icon(Icons.favorite_border))
+ // ],
+ // ),
+ // ),
+ // Text(
+ // "Fortune Arhar Dal (Toor Dal)",
+ // textAlign: TextAlign.left,
+ // maxLines: 2,
+ // overflow: TextOverflow.ellipsis,
+ // style: context.customMedium(APPCOLOR.balck1A1A1A, 14),
+ // ),
+ // const SizedBox(
+ // height: 5,
+ // ),
+ // Text(
+ // "500 ML",
+ // textAlign: TextAlign.left,
+ // maxLines: 1,
+ // overflow: TextOverflow.ellipsis,
+ // style: context.customMedium(
+ // Colors.grey.withOpacity(0.8), 12),
+ // ),
+ // const SizedBox(
+ // height: 3,
+ // ),
+ // Row(
+ // children: [
+ // Expanded(
+ // child: Row(
+ // children: [
+ // Text(
+ // "\$12",
+ // textAlign: TextAlign.left,
+ // maxLines: 1,
+ // overflow: TextOverflow.ellipsis,
+ // style: context.customSemiBold(Colors.black, 12),
+ // ),
+ // const SizedBox(
+ // width: 5,
+ // ),
+ // Text(
+ // "\$14",
+ // textAlign: TextAlign.left,
+ // maxLines: 1,
+ // overflow: TextOverflow.ellipsis,
+ // style: context
+ // .customMedium(
+ // Colors.grey.withOpacity(0.8), 12)
+ // .copyWith(
+ // decoration: TextDecoration.lineThrough,
+ // ),
+ // ),
+ // ],
+ // )),
+ // Expanded(
+ // child: Align(
+ // alignment: Alignment.centerRight,
+ // child: Container(
+ // height: 30,
+ // width: 50,
+ // decoration: BoxDecoration(
+ // color: APPCOLOR.lightGreen,
+ // borderRadius: BorderRadius.circular(5),
+ // ),
+ // child: Center(
+ // child: Text(
+ // 'Add',
+ // style: context.customRegular(Colors.white, 12),
+ // )),
+ // ),
+ // ),
+ // )
+ // ],
+ // ),
+ // ],
+ // ),
+ // ),
+ // ),
+ // );
+ // },
+ // ),
+ // );
+ // }
+
+ // Widget cartItems() {
+ // return Consumer(builder: (context, provider, child) {
+ // if (provider.isLoaddcartItem) {
+ // return Center(
+ // child: CircularProgressIndicator(
+ // color: Colors.green,
+ // ),
+ // );
+ // } else if (provider.allitem == null) {
+ // return Center(child: Text('🛒 Your Front Shop Cart is empty'));
+ // } else if (provider.allitem.items == null ||
+ // provider.allitem.items!.isEmpty) {
+ // return Center(child: Text('🛒 Your Front Shop Cart is empty'));
+ // } else {
+ // return ListView.separated(
+ // shrinkWrap: true, // Prevents internal scrolling
+ // physics: NeverScrollableScrollPhysics(), // Disables inner scroll
+ // separatorBuilder: (_, index) => Padding(
+ // padding: EdgeInsets.only(top: 12.h, bottom: 24.h),
+ // child: const Divider(thickness: 1),
+ // ),
+ // itemCount: provider.allitem.items!.length,
+ // 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),
+ // ),
+ // child: AppNetworkImage(
+ // width: 60.w,
+ // height: 70.h,
+ // imageUrl: items.product!.productImages!.first.url ?? " ",
+ // backGroundColor: APPCOLOR.bgGrey,
+ // radius: 10,
+ // ),
+ // ),
+ // // Image.asset(product.image, width: 50.w, height: 40.h),
+
+ // 16.horizontalSpace,
+ // Container(
+ // width: 150.w,
+ // child: Column(
+ // crossAxisAlignment: CrossAxisAlignment.start,
+ // mainAxisAlignment: MainAxisAlignment.start,
+ // children: [
+ // Text(
+ // items.product!.name ?? "",
+ // maxLines: 2,
+ // overflow: TextOverflow.ellipsis,
+ // style: context.customMedium(APPCOLOR.balck1A1A1A, 14),
+ // ),
+ // 5.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,
+ // ),
+ // ),
+ // ],
+ // ),
+ // ],
+ // ),
+ // ),
+ // const Spacer(),
+
+ // Column(
+ // children: [
+ // Row(
+ // children: [
+ // CustomIconButton(
+ // width: 14.w,
+ // height: 14.h,
+ // onPressed: () {
+ // // provider.decreaseQuantity(items);
+ // },
+ // icon: SvgPicture.asset(
+ // APPASSETS.removeIcon,
+ // fit: BoxFit.none,
+ // ),
+ // backgroundColor: APPCOLOR.appGreen,
+ // ),
+ // 5.horizontalSpace,
+ // Text(
+ // items.quantity.toString(),
+ // style:
+ // context.customMedium(APPCOLOR.balck1A1A1A, 14),
+ // ),
+ // 5.horizontalSpace,
+ // CustomIconButton(
+ // width: 14.w,
+ // height: 14.h,
+ // onPressed: () {
+ // // provider..increaseQuantity(items);
+ // },
+ // icon: SvgPicture.asset(
+ // APPASSETS.addIcon,
+ // fit: BoxFit.none,
+ // ),
+ // backgroundColor: APPCOLOR.appGreen,
+ // ),
+ // ],
+ // ),
+ // Gap(20),
+ // InkWell(
+ // onTap: () {
+ // provider.deleteItem(context, items.id);
+ // },
+ // child: Container(
+ // height: 25,
+ // width: 70,
+ // decoration: BoxDecoration(
+ // borderRadius: BorderRadius.all(Radius.circular(10)),
+ // shape: BoxShape.rectangle,
+ // border: Border.all(
+ // color: Colors
+ // .blue, // Replace with your desired border color
+ // width: 2, // Border width
+ // ),
+ // ),
+ // 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")),
+ // ),
+ // )
+ // ],
+ // )
+ // ],
+ // ),
+ // );
+ // },
+ // );
+ // }
+ // });
+ // }
+
Widget cartPlace() {
return Consumer(builder: (context, provider, child) {
print("jdhfgkdfkjg ${provider.allitem.createdAt}");
@@ -405,7 +921,9 @@ class _MycartState extends State {
return Center(
child: ElevatedButton(
style: ElevatedButton.styleFrom(backgroundColor: Colors.green),
- onPressed: () {},
+ onPressed: () {
+ context.read().setIndex(0);
+ },
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
@@ -423,13 +941,20 @@ class _MycartState extends State {
title: Text('APPLY COUPON',
style: TextStyle(fontWeight: FontWeight.bold)),
trailing: Icon(Icons.arrow_forward_ios),
- onTap: () {},
+ onTap: () {
+ context.push(MyRoutes.COUPONSSCREEN);
+ },
),
- SummaryRow(label: 'Item Total', value: '\$22'),
- SummaryRow(label: 'Discount', value: '\$2'),
+ SummaryRow(
+ label: 'Item Total Price',
+ value: '\$${provider.allitem.subtotal}'),
+ SummaryRow(label: 'Discount', value: '0.0'),
SummaryRow(label: 'Delivery Free', value: 'Free', isGreen: true),
Divider(),
- SummaryRow(label: 'Grand Total', value: '\$22', isBold: true),
+ SummaryRow(
+ label: 'Grand Total',
+ value: '\$${provider.allitem.subtotal}',
+ isBold: true),
ListTile(
leading: Icon(Icons.home, color: Colors.green),
title: provider.isDeliverable
@@ -445,12 +970,27 @@ class _MycartState extends State {
),
SizedBox(height: 10),
ElevatedButton(
- style: ElevatedButton.styleFrom(backgroundColor: Colors.green),
- onPressed: () {},
+ 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('\$22 Place Order', style: TextStyle(fontSize: 16))
+ Text('\$22 Place Order', style: TextStyle(fontSize: 16))
],
),
),
@@ -461,8 +1001,6 @@ class _MycartState extends State {
}
void _showBottomSheet(BuildContext context) {
- TextEditingController checkPinCode = TextEditingController();
-
showModalBottomSheet(
context: context,
builder: (BuildContext context) {
@@ -492,10 +1030,13 @@ class _MycartState extends State {
child: Container(
height: 20.h,
child: TextFormField(
- controller: checkPinCode,
+ controller: pinProvider.checkPinCode,
+ maxLength: 6,
keyboardType: TextInputType.phone,
+ onChanged: (value) {},
decoration: InputDecoration(
hintText: 'Enter PIN',
+ counterText: "",
border: InputBorder
.none, // Remove the inner border
),
@@ -513,30 +1054,41 @@ class _MycartState extends State {
),
InkWell(
onTap: () {
- pinProvider.checkPin(context, checkPinCode.text);
+ pinProvider.checkPin(
+ context, pinProvider.checkPinCode.text);
},
child: Expanded(
flex: 1,
- child: Text(
- "Check PIN",
- style: TextStyle(
- fontSize: 15,
- fontWeight: FontWeight.bold,
- color: Colors.black),
- )),
+ child: pinProvider.ischeckpin
+ ? Center(
+ child: CircularProgressIndicator(
+ color: APPCOLOR.lightGreen,
+ ),
+ )
+ : Text(
+ "Check PIN",
+ style: TextStyle(
+ fontSize: 15,
+ fontWeight: FontWeight.bold,
+ color: Colors.black),
+ )),
),
],
),
),
),
),
-
- Gap(10.h),
- // if (!pinProvider.isMatch)
- Text(
- 'pin code invoild',
- style: TextStyle(color: Colors.red),
- ),
+ if (!pinProvider.isDeliverable) ...{
+ Text(
+ 'Delivery is not available for this pincode. Please try another pincode.',
+ style: TextStyle(color: Colors.red, fontSize: 10),
+ ),
+ } else ...{
+ Text(
+ 'Delivery available for this pincode. Submit now.',
+ style: TextStyle(color: Colors.lightGreen, fontSize: 10),
+ ),
+ },
Gap(10.h),
Center(
child: SizedBox(
@@ -544,7 +1096,9 @@ class _MycartState extends State {
width: double.infinity,
child: ButtonElevated(
text: 'Submit',
- onPressed: () {},
+ onPressed: () {
+ Navigator.pop(context);
+ },
backgroundColor: APPCOLOR.appGreen),
),
),
@@ -556,6 +1110,139 @@ class _MycartState extends State {
},
);
}
+
+ void _showAddressBottomSheet(BuildContext context) {
+ showModalBottomSheet(
+ context: context,
+ isScrollControlled: true,
+ isDismissible: false, // Allows tap outside to close
+ enableDrag: true, // Enables swipe-down to dismiss
+ backgroundColor: Colors.white,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.vertical(top: Radius.circular(20)),
+ ),
+
+ builder: (context) {
+ return AddressBottomSheet();
+ },
+ );
+ }
+}
+
+class AddressBottomSheet extends StatefulWidget {
+ @override
+ _AddressBottomSheetState createState() => _AddressBottomSheetState();
+}
+
+class _AddressBottomSheetState extends State {
+ // String selectedAddress = "Home";
+
+ @override
+ Widget build(BuildContext context) {
+ return Padding(
+ padding:
+ EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
+ child: Container(
+ padding: EdgeInsets.all(16),
+ child: Column(
+ mainAxisSize: MainAxisSize.min,
+ children: [
+ Row(
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
+ children: [
+ Text(
+ "Select an Address",
+ style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
+ ),
+ IconButton(
+ icon: Icon(Icons.close),
+ onPressed: () => Navigator.pop(context),
+ ),
+ ],
+ ),
+ SizedBox(height: 10),
+ _buildAddressTile(context),
+ SizedBox(height: 16),
+ ElevatedButton.icon(
+ onPressed: () {
+ context.push(MyRoutes.ADDRESSS);
+ },
+ icon: Icon(Icons.add, color: Colors.white),
+ label: Text(
+ "Add New Address",
+ style: TextStyle(color: Colors.white, fontSize: 15),
+ ),
+ style: ElevatedButton.styleFrom(
+ backgroundColor: Colors.green,
+ minimumSize: Size(double.infinity, 50),
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(10)),
+ ),
+ ),
+ SizedBox(height: 16),
+ ElevatedButton.icon(
+ onPressed: () {},
+ label: Text(
+ "Continue",
+ style: TextStyle(color: Colors.white, fontSize: 16),
+ ),
+ style: ElevatedButton.styleFrom(
+ backgroundColor: Colors.green,
+ minimumSize: Size(double.infinity, 50),
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(10)),
+ ),
+ ),
+ SizedBox(height: 10),
+ ],
+ ),
+ ),
+ );
+ }
+
+ Widget _buildAddressTile(BuildContext context) {
+ return Consumer(
+ builder: (context, addressProvider, child) {
+ return addressProvider.addresslist.isEmpty
+ ? SizedBox.shrink()
+ : ListView.builder(
+ shrinkWrap: true,
+ physics: NeverScrollableScrollPhysics(),
+ itemCount: addressProvider.addresslist.length,
+ itemBuilder: (context, index) {
+ var address = addressProvider.addresslist[index];
+
+ return Card(
+ elevation: 0,
+ shape: RoundedRectangleBorder(
+ borderRadius: BorderRadius.circular(10)),
+ child: ListTile(
+ leading: Radio(
+ value: address.id ?? "",
+ groupValue: addressProvider
+ .selectedAddress, // Use provider's value
+ activeColor: Colors.green,
+ onChanged: (value) {
+ addressProvider.selectAddress(value.toString());
+ },
+ ),
+ title: Text(
+ address.addressType ?? "",
+ style: TextStyle(fontWeight: FontWeight.bold),
+ ),
+ subtitle: Text(address.addressLine +
+ " " +
+ address.landmark +
+ " " +
+ address.city ??
+ ""),
+ ),
+ );
+ },
+ );
+ },
+ );
+ }
}
class SummaryRow extends StatelessWidget {
diff --git a/lib/src/ui/coupons/coupons_screen.dart b/lib/src/ui/coupons/coupons_screen.dart
new file mode 100644
index 0000000..5dd39ce
--- /dev/null
+++ b/lib/src/ui/coupons/coupons_screen.dart
@@ -0,0 +1,135 @@
+import 'package:flutter/material.dart';
+
+class CouponsScreen extends StatelessWidget {
+ final List