diff --git a/.DS_Store b/.DS_Store index 4b19f8f..098ff8d 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json index b0eca8b..d8b78ea 100644 --- a/.dart_tool/package_config.json +++ b/.dart_tool/package_config.json @@ -3,793 +3,793 @@ "packages": [ { "name": "animation_list", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/animation_list-3.1.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/animation_list-3.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "animations", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/animations-2.0.11", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/animations-2.0.11", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "args", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/args-2.6.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/args-2.6.0", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "async", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/async-2.11.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/async-2.11.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "back_button_interceptor", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/back_button_interceptor-8.0.3", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/back_button_interceptor-8.0.3", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "boolean_selector", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "cached_network_image", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/cached_network_image-3.3.1", + "rootUri": "file:///Users/rajeevsingh/.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/apple/.pub-cache/hosted/pub.dev/cached_network_image_platform_interface-4.0.0", + "rootUri": "file:///Users/rajeevsingh/.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/apple/.pub-cache/hosted/pub.dev/cached_network_image_web-1.2.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cached_network_image_web-1.2.0", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "carousel_slider", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "characters", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/characters-1.3.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/characters-1.3.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "clock", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/clock-1.1.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/clock-1.1.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "collection", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/collection-1.18.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/collection-1.18.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "connectivity_plus", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "connectivity_plus_platform_interface", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus_platform_interface-2.0.1", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "crypto", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/crypto-3.0.6", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/crypto-3.0.6", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "csslib", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/csslib-1.0.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/csslib-1.0.2", "packageUri": "lib/", "languageVersion": "3.1" }, { "name": "cupertino_icons", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8", "packageUri": "lib/", "languageVersion": "3.1" }, { "name": "dbus", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dbus-0.7.11", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dbus-0.7.11", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "dio", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dio-5.7.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dio-5.7.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "dio_web_adapter", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dio_web_adapter-2.0.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dio_web_adapter-2.0.0", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "dots_indicator", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "dotted_border", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/dotted_border-2.1.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/dotted_border-2.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "fake_async", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/fake_async-1.3.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fake_async-1.3.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "ffi", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/ffi-2.1.3", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/ffi-2.1.3", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "file", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/file-7.0.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/file-7.0.1", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "fixnum", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/fixnum-1.1.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fixnum-1.1.1", "packageUri": "lib/", "languageVersion": "3.1" }, { "name": "flutter", - "rootUri": "file:///Users/apple/Documents/development/flutter/packages/flutter", + "rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "flutter_animate", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_cache_manager", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_cache_manager-3.3.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_cache_manager-3.3.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_google_places", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_google_places-0.3.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_google_places-0.3.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "flutter_lints", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2", "packageUri": "lib/", "languageVersion": "3.1" }, { "name": "flutter_plugin_android_lifecycle", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "flutter_rating_stars", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_rating_stars-1.1.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_rating_stars-1.1.0", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "flutter_screenutil", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "flutter_shaders", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "flutter_svg", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "flutter_test", - "rootUri": "file:///Users/apple/Documents/development/flutter/packages/flutter_test", + "rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_test", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "flutter_toggle_tab", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_toggle_tab-1.5.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_toggle_tab-1.5.1", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "flutter_web_plugins", - "rootUri": "file:///Users/apple/Documents/development/flutter/packages/flutter_web_plugins", + "rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_web_plugins", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "fluttertoast", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "fpdart", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/fpdart-1.1.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/fpdart-1.1.1", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "gap", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/gap-3.0.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/gap-3.0.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "geocoding", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding-3.0.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "geocoding_android", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "geocoding_ios", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "geocoding_platform_interface", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_platform_interface-3.2.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_platform_interface-3.2.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "geolocator", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator-13.0.2", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "geolocator_android", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "geolocator_apple", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "geolocator_platform_interface", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.4", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_platform_interface-4.2.4", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "geolocator_web", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "geolocator_windows", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3", "packageUri": "lib/", "languageVersion": "2.15" }, { "name": "get_it", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/get_it-8.0.3", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/get_it-8.0.3", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "go_router", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/go_router-14.7.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/go_router-14.7.1", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "google_api_headers", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_api_headers-1.6.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "google_fonts", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_fonts-4.0.4", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_fonts-4.0.4", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "google_maps", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps-8.1.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps-8.1.1", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "google_maps_flutter", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter-2.10.0", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "google_maps_flutter_android", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_android-2.14.7", + "rootUri": "file:///Users/rajeevsingh/.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/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_ios-2.13.2", + "rootUri": "file:///Users/rajeevsingh/.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/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_platform_interface-2.9.5", + "rootUri": "file:///Users/rajeevsingh/.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/apple/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_flutter_web-0.5.10", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "google_maps_webservice", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps_webservice-0.0.20-nullsafety.5", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/google_maps_webservice-0.0.20-nullsafety.5", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "html", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/html-0.15.5", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/html-0.15.5", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "http", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/http-0.13.6", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/http-0.13.6", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "http_parser", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/http_parser-4.0.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/http_parser-4.0.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "intl", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/intl-0.19.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/intl-0.19.0", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "json_annotation", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/json_annotation-4.9.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/json_annotation-4.9.0", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "leak_tracker", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker-10.0.5", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker-10.0.4", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "leak_tracker_flutter_testing", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.3", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "leak_tracker_testing", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_testing-3.0.1", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "lints", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/lints-3.0.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/lints-3.0.0", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "loader_overlay", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/loader_overlay-4.0.4+1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/loader_overlay-4.0.4+1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "logging", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/logging-1.3.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/logging-1.3.0", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "matcher", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/matcher-0.12.16+1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/matcher-0.12.16+1", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "material_color_utilities", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_color_utilities-0.8.0", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "material_design_icons_flutter", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/material_design_icons_flutter-7.0.7296", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_design_icons_flutter-7.0.7296", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "meta", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/meta-1.15.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/meta-1.12.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "nested", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/nested-1.0.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/nested-1.0.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "nm", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/nm-0.5.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/nm-0.5.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "octo_image", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/octo_image-2.1.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/octo_image-2.1.0", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "otp_text_field", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/otp_text_field-1.1.3", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/otp_text_field-1.1.3", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "package_info_plus", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/package_info_plus-4.2.0", + "rootUri": "file:///Users/rajeevsingh/.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/apple/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/package_info_plus_platform_interface-2.0.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path-1.9.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path-1.9.0", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "path_drawing", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_drawing-1.0.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_drawing-1.0.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "path_parsing", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_parsing-1.1.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_parsing-1.1.0", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "path_provider", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider-2.1.5", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider-2.1.5", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "path_provider_android", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "path_provider_foundation", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "path_provider_linux", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "path_provider_platform_interface", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_platform_interface-2.1.2", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "path_provider_windows", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "petitparser", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/petitparser-6.0.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/petitparser-6.0.2", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "platform", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/platform-3.1.6", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/platform-3.1.6", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "plugin_platform_interface", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/plugin_platform_interface-2.1.8", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "pretty_dio_logger", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/pretty_dio_logger-1.4.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/pretty_dio_logger-1.4.0", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "provider", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/provider-6.1.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/provider-6.1.2", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "readmore", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/readmore-3.0.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/readmore-3.0.0", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "rxdart", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/rxdart-0.26.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/rxdart-0.26.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "sanitize_html", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "shared_preferences", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "shared_preferences_android", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "shared_preferences_foundation", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "shared_preferences_linux", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "shared_preferences_platform_interface", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_platform_interface-2.4.1", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "shared_preferences_web", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.2", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "shared_preferences_windows", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "sky_engine", - "rootUri": "file:///Users/apple/Documents/development/flutter/bin/cache/pkg/sky_engine", + "rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/bin/cache/pkg/sky_engine", "packageUri": "lib/", "languageVersion": "3.2" }, { "name": "source_span", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/source_span-1.10.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/source_span-1.10.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "sprintf", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/sprintf-7.0.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sprintf-7.0.0", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "sqflite", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "sqflite_common", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "stack_trace", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/stack_trace-1.11.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stack_trace-1.11.1", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "stream_channel", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/stream_channel-2.1.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stream_channel-2.1.2", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "stream_transform", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/stream_transform-2.1.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/stream_transform-2.1.1", "packageUri": "lib/", "languageVersion": "3.1" }, { "name": "string_scanner", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/string_scanner-1.2.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/string_scanner-1.2.0", "packageUri": "lib/", "languageVersion": "2.18" }, { "name": "synchronized", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "term_glyph", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/term_glyph-1.2.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/term_glyph-1.2.1", "packageUri": "lib/", "languageVersion": "2.12" }, { "name": "test_api", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/test_api-0.7.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/test_api-0.7.0", "packageUri": "lib/", - "languageVersion": "3.2" + "languageVersion": "3.0" }, { "name": "typed_data", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/typed_data-1.3.2", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/typed_data-1.3.2", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "uuid", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/uuid-4.5.1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/uuid-4.5.1", "packageUri": "lib/", "languageVersion": "3.0" }, { "name": "vector_graphics", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics-1.1.10+1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics-1.1.10+1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "vector_graphics_codec", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.10+1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics_codec-1.1.10+1", "packageUri": "lib/", "languageVersion": "2.17" }, { "name": "vector_graphics_compiler", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.10+1", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_graphics_compiler-1.1.10+1", "packageUri": "lib/", "languageVersion": "2.19" }, { "name": "vector_math", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vector_math-2.1.4", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vector_math-2.1.4", "packageUri": "lib/", "languageVersion": "2.14" }, { "name": "vm_service", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/vm_service-14.2.5", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vm_service-14.2.1", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "web", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/web-1.1.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/web-1.1.0", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "win32", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/win32-5.5.4", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/win32-5.5.4", "packageUri": "lib/", "languageVersion": "3.4" }, { "name": "xdg_directories", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0", "packageUri": "lib/", "languageVersion": "3.3" }, { "name": "xml", - "rootUri": "file:///Users/apple/.pub-cache/hosted/pub.dev/xml-6.5.0", + "rootUri": "file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/xml-6.5.0", "packageUri": "lib/", "languageVersion": "3.2" }, @@ -800,10 +800,10 @@ "languageVersion": "3.4" } ], - "generated": "2025-01-30T19:18:01.029228Z", + "generated": "2025-01-31T13:31:38.803389Z", "generator": "pub", - "generatorVersion": "3.5.3", - "flutterRoot": "file:///Users/apple/Documents/development/flutter", - "flutterVersion": "3.24.3", - "pubCache": "file:///Users/apple/.pub-cache" + "generatorVersion": "3.4.4", + "flutterRoot": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter", + "flutterVersion": "3.22.3", + "pubCache": "file:///Users/rajeevsingh/.pub-cache" } diff --git a/.dart_tool/package_config_subset b/.dart_tool/package_config_subset index a1a3159..074349e 100644 --- a/.dart_tool/package_config_subset +++ b/.dart_tool/package_config_subset @@ -1,533 +1,533 @@ animation_list 2.12 -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/ +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/ animations 3.2 -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/ +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/ args 3.3 -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/ +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/ async 2.18 -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/ +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/ back_button_interceptor 3.2 -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/ +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/ boolean_selector 2.17 -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/ +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/ cached_network_image 3.0 -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/ +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/ cached_network_image_platform_interface 3.0 -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/ +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/ cached_network_image_web 3.0 -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/ +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/ carousel_slider 2.12 -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/ +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/ characters 2.12 -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/ +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/ clock 2.12 -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/ +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/ collection 2.18 -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/ +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/ connectivity_plus 3.2 -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/ +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/ connectivity_plus_platform_interface 2.18 -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/ +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/ crypto 3.4 -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/ +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/ csslib 3.1 -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/ +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/ cupertino_icons 3.1 -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/ +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/ dbus 2.17 -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/ +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/ dio 2.18 -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/ +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/ dio_web_adapter 3.3 -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/ +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/ dots_indicator 2.12 -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/ +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/ dotted_border 2.12 -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/ +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/ fake_async 2.12 -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/ +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/ ffi 3.3 -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:///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 3.0 -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:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/file-7.0.1/ +file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/file-7.0.1/lib/ fixnum 3.1 -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/ +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/ flutter_animate 2.17 -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/ +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/ flutter_cache_manager 2.17 -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/ +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/ flutter_google_places 2.12 -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/ +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/ flutter_lints 3.1 -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/ +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/ flutter_plugin_android_lifecycle 3.4 -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/ +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/ flutter_rating_stars 3.2 -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/ +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/ flutter_screenutil 2.17 -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/ +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/ flutter_shaders 2.19 -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/ +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/ flutter_svg 2.19 -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/ +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/ flutter_toggle_tab 3.0 -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/ +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/ fluttertoast 2.12 -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/ +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/ fpdart 3.0 -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/ +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/ gap 2.12 -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/ +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/ geocoding 2.17 -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/ +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/ geocoding_android 2.17 -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/ +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/ geocoding_ios 2.17 -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/ +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/ geocoding_platform_interface 2.12 -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/ +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/ geolocator 2.15 -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/ +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/ geolocator_android 2.15 -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/ +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/ geolocator_apple 2.15 -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/ +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/ geolocator_platform_interface 2.15 -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/ +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/ geolocator_web 3.4 -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/ +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/ geolocator_windows 2.15 -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/ +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/ get_it 3.0 -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/ +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/ go_router 3.4 -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/ +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/ google_api_headers 2.12 -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/ +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/ google_fonts 2.14 -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/ +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/ google_maps 3.4 -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/ +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/ google_maps_flutter 3.4 -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/ +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/ google_maps_flutter_android 3.4 -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/ +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/ google_maps_flutter_ios 3.3 -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/ +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/ google_maps_flutter_platform_interface 3.3 -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/ +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/ google_maps_flutter_web 3.3 -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/ +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/ google_maps_webservice 2.12 -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/ +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/ html 3.2 -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/ +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/ http 2.19 -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/ +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/ http_parser 2.12 -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/ +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/ intl 3.0 -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/ +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/ json_annotation 3.0 -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/ +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/ leak_tracker 3.2 -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/ +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/ leak_tracker_flutter_testing 3.2 -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/ +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/ leak_tracker_testing 3.2 -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/ +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/ lints 3.0 -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/ +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/ loader_overlay 2.12 -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/ +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/ logging 3.4 -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/ +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/ matcher 3.0 -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/ +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/ material_color_utilities 2.17 -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/ +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/ material_design_icons_flutter 2.12 -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/ +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/ meta 2.12 -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/ +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/ nested 2.12 -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/ +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/ nm 2.12 -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/ +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/ octo_image 3.0 -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/ +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/ otp_text_field 2.12 -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/ +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/ package_info_plus 2.18 -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/ +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/ package_info_plus_platform_interface 2.12 -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/ +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/ path 3.0 -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/ +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/ path_drawing 2.12 -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/ +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/ path_parsing 3.3 -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/ +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/ path_provider 3.4 -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/ +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/ path_provider_android 3.4 -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/ +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/ path_provider_foundation 3.3 -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/ +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/ path_provider_linux 2.19 -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/ +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/ path_provider_platform_interface 3.0 -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/ +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/ path_provider_windows 3.2 -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/ +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/ petitparser 3.2 -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/ +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/ platform 3.2 -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/ +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/ plugin_platform_interface 3.0 -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/ +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/ pretty_dio_logger 3.0 -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/ +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/ provider 2.12 -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/ +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/ readmore 3.0 -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/ +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/ rxdart 2.12 -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/ +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/ sanitize_html 2.12 -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/ +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/ shared_preferences 3.4 -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/ +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/ shared_preferences_android 3.4 -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/ +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/ shared_preferences_foundation 3.4 -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/ +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/ shared_preferences_linux 3.3 -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/ +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/ shared_preferences_platform_interface 3.2 -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/ +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/ shared_preferences_web 3.4 -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/ +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/ shared_preferences_windows 3.3 -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/ +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/ source_span 2.18 -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/ +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/ sprintf 2.12 -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/ +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/ sqflite 3.3 -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/ +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/ sqflite_common 3.3 -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/ +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/ stack_trace 2.18 -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/ +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/ stream_channel 2.19 -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/ +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/ stream_transform 3.1 -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/ +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/ string_scanner 2.18 -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/ +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/ synchronized 3.0 -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/ +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/ term_glyph 2.12 -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/ +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/ test_api -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/ +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/ typed_data 2.17 -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/ +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/ uuid 3.0 -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/ +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/ vector_graphics 2.17 -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/ +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/ vector_graphics_codec 2.17 -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/ +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/ vector_graphics_compiler 2.19 -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/ +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/ vector_math 2.14 -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/ +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/ vm_service 3.3 -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/ +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/ web 3.4 -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/ +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/ win32 3.4 -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/ +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/ xdg_directories 3.3 -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/ +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/ xml 3.2 -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/ +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/ grocery_app 3.4 -file:///Users/apple/Documents/Allflutter%20/freelancing/groceryApp/ -file:///Users/apple/Documents/Allflutter%20/freelancing/groceryApp/lib/ +file:///Users/rajeevsingh/Documents/FlutterProject/freelanceing/groceryApp/ +file:///Users/rajeevsingh/Documents/FlutterProject/freelanceing/groceryApp/lib/ sky_engine 3.2 -file:///Users/apple/Documents/development/flutter/bin/cache/pkg/sky_engine/ -file:///Users/apple/Documents/development/flutter/bin/cache/pkg/sky_engine/lib/ +file:///Users/rajeevsingh/Documents/allSoftwares/flutter/bin/cache/pkg/sky_engine/ +file:///Users/rajeevsingh/Documents/allSoftwares/flutter/bin/cache/pkg/sky_engine/lib/ flutter 3.3 -file:///Users/apple/Documents/development/flutter/packages/flutter/ -file:///Users/apple/Documents/development/flutter/packages/flutter/lib/ +file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter/ +file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter/lib/ flutter_test 3.3 -file:///Users/apple/Documents/development/flutter/packages/flutter_test/ -file:///Users/apple/Documents/development/flutter/packages/flutter_test/lib/ +file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_test/ +file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_test/lib/ flutter_web_plugins 3.2 -file:///Users/apple/Documents/development/flutter/packages/flutter_web_plugins/ -file:///Users/apple/Documents/development/flutter/packages/flutter_web_plugins/lib/ +file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_web_plugins/ +file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_web_plugins/lib/ 2 diff --git a/.dart_tool/version b/.dart_tool/version index ffba2c8..d9b2ac5 100644 --- a/.dart_tool/version +++ b/.dart_tool/version @@ -1 +1 @@ -3.24.3 \ No newline at end of file +3.22.3 \ No newline at end of file diff --git a/.flutter-plugins b/.flutter-plugins index d985a48..a30a78c 100644 --- a/.flutter-plugins +++ b/.flutter-plugins @@ -1,30 +1,30 @@ # This is a generated file; do not edit or check into version control. -connectivity_plus=/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/ -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/ -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/ +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/ diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index 6c4a3b1..15c365c 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/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":"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":[]}],"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":"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":[]}],"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":"geolocator_apple","path":"/Users/apple/.pub-cache/hosted/pub.dev/geolocator_apple-2.3.8+1/","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":[]}],"linux":[{"name":"connectivity_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","native_build":false,"dependencies":[]},{"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"]}],"windows":[{"name":"connectivity_plus","path":"/Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/","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":"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"]}],"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":"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":[]}]},"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 00:48:01.201195","version":"3.24.3","swift_package_manager_enabled":false} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"connectivity_plus","path":"/Users/rajeevsingh/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.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 diff --git a/lib/main.dart b/lib/main.dart index 5d26fc1..fc52d18 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -4,6 +4,7 @@ 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/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/ui/splash/splash_screen.dart'; import 'package:grocery_app/utils/constants/color_constant.dart'; @@ -36,7 +37,7 @@ class MyApplication extends StatelessWidget { ChangeNotifierProvider(create: (_) => AuthProvider()), ChangeNotifierProvider(create: (_) => ProductProvider()), ChangeNotifierProvider(create: (_) => AddtocartProvider()), - // ChangeNotifierProvider(create: (_) => ProductProvider()), + ChangeNotifierProvider(create: (_) => BottomNavProvider()), // ChangeNotifierProvider(create: (_) => HomeProvider()), ], child: MaterialApp.router( diff --git a/lib/src/core/constant/api.dart b/lib/src/core/constant/api.dart index 61e4a56..859e6fa 100644 --- a/lib/src/core/constant/api.dart +++ b/lib/src/core/constant/api.dart @@ -3,9 +3,13 @@ class APIURL { 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 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 getBanners = "${BASE_URL}banners"; static const String customerLogOut = "${BASE_URL}auth/logout/customer"; static const String getBestDealProduct = "${BASE_URL}products/best-deals"; @@ -17,6 +21,7 @@ class APIURL { 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/"; diff --git a/lib/src/core/routes/routes.dart b/lib/src/core/routes/routes.dart index 211f77b..ead3c7e 100644 --- a/lib/src/core/routes/routes.dart +++ b/lib/src/core/routes/routes.dart @@ -7,7 +7,9 @@ import 'package:grocery_app/src/ui/bottomnavigation/bottom_bar_widget.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/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'; import 'package:grocery_app/src/ui/productdetails/product_details.dart'; import 'package:grocery_app/src/ui/splash/splash_screen.dart'; @@ -36,6 +38,16 @@ class MyRoutes { name: LOGIN, pageBuilder: (context, state) => LoginScreen(), ), + animatedGoRoute( + path: SIGNUP, + name: SIGNUP, + pageBuilder: (context, state) => SingnuScreen(), + ), + animatedGoRoute( + path: LOGINOTPSCREEN, + name: LOGINOTPSCREEN, + pageBuilder: (context, state) => const LoginOtpScreen(), + ), animatedGoRoute( path: OTPSCREEN, @@ -72,10 +84,9 @@ class MyRoutes { animatedGoRoute( path: PRODUCTDETAILS, name: PRODUCTDETAILS, - pageBuilder: (context, state) - { - final product = state.extra as Product; // Get the extra object - return ProductDetails(product: product); + pageBuilder: (context, state) { + final id = state.extra as String; // Get the extra object + return ProductDetails(id: id); }, ), @@ -207,19 +218,24 @@ class MyRoutes { static const HOME = "/home"; static const FRUITVEGGIEDETAIL = "/FruitVeggieDetail"; static const PRODUCTDETAILS = "/productdetails"; + static const LOGINOTPSCREEN = "/loginotpscreen"; + + static const SELECTACCOUNT = "/selectAccount"; static const DASHBOARD = "/dashboard"; - static const BOTTOM_NAV = "/home"; + 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 SIGNUP = "/signup"; + static const DASHBOARDSCREEN = "/dashboardscreen"; static const CUSTOMERORDER = "/customerorder"; diff --git a/lib/src/data/all_cart_items.dart b/lib/src/data/all_cart_items.dart index 8c7c908..72c246b 100644 --- a/lib/src/data/all_cart_items.dart +++ b/lib/src/data/all_cart_items.dart @@ -1,327 +1,72 @@ -// // To parse this JSON data, do -// // -// // final allCartItems = allCartItemsFromJson(jsondynamic); - -// import 'dart:convert'; - -// import 'package:grocery_app/src/data/allProduct_model.dart'; - -// AllCartItems allCartItemsFromJson(dynamic str) => -// AllCartItems.fromJson(json.decode(str)); - -// dynamic allCartItemsToJson(AllCartItems data) => json.encode(data.toJson()); - -// class AllCartItems { -// dynamic id; -// dynamic userId; -// dynamic subtotal; -// DateTime? createdAt; -// DateTime? updatedAt; -// List? items; - -// AllCartItems({ -// this.id, -// this.userId, -// this.subtotal, -// this.createdAt, -// this.updatedAt, -// this.items, -// }); - -// factory AllCartItems.fromJson(Map json) => AllCartItems( -// id: json["id"], -// userId: json["userId"], -// subtotal: json["subtotal"], -// createdAt: DateTime.parse(json["createdAt"]), -// updatedAt: DateTime.parse(json["updatedAt"]), -// items: List.from(json["items"].map((x) => Item.fromJson(x))), -// ); - -// Map toJson() => { -// "id": id, -// "userId": userId, -// "subtotal": subtotal, -// "createdAt": createdAt, -// "updatedAt": updatedAt, -// "items": List.from(items!.map((x) => x.toJson())), -// }; -// } - -// class Item { -// dynamic id; -// dynamic quantity; -// dynamic priceSnapshot; -// dynamic cartId; -// dynamic productId; -// dynamic storeId; -// DateTime? createdAt; -// DateTime? updatedAt; -// Product? product; -// Store? store; - -// Item({ -// this.id, -// this.quantity, -// this.priceSnapshot, -// this.cartId, -// this.productId, -// this.storeId, -// this.createdAt, -// this.updatedAt, -// this.product, -// this.store, -// }); - -// factory Item.fromJson(Map json) => Item( -// id: json["id"], -// quantity: json["quantity"], -// priceSnapshot: json["priceSnapshot"], -// cartId: json["cartId"], -// productId: json["productId"], -// storeId: json["storeId"], -// createdAt: DateTime.parse(json["createdAt"]), -// updatedAt: DateTime.parse(json["updatedAt"]), -// product: Product.fromJson(json["product"]), -// store: Store.fromJson(json["store"]), -// ); - -// Map toJson() => { -// "id": id, -// "quantity": quantity, -// "priceSnapshot": priceSnapshot, -// "cartId": cartId, -// "productId": productId, -// "storeId": storeId, -// "createdAt": createdAt, -// "updatedAt": updatedAt, -// "product": product!.toJson(), -// "store": store!.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 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 allCartItems = allCartItemsFromJson(jsondynamic); - import 'dart:convert'; -import 'package:grocery_app/src/data/allProduct_model.dart'; +AllCartItems allCartItemsFromJson(String str) => + AllCartItems.fromJson(json.decode(str)); -AllCartItems allCartItemsFromJson(dynamic str) => AllCartItems.fromJson(json.decode(str)); - -dynamic allCartItemsToJson(AllCartItems data) => json.encode(data.toJson()); +String allCartItemsToJson(AllCartItems data) => json.encode(data.toJson()); class AllCartItems { - dynamic id; - dynamic userId; - dynamic subtotal; - DateTime? createdAt; - DateTime? updatedAt; - List? items; + String? id; + String? userId; + String? subtotal; + DateTime? createdAt; + DateTime? updatedAt; + List? items; - AllCartItems({ - this.id, - this.userId, - this.subtotal, - this.createdAt, - this.updatedAt, - this.items, - }); + AllCartItems({ + this.id, + this.userId, + this.subtotal, + this.createdAt, + this.updatedAt, + this.items, + }); - factory AllCartItems.fromJson(Map json) => AllCartItems( + factory AllCartItems.fromJson(Map json) => AllCartItems( id: json["id"], userId: json["userId"], subtotal: json["subtotal"], createdAt: DateTime.parse(json["createdAt"]), updatedAt: DateTime.parse(json["updatedAt"]), items: List.from(json["items"].map((x) => Item.fromJson(x))), - ); + ); - Map toJson() => { + Map toJson() => { "id": id, "userId": userId, "subtotal": subtotal, "createdAt": createdAt, "updatedAt": updatedAt, "items": List.from(items!.map((x) => x.toJson())), - }; + }; } class Item { - dynamic id; - dynamic quantity; - dynamic priceSnapshot; - dynamic cartId; - dynamic productId; - dynamic storeId; - DateTime? createdAt; - DateTime? updatedAt; - Product? product; - Store? store; + String? id; + int? quantity; + String? priceSnapshot; + String? cartId; + String? productId; + String? storeId; + DateTime? createdAt; + DateTime? updatedAt; + ItemProduct? product; + Store? store; - Item({ - this.id, - this.quantity, - this.priceSnapshot, - this.cartId, - this.productId, - this.storeId, - this.createdAt, - this.updatedAt, - this.product, - this.store, - }); + Item({ + this.id, + this.quantity, + this.priceSnapshot, + this.cartId, + this.productId, + this.storeId, + this.createdAt, + this.updatedAt, + this.product, + this.store, + }); - factory Item.fromJson(Map json) => Item( + factory Item.fromJson(Map json) => Item( id: json["id"], quantity: json["quantity"], priceSnapshot: json["priceSnapshot"], @@ -330,11 +75,11 @@ class Item { storeId: json["storeId"], createdAt: DateTime.parse(json["createdAt"]), updatedAt: DateTime.parse(json["updatedAt"]), - product: Product.fromJson(json["product"]), + product: ItemProduct.fromJson(json["product"]), store: Store.fromJson(json["store"]), - ); + ); - Map toJson() => { + Map toJson() => { "id": id, "quantity": quantity, "priceSnapshot": priceSnapshot, @@ -345,149 +90,152 @@ class Item { "updatedAt": updatedAt, "product": product!.toJson(), "store": store!.toJson(), - }; + }; } -// class Product { -// dynamic id; -// dynamic name; -// dynamic description; -// dynamic additionalInfo; -// dynamic brand; -// dynamic basePrice; -// dynamic discountPrice; -// int stock; -// int quantity; -// dynamic unit; -// dynamic slug; -// dynamic averageRating; -// bool isInStock; -// bool isActive; -// DateTime createdAt; -// DateTime updatedAt; -// dynamic storeId; -// dynamic categoryId; -// dynamic productTypeId; -// dynamic timeSlotId; -// List productImages; -// Category category; -// List productTags; -// List zones; -// List productReview; +class ItemProduct { + String? id; + String? name; + String? description; + String? additionalInfo; + dynamic brand; + String? basePrice; + String? discountPrice; + int? stock; + int? quantity; + String? unit; + String? slug; + dynamic? averageRating; + bool? isInStock; + bool? isActive; + DateTime? createdAt; + DateTime? updatedAt; + String? storeId; + String? categoryId; + dynamic? productTypeId; + dynamic? timeSlotId; + List? productImages; + Category? category; + List? productTags; + List? zones; + List? productReview; -// Product({ -// this.id, -// this.name, -// this.description, -// this.additionalInfo, -// this.brand, -// this.basePrice, -// this.discountPrice, -// this.stock, -// this.quantity, -// this.unit, -// this.slug, -// this.averageRating, -// this.isInStock, -// this.isActive, -// this.createdAt, -// this.updatedAt, -// this.storeId, -// this.categoryId, -// this.productTypeId, -// this.timeSlotId, -// this.productImages, -// this.category, -// this.productTags, -// this.zones, -// this.productReview, -// }); + ItemProduct({ + this.id, + this.name, + this.description, + this.additionalInfo, + this.brand, + this.basePrice, + this.discountPrice, + this.stock, + this.quantity, + this.unit, + this.slug, + this.averageRating, + this.isInStock, + this.isActive, + this.createdAt, + this.updatedAt, + this.storeId, + this.categoryId, + this.productTypeId, + this.timeSlotId, + this.productImages, + this.category, + this.productTags, + this.zones, + this.productReview, + }); -// factory Product.fromJson(Map json) => Product( -// 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"], -// averageRating: json["averageRating"], -// isInStock: json["isInStock"], -// isActive: json["isActive"], -// 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) => x)), -// ); + factory ItemProduct.fromJson(Map json) => ItemProduct( + 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"], + averageRating: json["averageRating"], + isInStock: json["isInStock"], + isActive: json["isActive"], + 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) => x)), + ); -// Map toJson() => { -// "id": id, -// "name": name, -// "description": description, -// "additionalInfo": additionalInfo, -// "brand": brand, -// "basePrice": basePrice, -// "discountPrice": discountPrice, -// "stock": stock, -// "quantity": quantity, -// "unit": unit, -// "slug": slug, -// "averageRating": averageRating, -// "isInStock": isInStock, -// "isActive": isActive, -// "createdAt": createdAt.toIso8601dynamic(), -// "updatedAt": updatedAt.toIso8601dynamic(), -// "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)), -// }; -// } + Map toJson() => { + "id": id, + "name": name, + "description": description, + "additionalInfo": additionalInfo, + "brand": brand, + "basePrice": basePrice, + "discountPrice": discountPrice, + "stock": stock, + "quantity": quantity, + "unit": unit, + "slug": slug, + "averageRating": averageRating, + "isInStock": isInStock, + "isActive": isActive, + "createdAt": createdAt!.toIso8601String(), + "updatedAt": updatedAt!.toIso8601String(), + "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)), + }; +} class Category { - dynamic id; - dynamic name; - dynamic description; - dynamic image; - dynamic slug; - int? level; - bool? isActive; - DateTime? createdAt; - DateTime? updatedAt; - dynamic parentCategoryId; - dynamic path; + String? id; + String? name; + String? description; + String? image; + String? slug; + int? level; + bool? isActive; + DateTime? createdAt; + DateTime? updatedAt; + String? parentCategoryId; + String? path; - Category({ - this.id, - this.name, - this.description, - this.image, - this.slug, - this.level, - this.isActive, - this.createdAt, - this.updatedAt, - this.parentCategoryId, - this.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( + factory Category.fromJson(Map json) => Category( id: json["id"], name: json["name"], description: json["description"], @@ -499,9 +247,9 @@ class Category { updatedAt: DateTime.parse(json["updatedAt"]), parentCategoryId: json["parentCategoryId"], path: json["path"], - ); + ); - Map toJson() => { + Map toJson() => { "id": id, "name": name, "description": description, @@ -509,38 +257,137 @@ class Category { "slug": slug, "level": level, "isActive": isActive, - "createdAt": createdAt, - "updatedAt": updatedAt, + "createdAt": createdAt!.toIso8601String(), + "updatedAt": updatedAt!.toIso8601String(), "parentCategoryId": parentCategoryId, "path": path, - }; + }; } class ProductImage { - dynamic id; - dynamic url; - bool? isDefault; - dynamic productId; + String? id; + String? url; + bool? isDefault; + String? productId; - ProductImage({ - this.id, - this.url, - this.isDefault, - this.productId, - }); + ProductImage({ + this.id, + this.url, + this.isDefault, + this.productId, + }); - factory ProductImage.fromJson(Map json) => ProductImage( + factory ProductImage.fromJson(Map json) => ProductImage( id: json["id"], url: json["url"], isDefault: json["isDefault"], productId: json["productId"], - ); + ); - Map toJson() => { + Map toJson() => { "id": id, "url": url, "isDefault": isDefault, "productId": productId, - }; + }; } +class ProductTag { + String? id; + String? name; + String? 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!.toIso8601String(), + "updatedAt": updatedAt!.toIso8601String(), + }; +} + +class Store { + String? id; + String? storeName; + String? storeDescription; + String? officialPhoneNumber; + String? storeAddress; + String? gstNumber; + String? gumastaNumber; + String? storePicture; + DateTime? createdAt; + DateTime? updatedAt; + String? 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!.toIso8601String(), + "updatedAt": updatedAt!.toIso8601String(), + "vendorId": vendorId, + "isActive": isActive, + "couponId": couponId, + }; +} diff --git a/lib/src/data/login_response.dart b/lib/src/data/login_response.dart new file mode 100644 index 0000000..b0a284d --- /dev/null +++ b/lib/src/data/login_response.dart @@ -0,0 +1,34 @@ +// To parse this JSON data, do +// +// final loginResponse = loginResponseFromJson(jsonString); + +import 'dart:convert'; + +LoginResponse loginResponseFromJson(String str) => + LoginResponse.fromJson(json.decode(str)); + +String loginResponseToJson(LoginResponse data) => json.encode(data.toJson()); + +class LoginResponse { + String? accessToken; + String? refreshToken; + String? message; + + LoginResponse({ + this.accessToken, + this.refreshToken, + this.message, + }); + + factory LoginResponse.fromJson(Map json) => LoginResponse( + accessToken: json["access_token"], + refreshToken: json["refresh_token"], + message: json["message"], + ); + + Map toJson() => { + "access_token": accessToken, + "refresh_token": refreshToken, + "message": message, + }; +} diff --git a/lib/src/data/product_details.dart b/lib/src/data/product_details.dart new file mode 100644 index 0000000..efa74a5 --- /dev/null +++ b/lib/src/data/product_details.dart @@ -0,0 +1,406 @@ +// To parse this JSON data, do +// +// final productDetails = productDetailsFromJson(jsondynamic); + +import 'dart:convert'; +import 'dart:ffi'; + +ProductDetailsData productDetailsdataFromJson(dynamic str) => + ProductDetailsData.fromJson(json.decode(str)); + +dynamic productDetailsToJson(ProductDetailsData data) => json.encode(data.toJson()); + +class ProductDetailsData { + Data? data; + + ProductDetailsData({ + this.data, + }); + + factory ProductDetailsData.fromJson(Map json) => ProductDetailsData( + data: Data.fromJson(json["data"]), + ); + + Map toJson() => { + "data": data!.toJson(), + }; +} + +class Data { + dynamic id; + dynamic name; + dynamic description; + dynamic additionalInfo; + dynamic brand; + dynamic basePrice; + dynamic discountPrice; + dynamic? stock; + dynamic? quantity; + dynamic unit; + dynamic slug; + dynamic averageRating; + bool? isInStock; + bool? isActive; + DateTime? createdAt; + DateTime? updatedAt; + dynamic storeId; + dynamic categoryId; + dynamic productTypeId; + dynamic timeSlotId; + Store? store; + Category? category; + dynamic? productType; + dynamic timeSlot; + List? productImages; + List? productTags; + List? zones; + List? productReview; + List? questions; + List? cartItems; + List? wishlistItem; + List? applicableCoupons; + bool? isInWishlist; + + Data({ + this.id, + this.name, + this.description, + this.additionalInfo, + this.brand, + this.basePrice, + this.discountPrice, + this.stock, + this.quantity, + this.unit, + this.slug, + this.averageRating, + this.isInStock, + this.isActive, + this.createdAt, + this.updatedAt, + this.storeId, + this.categoryId, + this.productTypeId, + this.timeSlotId, + this.store, + this.category, + this.productType, + this.timeSlot, + this.productImages, + this.productTags, + this.zones, + this.productReview, + this.questions, + this.cartItems, + this.wishlistItem, + this.applicableCoupons, + this.isInWishlist, + }); + + factory Data.fromJson(Map json) => Data( + 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"], + averageRating: json["averageRating"], + isInStock: json["isInStock"], + isActive: json["isActive"], + createdAt: DateTime.parse(json["createdAt"]), + updatedAt: DateTime.parse(json["updatedAt"]), + storeId: json["storeId"], + categoryId: json["categoryId"], + productTypeId: json["productTypeId"], + timeSlotId: json["timeSlotId"], + store: Store.fromJson(json["store"]), + category: Category.fromJson(json["category"]), + productType: json["productType"], + timeSlot: json["timeSlot"], + productImages: List.from( + json["productImages"].map((x) => ProductImage.fromJson(x))), + productTags: List.from(json["productTags"].map((x) => x)), + zones: List.from(json["zones"].map((x) => x)), + productReview: List.from(json["ProductReview"].map((x) => x)), + questions: List.from(json["questions"].map((x) => x)), + cartItems: List.from( + json["cartItems"].map((x) => CartItem.fromJson(x))), + wishlistItem: List.from( + json["WishlistItem"].map((x) => WishlistItem.fromJson(x))), + applicableCoupons: + List.from(json["applicableCoupons"].map((x) => x)), + isInWishlist: json["isInWishlist"], + ); + + Map toJson() => { + "id": id, + "name": name, + "description": description, + "additionalInfo": additionalInfo, + "brand": brand, + "basePrice": basePrice, + "discountPrice": discountPrice, + "stock": stock, + "quantity": quantity, + "unit": unit, + "slug": slug, + "averageRating": averageRating, + "isInStock": isInStock, + "isActive": isActive, + "createdAt": createdAt, + "updatedAt": updatedAt, + "storeId": storeId, + "categoryId": categoryId, + "productTypeId": productTypeId, + "timeSlotId": timeSlotId, + "store": store!.toJson(), + "category": category!.toJson(), + "productType": productType, + "timeSlot": timeSlot, + "productImages": + List.from(productImages!.map((x) => x.toJson())), + "productTags": List.from(productTags!.map((x) => x)), + "zones": List.from(zones!.map((x) => x)), + "ProductReview": List.from(productReview!.map((x) => x)), + "questions": List.from(questions!.map((x) => x)), + "cartItems": List.from(cartItems!.map((x) => x.toJson())), + "WishlistItem": + List.from(wishlistItem!.map((x) => x.toJson())), + "applicableCoupons": + List.from(applicableCoupons!.map((x) => x)), + "isInWishlist": isInWishlist, + }; +} + +class CartItem { + dynamic id; + dynamic quantity; + dynamic priceSnapshot; + dynamic cartId; + dynamic productId; + dynamic storeId; + DateTime? createdAt; + DateTime? updatedAt; + + CartItem({ + this.id, + this.quantity, + this.priceSnapshot, + this.cartId, + this.productId, + this.storeId, + this.createdAt, + this.updatedAt, + }); + + factory CartItem.fromJson(Map json) => CartItem( + id: json["id"], + quantity: json["quantity"], + priceSnapshot: json["priceSnapshot"], + cartId: json["cartId"], + productId: json["productId"], + storeId: json["storeId"], + createdAt: DateTime.parse(json["createdAt"]), + updatedAt: DateTime.parse(json["updatedAt"]), + ); + + Map toJson() => { + "id": id, + "quantity": quantity, + "priceSnapshot": priceSnapshot, + "cartId": cartId, + "productId": productId, + "storeId": storeId, + "createdAt": createdAt, + "updatedAt": updatedAt, + }; +} + +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 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, + }; +} + +class WishlistItem { + dynamic id; + dynamic wishlistId; + dynamic productId; + dynamic storeId; + DateTime? createdAt; + DateTime? updatedAt; + + WishlistItem({ + this.id, + this.wishlistId, + this.productId, + this.storeId, + this.createdAt, + this.updatedAt, + }); + + 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"]), + ); + + Map toJson() => { + "id": id, + "wishlistId": wishlistId, + "productId": productId, + "storeId": storeId, + "createdAt": createdAt, + "updatedAt": updatedAt, + }; +} diff --git a/lib/src/logic/provider/addTocart_provider.dart b/lib/src/logic/provider/addTocart_provider.dart index e59e3ea..7209f34 100644 --- a/lib/src/logic/provider/addTocart_provider.dart +++ b/lib/src/logic/provider/addTocart_provider.dart @@ -97,12 +97,43 @@ class AddtocartProvider extends ChangeNotifier { } } + + + Map isRemoveItem = {}; + + Future deleteItem(BuildContext context, id) async { + isRemoveItem[id] = true; + notifyListeners(); + var data = {}; + try { + var result = await _homeRepo.deleteItem(data, id); + return result.fold( + (error) { + + isRemoveItem[id] = false; + notifyListeners(); + }, + (response) { + getItemCards(context); + isRemoveItem[id] = false; + notifyListeners(); + }, + ); + } catch (e) { + isRemoveItem[id] = false; + + notifyListeners(); + } + } + final _homeRepo = getIt(); AllCartItems allitem = AllCartItems(); bool isLoaddcartItem = true; Future getItemCards(BuildContext context) async { + isLoaddcartItem = true; + notifyListeners(); var data = {}; try { var result = await _homeRepo.getItemCards(data); @@ -120,8 +151,7 @@ class AddtocartProvider extends ChangeNotifier { notifyListeners(); }, ); - } catch (e) - { + } catch (e) { print("sfddsfdfff"); isLoaddcartItem = false; notifyListeners(); diff --git a/lib/src/logic/provider/auth_provider.dart b/lib/src/logic/provider/auth_provider.dart index 005e068..c5f38a9 100644 --- a/lib/src/logic/provider/auth_provider.dart +++ b/lib/src/logic/provider/auth_provider.dart @@ -109,7 +109,7 @@ class AuthProvider extends ChangeNotifier { ScaffoldMessenger.of(context).showSnackBar( SnackBar( - content: Text("Something went wrong. Please try again."), + content: Text("Already have account Please login !"), backgroundColor: Colors.red, ), ); @@ -117,9 +117,52 @@ class AuthProvider extends ChangeNotifier { } } - // //login + Future loginOtp(String otp, BuildContext context) async { + context.showLoader(show: true); + var data = { + "phone": numberwithCode, + "otp": otp, + }; - // //vendorRegister + try { + var result = await _authRepo.loginOtp(data); + + return result.fold( + (error) { + // Show error Snackbar + context.showLoader(show: false); + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(error.message), + backgroundColor: Colors.red, + ), + ); + return false; // Login failed + }, + (response) { + // Login success + context.showLoader(show: false); + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text("OTP Verify successful!"), + backgroundColor: Colors.green, + ), + ); + return true; + }, + ); + } catch (e) { + context.showLoader(show: false); + + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text("Don't have a account ,please create now!"), + backgroundColor: Colors.red, + ), + ); + return false; + } + } Future customerRegister(BuildContext context) async { context.showLoader(show: true); @@ -143,8 +186,7 @@ class AuthProvider extends ChangeNotifier { ); return false; // Login failed }, - (response) - { + (response) { // Login success context.showLoader(show: false); ScaffoldMessenger.of(context).showSnackBar( diff --git a/lib/src/logic/provider/bottom_navbar_provider.dart b/lib/src/logic/provider/bottom_navbar_provider.dart new file mode 100644 index 0000000..082f2e5 --- /dev/null +++ b/lib/src/logic/provider/bottom_navbar_provider.dart @@ -0,0 +1,16 @@ +import 'package:flutter/material.dart'; + +class BottomNavProvider with ChangeNotifier { + int _currentIndex = 0; + PageController _pageController = PageController(); + + int get currentIndex => _currentIndex; + PageController get pageController => _pageController; + + void setIndex(int index) + { + _currentIndex = index; + _pageController.jumpToPage(index); + notifyListeners(); + } +} diff --git a/lib/src/logic/provider/home_provider.dart b/lib/src/logic/provider/home_provider.dart index bc0d31e..8f7b689 100644 --- a/lib/src/logic/provider/home_provider.dart +++ b/lib/src/logic/provider/home_provider.dart @@ -7,6 +7,7 @@ import 'package:grocery_app/src/data/all_cart_items.dart'; import 'package:grocery_app/src/data/banners.dart'; import 'package:grocery_app/src/data/best_dealProduct.dart'; import 'package:grocery_app/src/data/product_category.dart'; +import 'package:grocery_app/src/data/product_details.dart'; import 'package:grocery_app/src/data/wish_list_model.dart'; import 'package:grocery_app/src/logic/repo/product_repo.dart'; import 'package:grocery_app/utils/constants/shared_pref_utils.dart'; @@ -38,6 +39,29 @@ class ProductProvider extends ChangeNotifier { ); } + ProductDetailsData productDetails = ProductDetailsData(); + bool isProductLoading = true; + + Future getProduuctDetails(BuildContext context, String id) async { + var data = {}; + productDetails = ProductDetailsData(); + isProductLoading = true; + notifyListeners(); + + var result = await _homeRepo.getProductDetails(data, context, id); + return result.fold( + (error) { + isProductLoading = false; + notifyListeners(); + }, + (response) { + productDetails = response!; + isProductLoading = false; + notifyListeners(); + }, + ); + } + List bestdeal = []; bool isBestdealingloading = true; @@ -132,7 +156,7 @@ class ProductProvider extends ChangeNotifier { ), ); await SharedPrefUtils.clear(); - context.clearAndPush(routePath: MyRoutes.LOGIN); + context.clearAndPush(routePath: MyRoutes.SIGNUP); return true; }, @@ -319,6 +343,56 @@ class ProductProvider extends ChangeNotifier { } } + List countList = []; + + Future addToWithCart( + BuildContext context, String productId, BestDeal bestdealproduct) async { + //if (cartItems.contains(productId)) return; // Prevent duplicate additions + + isLoading[productId] = true; + notifyListeners(); // Notify UI to show loading indicator + + 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) { + countList.add(bestdealproduct); + 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 = []; @@ -360,8 +434,7 @@ class ProductProvider extends ChangeNotifier { int get quantity => _quantity; double get totalPrice => _totalPrice; - void setProductPrice(double price) - { + void setProductPrice(double price) { _unitPrice = price; _totalPrice = _unitPrice * _quantity; notifyListeners(); @@ -406,6 +479,4 @@ class ProductProvider extends ChangeNotifier { } ///////////////////////////////////////////////////// all carts//////////////////////// - - } diff --git a/lib/src/logic/repo/auth_repo.dart b/lib/src/logic/repo/auth_repo.dart index 576d36f..2439ad9 100644 --- a/lib/src/logic/repo/auth_repo.dart +++ b/lib/src/logic/repo/auth_repo.dart @@ -5,6 +5,7 @@ import 'package:fpdart/fpdart.dart'; import 'package:grocery_app/src/core/utils/custom_dio_exception.dart'; import 'package:grocery_app/src/core/utils/response_type_def.dart'; import 'package:grocery_app/src/data/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/vendor_otpModel.dart'; import 'package:grocery_app/src/logic/services/auth_service_locator.dart'; @@ -19,8 +20,7 @@ class AuthRepo { try { var response = await _authServices.sendOtp(data); final String model = response.toString(); - // OtpResponseModel otpResponseModel = - // otpResponseModelFromJson(response.toString()); + return right(model); } on DioException catch (e) { @@ -42,7 +42,7 @@ class AuthRepo { authToken: vendorOtpModel.data!.accessToken ?? ""); } - // final String model = response.toString(); + return right(vendorOtpModel); } on DioException catch (e) { @@ -51,6 +51,27 @@ class AuthRepo { } } + FutureResult loginOtp(data) async { + try { + var response = await _authServices.loginOtp(data); + + LoginResponse loginResponse = loginResponseFromJson(response.toString()); + + if (loginResponse.accessToken != null) + { + await SharedPrefUtils.setToken( + authToken: loginResponse.accessToken ?? ""); + } + + // final String model = response.toString(); + + return right(loginResponse); + } on DioException catch (e) { + var error = CustomDioExceptions.handleError(e); + return left(error); + } + } + // FutureResult login(data) async { // try { // var response = await _authServices.login(data); diff --git a/lib/src/logic/repo/product_repo.dart b/lib/src/logic/repo/product_repo.dart index 93672f5..b7f2c20 100644 --- a/lib/src/logic/repo/product_repo.dart +++ b/lib/src/logic/repo/product_repo.dart @@ -9,8 +9,10 @@ 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/product_category.dart'; +import 'package:grocery_app/src/data/product_details.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'; class ProductRepo { final ProductService _productService; @@ -34,6 +36,24 @@ class ProductRepo { } } + FutureResult getProductDetails( + data, BuildContext context, id) async { + try { + var response = await _productService.getProductDetails(data, id); + + ProductDetailsData loginResponse = productDetailsdataFromJson(response.toString()); + + final String model = response.toString(); + + return right(loginResponse); + } on DioException catch (e) { + var error = CustomDioExceptions.handleError(e); + return left(error); + } + } + + + FutureResult getBestDealProduct( data, BuildContext context) async { try { @@ -103,14 +123,26 @@ class ProductRepo { } } - FutureResult checkPin(data,pin) async { + FutureResult checkPin(data, pin) async { try { - var response = await _productService.checkPin(data,pin); - CheckPinResponse allCartItems = checkPinResponseFromJson(response.toString()); + var response = await _productService.checkPin(data, pin); + CheckPinResponse allCartItems = + checkPinResponseFromJson(response.toString()); return right(allCartItems); } on DioException catch (e) { - + var error = CustomDioExceptions.handleError(e); + return left(error); + } + } + + FutureResult deleteItem(data, id) async { + try { + var response = await _productService.deleteItem(data, id); + final String model = response.toString(); + + return right(model); + } on DioException catch (e) { var error = CustomDioExceptions.handleError(e); return left(error); } diff --git a/lib/src/logic/services/auth_service_locator.dart b/lib/src/logic/services/auth_service_locator.dart index 7358b11..54614ce 100644 --- a/lib/src/logic/services/auth_service_locator.dart +++ b/lib/src/logic/services/auth_service_locator.dart @@ -23,6 +23,12 @@ class AuthServices extends ApiService { var response = await api.post(APIURL.verifyOtp, data: jsonEncode(data)); return response; } + Future loginOtp(data) async { + var response = await api.post(APIURL.loginOtp, data: jsonEncode(data)); + return response; + } + + Future login(data) async { var response = await api.post(APIURL.login, data: jsonEncode(data)); diff --git a/lib/src/logic/services/home_locator.dart b/lib/src/logic/services/home_locator.dart index 6590f67..d88c6d0 100644 --- a/lib/src/logic/services/home_locator.dart +++ b/lib/src/logic/services/home_locator.dart @@ -21,16 +21,24 @@ class ProductService extends ApiService { var response; if (id.isEmpty) { - response = - await api.get(APIURL.getAllProduct, data: jsonEncode(data)); - } - else{ - response = await api.get(APIURL.getAllProduct+ id, data: jsonEncode(data)); + response = await api.get(APIURL.getAllProduct, data: jsonEncode(data)); + } else { + response = + await api.get(APIURL.getAllProduct + id, data: jsonEncode(data)); } return response; } + Future getProductDetails(data, id) async { + var response = + await api.get(APIURL.getProductDetails + id, data: jsonEncode(data)); + + return response; + } + + // + Future getBestDealProduct(data) async { var response = await api.get(APIURL.getBestDealProduct, data: jsonEncode(data)); @@ -44,55 +52,50 @@ class ProductService extends ApiService { return response; } - Future similarProduct(data,id) async { - var response = await api.get(APIURL.similarProduct+id+"/similar", data: jsonEncode(data)); + Future similarProduct(data, id) async { + var response = await api.get(APIURL.similarProduct + id + "/similar", + data: jsonEncode(data)); return response; } - Future getItemCards(data) async { + Future getItemCards(data) async { var response = await api.get(APIURL.getItemCards, data: jsonEncode(data)); return response; } - Future checkPin(data,pin) async { - var response = await api.get(APIURL.checkPin+pin, data: jsonEncode(data)); + Future checkPin(data, pin) async { + var response = await api.get(APIURL.checkPin + pin, data: jsonEncode(data)); return response; } - + Future deleteItem(data, id) async { + var response = + await api.delete(APIURL.deleteItem + id, data: jsonEncode(data)); + return response; + } - - - - - Future addToWish(data) async { + Future addToWish(data) async { var response = await api.post(APIURL.addToWish, data: jsonEncode(data)); return response; } - Future addToCart(data) async { + Future addToCart(data) async { var response = await api.post(APIURL.addToCart, data: jsonEncode(data)); return response; } - Future gettAllWishList(data) async { - var response = await api.get(APIURL.gettAllWishList, data: jsonEncode(data)); + Future gettAllWishList(data) async { + var response = + await api.get(APIURL.gettAllWishList, data: jsonEncode(data)); return response; } - - - - - - - Future getBanners(data) async { var response = await api.get(APIURL.getBanners, data: jsonEncode(data)); diff --git a/lib/src/ui/bestdeal/bestdeal_screen.dart b/lib/src/ui/bestdeal/bestdeal_screen.dart index 9626a5a..fd33ae1 100644 --- a/lib/src/ui/bestdeal/bestdeal_screen.dart +++ b/lib/src/ui/bestdeal/bestdeal_screen.dart @@ -1,9 +1,12 @@ import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:go_router/go_router.dart'; import 'package:grocery_app/src/common_widget/network_image.dart'; import 'package:grocery_app/src/core/routes/routes.dart'; +import 'package:grocery_app/src/data/all_cart_items.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/utils/constants/assets_constant.dart'; import 'package:grocery_app/utils/constants/color_constant.dart'; @@ -58,7 +61,16 @@ class _BestDealScreenState extends State { ) ], ), - floatingActionButton: Padding( + floatingActionButton: floatingAction(), + body: itemBestdeal()); + } + + Widget floatingAction() { + return Consumer(builder: (context, provider, child) { + if (provider.countList.isEmpty) { + return Center(); + } else { + return Padding( padding: const EdgeInsets.only(left: 30), child: Container( height: 80, @@ -106,34 +118,41 @@ class _BestDealScreenState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Text( - '2 Items', + provider.countList.length.toString(), style: context.customRegular(Colors.white, 18), ), - Text( - '\$25', - style: context.customExtraBold(Colors.white, 20), - ) ], ), const Spacer(), - Text( - 'View Cart', - style: context.customMedium(Colors.white, 24), - ), - const SizedBox( - width: 10, - ), - const Icon( - Icons.arrow_forward, - color: Colors.white, - size: 35, - ), + InkWell( + onTap: () { + context.read().setIndex(2); + Navigator.pop(context); + }, + child: Row( + children: [ + Text( + 'View Cart', + style: context.customMedium(Colors.white, 24), + ), + const SizedBox( + width: 10, + ), + const Icon( + Icons.arrow_forward, + color: Colors.white, + size: 35, + ), + ], + ), + ) ], ), ), ), - ), - body: itemBestdeal()); + ); + } + }); } Widget itemBestdeal() { @@ -156,182 +175,183 @@ class _BestDealScreenState extends State { ), itemBuilder: (context, index) { var bestdealproduct = provider.bestdeal[index]; - return Container( - 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: MediaQuery.of(context).size.height * - 0.15, // Dynamic height - width: MediaQuery.of(context).size.width * - 0.4, // Dynamic width - decoration: BoxDecoration( - color: APPCOLOR.bgGrey, - borderRadius: BorderRadius.circular(15), - ), - child: Stack( - alignment: Alignment.center, - children: [ - Center( - child: AppNetworkImage( - height: - MediaQuery.of(context).size.height * 0.13, - width: MediaQuery.of(context).size.width * 0.35, - imageUrl: - bestdealproduct.productImages?.first.url ?? - "", - backGroundColor: Colors.transparent, + return InkWell( + onTap: () { + context.push(MyRoutes.PRODUCTDETAILS, + extra: bestdealproduct.id); + }, + child: Container( + 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: MediaQuery.of(context).size.height * + 0.15, // Dynamic height + width: MediaQuery.of(context).size.width * + 0.4, // Dynamic width + decoration: BoxDecoration( + color: APPCOLOR.bgGrey, + borderRadius: BorderRadius.circular(15), + ), + child: Stack( + alignment: Alignment.center, + children: [ + Center( + child: AppNetworkImage( + height: + MediaQuery.of(context).size.height * 0.13, + width: + MediaQuery.of(context).size.width * 0.35, + 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.005), + Text( + bestdealproduct.name ?? "", + textAlign: TextAlign.left, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: context.customMedium(APPCOLOR.balck1A1A1A, 16), + ), + 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, + ), + ), + 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, + ), + ), + ], ), - Positioned( - right: 5, - top: 5, - child: InkWell( + Spacer(), + Align( + alignment: Alignment.centerRight, + child: GestureDetector( onTap: () async { if (await SharedPrefUtils.getToken() != null) { - provider.toggleWishlist( - context, bestdealproduct.id!); + await provider.addToWithCart(context, + bestdealproduct.id!, bestdealproduct); } else { - context.push(MyRoutes.LOGIN); + context.push(MyRoutes.SIGNUP); } }, - child: Icon( - provider.wishlist.contains(bestdealproduct.id) - ? Icons.favorite - : Icons.favorite_border, - color: provider.wishlist - .contains(bestdealproduct.id) - ? Colors.red - : Colors.grey, + 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( + // provider.cartItems + // .contains(bestdealproduct.id) + // ? 'Added' + // : + 'Add', + style: context.customRegular( + Colors.white, 12), + ), + ), ), ), ), ], ), - ), - SizedBox( - height: MediaQuery.of(context).size.height * 0.005), - Text( - bestdealproduct.name ?? "", - textAlign: TextAlign.left, - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: context.customMedium(APPCOLOR.balck1A1A1A, 16), - ), - 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, - ), - ), - 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, - ), - ), - ], - ), - Spacer(), - Align( - alignment: Alignment.centerRight, - child: GestureDetector( - onTap: () async { - print( - "Add to Cart Pressed for ${bestdealproduct.id}"); - - if (await SharedPrefUtils.getToken() != null) { - // if (!(provider - // .isLoading[bestdealproduct.id] ?? - // false)) - // { - - await provider.addToCart( - context, bestdealproduct.id!); - - // } - } else { - context.push(MyRoutes.LOGIN); - } - }, - 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( - // provider.cartItems - // .contains(bestdealproduct.id) - // ? 'Added' - // : - 'Add', - style: context.customRegular( - Colors.white, 12), - ), - ), - ), - ), - ), - ], - ), - ], + ], + ), ), ), ); diff --git a/lib/src/ui/bottomnavigation/bottom_bar_widget.dart b/lib/src/ui/bottomnavigation/bottom_bar_widget.dart index 6da42af..3debc83 100644 --- a/lib/src/ui/bottomnavigation/bottom_bar_widget.dart +++ b/lib/src/ui/bottomnavigation/bottom_bar_widget.dart @@ -2,12 +2,14 @@ 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/ui/cart/cartview_screen.dart'; import 'package:grocery_app/src/ui/favourite/favourite_screen.dart'; import 'package:grocery_app/src/ui/header.dart'; import 'package:grocery_app/src/ui/home/home_screen.dart'; import 'package:grocery_app/src/ui/profilepage/profile_screen.dart'; import 'package:grocery_app/utils/constants/color_constant.dart'; +import 'package:provider/provider.dart'; class BottomBarWidget extends StatefulWidget { const BottomBarWidget({super.key}); @@ -69,10 +71,11 @@ class _BottomBarState extends State { @override Widget build(BuildContext context) { SizeConfig().init(context); + final bottomNavProvider = Provider.of(context); return Scaffold( body: PageView( - controller: bottomWidgetPageController, + controller: bottomNavProvider.pageController, physics: const NeverScrollableScrollPhysics(), children: [ HomeScreen(), @@ -89,7 +92,10 @@ class _BottomBarState extends State { duration: const Duration(milliseconds: 300), curve: Curves.decelerate, top: 0, - left: (_currentIndex * MediaQuery.sizeOf(context).width / 4) + 42, + left: (bottomNavProvider.currentIndex * + MediaQuery.sizeOf(context).width / + 4) + + 42, child: Column( children: [ ClipPath( @@ -119,26 +125,26 @@ class _BottomBarState extends State { BottomNavButton( icon: Icons.home, index: 0, - currentIndex: _currentIndex, - onPressed: _onNavButtonTapped, + currentIndex: bottomNavProvider.currentIndex, + onPressed: bottomNavProvider.setIndex, ), BottomNavButton( icon: Icons.favorite, index: 1, - currentIndex: _currentIndex, - onPressed: _onNavButtonTapped, + currentIndex: bottomNavProvider.currentIndex, + onPressed: bottomNavProvider.setIndex, ), BottomNavButton( icon: Icons.shopping_bag, index: 2, - currentIndex: _currentIndex, - onPressed: _onNavButtonTapped, + currentIndex: bottomNavProvider.currentIndex, + onPressed: bottomNavProvider.setIndex, ), BottomNavButton( icon: Icons.person, index: 3, - currentIndex: _currentIndex, - onPressed: _onNavButtonTapped, + currentIndex: bottomNavProvider.currentIndex, + onPressed: bottomNavProvider.setIndex, ), ], ), diff --git a/lib/src/ui/cart/cart_item.dart b/lib/src/ui/cart/cart_item.dart deleted file mode 100644 index 88964b0..0000000 --- a/lib/src/ui/cart/cart_item.dart +++ /dev/null @@ -1,99 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:flutter_svg/svg.dart'; -import 'package:grocery_app/src/common_widget/network_image.dart'; -import 'package:grocery_app/src/ui/widgets/custom_icon_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/extensions/uicontext.dart'; - -class CartItem extends StatelessWidget { - // final ProductModel product; - const CartItem({ - Key? key, - // required this.product, - }) : super(key: key); - - @override - Widget build(BuildContext context) - { - - return - - Padding( - padding: EdgeInsets.symmetric(horizontal: 24.w), - child: Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Container( - decoration: BoxDecoration( - color: Colors.greenAccent.withOpacity(0.1), - borderRadius: BorderRadius.circular(5), - ), - child: AppNetworkImage( - width: 50.w, - height: 40.h, - imageUrl: - 'https://i.pinimg.com/originals/a5/f3/5f/a5f35fb23e942809da3df91b23718e8d.png', - backGroundColor: APPCOLOR.bgGrey, - radius: 10, - ), - ), - // Image.asset(product.image, width: 50.w, height: 40.h), - - 16.horizontalSpace, - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "Vegitables and Fruits", - textAlign: TextAlign.center, - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: context.customMedium(APPCOLOR.balck1A1A1A, 14), - ), - 5.verticalSpace, - Text( - '1kg, 10\$', - style: context.customMedium(APPCOLOR.balck1A1A1A, 14), - ), - ], - ), - const Spacer(), - Row( - children: [ - CustomIconButton( - width: 20.w, - height: 20.h, - onPressed: () {}, - icon: SvgPicture.asset( - APPASSETS.removeIcon, - fit: BoxFit.none, - ), - backgroundColor: APPCOLOR.appGreen, - ), - 16.horizontalSpace, - Text( - "10", - style: context.customMedium(APPCOLOR.balck1A1A1A, 14), - ), - 16.horizontalSpace, - CustomIconButton( - width: 20.w, - height: 20.h, - onPressed: () {}, - icon: SvgPicture.asset( - APPASSETS.addIcon, - fit: BoxFit.none, - ), - backgroundColor: APPCOLOR.appGreen, - ), - ], - ) - ], - ), - ); - - - } -} diff --git a/lib/src/ui/cart/cartview_screen.dart b/lib/src/ui/cart/cartview_screen.dart index 450afd4..8566b20 100644 --- a/lib/src/ui/cart/cartview_screen.dart +++ b/lib/src/ui/cart/cartview_screen.dart @@ -9,7 +9,7 @@ import 'package:grocery_app/src/common_widget/textfield_widget.dart'; import 'package:grocery_app/src/logic/provider/addTocart_provider.dart'; import 'package:grocery_app/src/logic/provider/home_provider.dart'; import 'package:grocery_app/src/ui/bestdeal/bestdeal_screen.dart'; -import 'package:grocery_app/src/ui/cart/cart_item.dart'; + 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'; @@ -32,6 +32,7 @@ class _MycartState extends State { void initState() { Provider.of(context, listen: false) .getItemCards(context); + Provider.of(context, listen: false) .getCurrentLocation(context); @@ -213,15 +214,16 @@ class _MycartState extends State { Widget cartItems() { return Consumer(builder: (context, provider, child) { - print("djkhsfjh ${provider.allitem.items}"); if (provider.isLoaddcartItem) { - return Padding( - padding: const EdgeInsets.only(left: 120), - child: CircularProgressIndicator(), + 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) { + } else if (provider.allitem.items == null || + provider.allitem.items!.isEmpty) { return Center(child: Text('🛒 Your Front Shop Cart is empty')); } else { return ListView.separated( @@ -235,7 +237,6 @@ class _MycartState extends State { itemBuilder: (context, index) { var items = provider.allitem.items![index]; - print("kdfgdjfgkj ${items}"); return Padding( padding: EdgeInsets.symmetric(horizontal: 10.w), child: Row( @@ -303,38 +304,76 @@ class _MycartState extends State { ), ), const Spacer(), - Row( + + Column( children: [ - CustomIconButton( - width: 14.w, - height: 14.h, - onPressed: () { - // provider.decreaseQuantity(items); + 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); }, - icon: SvgPicture.asset( - APPASSETS.removeIcon, - fit: BoxFit.none, + 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")), ), - 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, - ), + ) ], ) ], @@ -356,7 +395,9 @@ class _MycartState extends State { if (provider.isLoaddcartItem) { return Padding( padding: const EdgeInsets.only(left: 120), - child: CircularProgressIndicator(), + child: CircularProgressIndicator( + color: Colors.white, + ), ); } else if (provider.allitem == null) { return Center(child: Text('🛒 Your Front Shop Cart is empty')); @@ -384,9 +425,7 @@ class _MycartState extends State { trailing: Icon(Icons.arrow_forward_ios), onTap: () {}, ), - SummaryRow( - label: 'Item Total', - value: '\$22'), + SummaryRow(label: 'Item Total', value: '\$22'), SummaryRow(label: 'Discount', value: '\$2'), SummaryRow(label: 'Delivery Free', value: 'Free', isGreen: true), Divider(), diff --git a/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart b/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart index 5965ce4..8a1207e 100644 --- a/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart +++ b/lib/src/ui/fruitvegidetail/fruit_veggie_detail.dart @@ -106,219 +106,231 @@ class _FruitVeggieDetailState extends State { crossAxisSpacing: 10, mainAxisSpacing: 10, ), - itemBuilder: (context, index) { + itemBuilder: (context, index) + { var product = provider.products[index]; - - return Container( - height: itemHeight, - 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: itemWidth * - 0.6, // Adjust height for image container - width: itemWidth, - decoration: BoxDecoration( - color: APPCOLOR.bgGrey, - borderRadius: BorderRadius.circular(15), - ), - child: Stack( - alignment: Alignment.center, - children: [ - AppNetworkImage( - height: 70, - width: 70, - imageUrl: product - .productImages!.first.url ?? - "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: InkWell( - // onTap: () async { - // if (await SharedPrefUtils.getToken() != - // null) { - // if (product.isInWishlist) { - // Fluttertoast.showToast( - // msg: "Item already added!", - // toastLength: Toast.LENGTH_SHORT, - // gravity: ToastGravity.BOTTOM, - // backgroundColor: Colors.green, - // textColor: Colors.white, - // fontSize: 14.0, - // ); - // } else { - // //product.isInWishlist=ture; - // provider - // .toggleWishlist1(product.id!); - // } - // } else { - // context.push(MyRoutes.LOGIN); - // } - // }, - // child: Icon( - // product.isInWishlist - // ? Icons.favorite - // : Icons.favorite_border, - // color: product.isInWishlist - // ? Colors.red - // : Colors.grey, - // ), - // ), - // ), + return InkWell( + onTap: () + { + context.push(MyRoutes.PRODUCTDETAILS, + extra: product.id); + }, + child: Container( + height: itemHeight, + 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: itemWidth * + 0.6, // Adjust height for image container + width: itemWidth, + decoration: BoxDecoration( + color: APPCOLOR.bgGrey, + borderRadius: BorderRadius.circular(15), + ), + child: Stack( + alignment: Alignment.center, + children: [ + AppNetworkImage( + height: 70, + width: 70, + imageUrl: product + .productImages!.first.url ?? + "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: InkWell( + // onTap: () async { + // if (await SharedPrefUtils.getToken() != + // null) { + // if (product.isInWishlist) { + // Fluttertoast.showToast( + // msg: "Item already added!", + // toastLength: Toast.LENGTH_SHORT, + // gravity: ToastGravity.BOTTOM, + // backgroundColor: Colors.green, + // textColor: Colors.white, + // fontSize: 14.0, + // ); + // } else { + // //product.isInWishlist=ture; + // provider + // .toggleWishlist1(product.id!); + // } + // } else { + // context.push(MyRoutes.LOGIN); + // } + // }, + // child: Icon( + // product.isInWishlist + // ? Icons.favorite + // : Icons.favorite_border, + // color: product.isInWishlist + // ? Colors.red + // : Colors.grey, + // ), + // ), + // ), - Positioned( - right: 5, - top: 5, - child: InkWell( + Positioned( + right: 5, + top: 5, + child: InkWell( + onTap: () async { + if (await SharedPrefUtils + .getToken() != + null) { + provider.toggleWishlist( + context, product.id!); + } else { + context.push(MyRoutes.SIGNUP); + } + }, + child: Icon( + provider.wishlist.contains(product.id) + ? Icons.favorite + : Icons.favorite_border, + color: provider.wishlist + .contains(product.id) + ? Colors.red + : Colors.grey, + ), + ), + ), + ], + ), + ), + const SizedBox(height: 5), + Text( + product.name ?? " ", + textAlign: TextAlign.left, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: context.customMedium( + APPCOLOR.balck1A1A1A, 14), + ), + const SizedBox(height: 5), + Text( + product.unit ?? " ", + textAlign: TextAlign.left, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: context.customMedium( + Colors.grey.withOpacity(0.8), + 12, + ), + ), + const SizedBox(height: 3), + Row( + children: [ + Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + Text( + "\$${product.discountPrice ?? " "}", + textAlign: TextAlign.left, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: context.customSemiBold( + Colors.black, 12), + ), + const SizedBox(width: 5), + Text( + "\$${product.basePrice ?? " "}", + textAlign: TextAlign.left, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: context + .customMedium( + Colors.grey.withOpacity(0.8), + 12, + ) + .copyWith( + decoration: + TextDecoration.lineThrough, + ), + ), + ], + ), + Spacer(), + Align( + alignment: Alignment.centerRight, + child: GestureDetector( onTap: () async { + print( + "Add to Cart Pressed for ${product.id}"); + if (await SharedPrefUtils.getToken() != null) { - provider.toggleWishlist( + await provider.addToCart( context, product.id!); } else { - context.push(MyRoutes.LOGIN); + context.push(MyRoutes.SIGNUP); } }, - child: Icon( - provider.wishlist.contains(product.id) - ? Icons.favorite - : Icons.favorite_border, - color: provider.wishlist - .contains(product.id) - ? Colors.red - : Colors.grey, + 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[product.id] ?? + false + ? Padding( + padding: + const EdgeInsets.all(8.0), + child: Container( + height: 10, + width: 10, + child: + CircularProgressIndicator( + color: Colors.white, + strokeWidth: 2), + ), + ) + : Text( + // provider.cartItems + // .contains(bestdealproduct.id) + // ? 'Added' + // : + 'Add', + style: context.customRegular( + Colors.white, 12), + ), + ), ), ), ), ], ), - ), - const SizedBox(height: 5), - Text( - product.name ?? " ", - textAlign: TextAlign.left, - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: context.customMedium( - APPCOLOR.balck1A1A1A, 14), - ), - const SizedBox(height: 5), - Text( - product.unit ?? " ", - textAlign: TextAlign.left, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: context.customMedium( - Colors.grey.withOpacity(0.8), - 12, - ), - ), - const SizedBox(height: 3), - Row( - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - "\$${product.discountPrice ?? " "}", - textAlign: TextAlign.left, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: context.customSemiBold( - Colors.black, 12), - ), - const SizedBox(width: 5), - Text( - "\$${product.basePrice ?? " "}", - textAlign: TextAlign.left, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: context - .customMedium( - Colors.grey.withOpacity(0.8), - 12, - ) - .copyWith( - decoration: - TextDecoration.lineThrough, - ), - ), - ], - ), - Spacer(), - Align( - alignment: Alignment.centerRight, - child: GestureDetector( - onTap: () async { - print( - "Add to Cart Pressed for ${product.id}"); - - if (await SharedPrefUtils.getToken() != - null) { - await provider.addToCart( - context, product.id!); - } else { - context.push(MyRoutes.LOGIN); - } - }, - 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[product.id] ?? - false - ? Padding( - padding: - const EdgeInsets.all(8.0), - child: Container( - height: 10, - width: 10, - child: - CircularProgressIndicator( - color: Colors.white, - strokeWidth: 2), - ), - ) - : Text( - // provider.cartItems - // .contains(bestdealproduct.id) - // ? 'Added' - // : - 'Add', - style: context.customRegular( - Colors.white, 12), - ), - ), - ), - ), - ), - ], - ), - ], + ], + ), ), ), ); diff --git a/lib/src/ui/home/home_screen.dart b/lib/src/ui/home/home_screen.dart index 27894ff..718cf35 100644 --- a/lib/src/ui/home/home_screen.dart +++ b/lib/src/ui/home/home_screen.dart @@ -190,192 +190,198 @@ class _HomeScreenState extends State { double cardWidth = MediaQuery.of(context).size.width * 0.4; // Dynamic width - return 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: [ - Center( - child: Container( - height: MediaQuery.of(context).size.height * 0.12, - width: cardWidth * 0.9, - decoration: BoxDecoration( - color: APPCOLOR.bgGrey, - borderRadius: BorderRadius.circular(15), + 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: [ + 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, + // ), + // ), + // ), + ], + ), ), - 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 { + print( + "Add to Cart Pressed for ${bestdealproduct.id}"); + + if (await SharedPrefUtils.getToken() != + null) { + // if (!(provider + // .isLoading[bestdealproduct.id] ?? + // false)) + // { + + await provider.addToCart( + context, bestdealproduct.id!); + + // } + } 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), + ), ), ), ), - ], - ), - ), - ), - 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 { - print( - "Add to Cart Pressed for ${bestdealproduct.id}"); - - if (await SharedPrefUtils.getToken() != - null) { - // if (!(provider - // .isLoading[bestdealproduct.id] ?? - // false)) - // { - - await provider.addToCart( - context, bestdealproduct.id!); - - // } - } else { - context.push(MyRoutes.LOGIN); - } - }, - 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( - // provider.cartItems - // .contains(bestdealproduct.id) - // ? 'Added' - // : - 'Add', - style: context.customRegular( - Colors.white, 12), - ), - ), - ), ), - ), - ], - ), - ], + ], + ), + ], + ), ), ), ), @@ -505,7 +511,7 @@ class _HomeScreenState extends State { var product = provider.products[index]; return InkWell( onTap: () { - context.push(MyRoutes.PRODUCTDETAILS, extra: product); + context.push(MyRoutes.PRODUCTDETAILS, extra: product.id); }, child: SizedBox( child: Column( diff --git a/lib/src/ui/login/login_screen.dart b/lib/src/ui/login/login_screen.dart index 182287f..20966aa 100644 --- a/lib/src/ui/login/login_screen.dart +++ b/lib/src/ui/login/login_screen.dart @@ -92,7 +92,7 @@ class _LoginScreenState extends State { await pageNotifier.sendOtp(phoneController.text, context); if (success) { - context.push(MyRoutes.OTPSCREEN); + context.push(MyRoutes.LOGINOTPSCREEN); } else { ScaffoldMessenger.of(context).showSnackBar( SnackBar( diff --git a/lib/src/ui/login/signup_screen.dart b/lib/src/ui/login/signup_screen.dart new file mode 100644 index 0000000..a58e066 --- /dev/null +++ b/lib/src/ui/login/signup_screen.dart @@ -0,0 +1,154 @@ +import 'package:flutter/gestures.dart'; +import 'package:flutter/material.dart'; +import 'package:go_router/go_router.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/auth_provider.dart'; +import 'package:grocery_app/src/ui/otp/otp_screen.dart'; +import 'package:grocery_app/utils/constants/color_constant.dart'; +import 'package:grocery_app/utils/constants/string_constant.dart'; +import 'package:grocery_app/utils/extensions/uicontext.dart'; +import 'package:provider/provider.dart'; + +class SingnuScreen extends StatefulWidget { + const SingnuScreen({super.key}); + + @override + State createState() => _SingnuScreenState(); +} + +class _SingnuScreenState extends State { + TextEditingController phoneController = TextEditingController(); + + String? validatePhoneNumber(String? value) { + if (value == null || value.isEmpty) { + return 'Phone number cannot be empty'; + } else if (!RegExp(r'^\d{10}$').hasMatch(value)) { + return 'Enter a valid 10-digit phone number'; + } + return null; + } + + final _formKey = GlobalKey(); + @override + Widget build(BuildContext context) { + final pageNotifier = Provider.of(context, listen: false); + + return Scaffold( + body: Container( + width: MediaQuery.sizeOf(context).width, + height: MediaQuery.sizeOf(context).height, + decoration: BoxDecoration( + color: Colors.greenAccent.withOpacity(0.1), + ), + child: Padding( + padding: context.bodyAllPadding, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 30), + Text( + APPSTRING.enterYourMobileNumber, + style: context.customMedium(APPCOLOR.balck1A1A1A, 18), + ), + const SizedBox(height: 40), + Text( + APPSTRING.whatYourPhoneNumber, + style: context.customMedium(APPCOLOR.black333333, 18), + ), + SizedBox( + width: 200, + child: Text( + APPSTRING.codeSentText, + style: context.customMedium(APPCOLOR.grey666666, 14), + ), + ), + const SizedBox(height: 40), + Form( + key: _formKey, + child: AppTextFieldWidget( + length: 10, + controller: phoneController, + hintText: APPSTRING.phoneNumberHint, + onValidate: (value) => validatePhoneNumber(value), + ), + ), + RichText( + text: TextSpan( + text: "Already have an account? ", + style: TextStyle(color: Colors.black, fontSize: 16), + children: [ + TextSpan( + text: "Login", + style: TextStyle( + color: Colors.blue, + fontWeight: FontWeight.bold, + decoration: TextDecoration.underline, + ), + // Navigate to Login Screen when tapped + recognizer: TapGestureRecognizer() + ..onTap = () { + context.push(MyRoutes.LOGIN); + }, + ), + ])), + Text( + "", + style: context.customMedium(APPCOLOR.balck1A1A1A, 18), + ), + ], + ), + ), + ), + bottomNavigationBar: Container( + decoration: BoxDecoration( + color: Colors.greenAccent.withOpacity(0.1), + ), + height: 100, + child: Padding( + padding: context.bodyAllPadding.copyWith(bottom: 20), + child: Center( + child: InkWell( + onTap: () async { + if (_formKey.currentState?.validate() ?? false) { + final success = + await pageNotifier.sendOtp(phoneController.text, context); + + if (success) { + context.push(MyRoutes.OTPSCREEN); + } else { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text("Failed to send OTP. Please try again."), + ), + ); + } + } else { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text("Enter a valid 10-digit phone number."), + ), + ); + } + }, + child: Container( + height: 50, + width: MediaQuery.sizeOf(context).width, + decoration: BoxDecoration( + color: APPCOLOR.appGreen, + borderRadius: BorderRadius.circular(4)), + child: Center( + child: Text( + APPSTRING.verifyButton, + style: context.customMedium(Colors.white, 16), + ), + ), + ), + ), + ), + ), + ), + ); + } +} diff --git a/lib/src/ui/onboarding/on_boarding_screen.dart b/lib/src/ui/onboarding/on_boarding_screen.dart index 20cab18..34dca51 100644 --- a/lib/src/ui/onboarding/on_boarding_screen.dart +++ b/lib/src/ui/onboarding/on_boarding_screen.dart @@ -33,7 +33,7 @@ class _OnBoardingScreenState extends State { skipbyarrowFunction() { SharedPrefUtils.setFreshInstall(isFresh: false).then( - (value) => context.clearAndPush(routePath: MyRoutes.LOGIN, args: 0), + (value) => context.clearAndPush(routePath: MyRoutes.SIGNUP, args: 0), ); } diff --git a/lib/src/ui/otp/login_otp.dart b/lib/src/ui/otp/login_otp.dart new file mode 100644 index 0000000..a03ad23 --- /dev/null +++ b/lib/src/ui/otp/login_otp.dart @@ -0,0 +1,123 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_svg/flutter_svg.dart'; +import 'package:go_router/go_router.dart'; +import 'package:grocery_app/src/logic/provider/auth_provider.dart'; +import 'package:grocery_app/src/ui/entername/enter_fullname_screen.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/string_constant.dart'; +import 'package:grocery_app/utils/extensions/color_ex.dart'; +import 'package:grocery_app/utils/extensions/extensions.dart'; +import 'package:grocery_app/utils/extensions/uicontext.dart'; +import 'package:otp_text_field/otp_text_field.dart'; +import 'package:otp_text_field/style.dart'; +import 'package:provider/provider.dart'; + +import '../../core/routes/routes.dart'; + +class LoginOtpScreen extends StatefulWidget { + const LoginOtpScreen({super.key}); + + @override + State createState() => _LoginOtpScreenState(); +} + +class _LoginOtpScreenState extends State { + String maskNumber(String number) { + // Ensure the input has at least 4 digits to avoid errors + if (number.length < 4) { + throw Exception('Number is too short to mask'); + } + + // Replace all characters except the last 4 with '*' + String maskedPart = '*' * (number.length - 4); + String visiblePart = number.substring(number.length - 4); + return maskedPart + visiblePart; + } + + @override + Widget build(BuildContext context) { + final pageNotifier = Provider.of(context, listen: false); + + return Scaffold( + body: Container( + width: MediaQuery.sizeOf(context).width, + height: MediaQuery.sizeOf(context).height, + decoration: BoxDecoration( + color: Colors.greenAccent.withOpacity(0.1), + ), + child: Padding( + padding: context.bodyAllPadding, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const SizedBox(height: 30), + InkWell( + onTap: () { + Navigator.of(context).pop(); + }, + child: SvgPicture.asset(APPASSETS.back)), + const SizedBox(height: 30), + Text( + APPSTRING.enterVerificationCode, + style: context.customMedium(APPCOLOR.black333333, 18), + ), + SizedBox( + width: 300, + child: Text( + "Enter the 6-digit code sent to you at ${maskNumber(pageNotifier.numberwithCode)}", + style: context.customRegular(APPCOLOR.grey666666, 16), + ), + ), + const SizedBox(height: 20), + OTPTextField( + length: 6, + onChanged: (c) + { + + }, + width: MediaQuery.of(context).size.width, + fieldWidth: 50, + otpFieldStyle: OtpFieldStyle( + backgroundColor: HexColor('F4F5F5'), + ), + style: const TextStyle(fontSize: 17), + textFieldAlignment: MainAxisAlignment.spaceBetween, + fieldStyle: FieldStyle.box, + onCompleted: (pin) async { + final success = await pageNotifier.loginOtp(pin, context); + + if (success) + { + context.clearAndPush(routePath: MyRoutes.BOTTOMNAV); + } else { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + backgroundColor: Colors.grey, + content: Text("Failed to send OTP. Please try again."), + ), + ); + } + }, + ), + const SizedBox( + height: 10, + ), + RichText( + text: TextSpan( + text: 'Didn’t get the code? ', + style: context.customRegular(APPCOLOR.gery48514D, 14), + children: [ + TextSpan( + text: 'Resend', + style: context.customRegular(APPCOLOR.appGreen, 14), + ) + ])) + ], + ), + ), + ), + ); + } +} diff --git a/lib/src/ui/productdetails/product_details.dart b/lib/src/ui/productdetails/product_details.dart index ef801c0..266ad57 100644 --- a/lib/src/ui/productdetails/product_details.dart +++ b/lib/src/ui/productdetails/product_details.dart @@ -20,8 +20,8 @@ import 'package:provider/provider.dart'; import 'package:readmore/readmore.dart'; class ProductDetails extends StatefulWidget { - Product product; - ProductDetails({super.key, required this.product}); + String id; + ProductDetails({super.key, required this.id}); @override State createState() => _ProductDetailsState(); @@ -35,22 +35,24 @@ class _ProductDetailsState extends State { @override void initState() { super.initState(); + Provider.of(context, listen: false) + .getProduuctDetails(context, widget.id); - productId = widget.product.id; - Future.delayed(Duration.zero, () { - Provider.of(context, listen: false) - .setProductPrice(double.parse(widget.product.discountPrice)); + // productId = widget.product.id; + // Future.delayed(Duration.zero, () { + // Provider.of(context, listen: false) + // .setProductPrice(double.parse(widget.product.discountPrice)); - Provider.of(context, listen: false) - .similarProductprovider(context, widget.product.id); - }); + // Provider.of(context, listen: false) + // .similarProductprovider(context, widget.product.id); + // }); - Timer.periodic(Duration(seconds: 3), (timer) { - setState(() { - selectedImage = - (selectedImage + 1) % widget.product.productImages!.length; - }); - }); + // Timer.periodic(Duration(seconds: 3), (timer) { + // setState(() { + // selectedImage = + // (selectedImage + 1) % widget.product.productImages!.length; + // }); + // }); } double value = 3.5; @@ -90,102 +92,7 @@ class _ProductDetailsState extends State { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - SizedBox( - height: 300, - child: CarouselSlider.builder( - itemCount: widget.product.productImages!.length, - itemBuilder: (context, index, realIndex) { - var productImage = widget.product.productImages![index]; - return Image.network(productImage.url ?? - 'https://i.pinimg.com/originals/a5/f3/5f/a5f35fb23e942809da3df91b23718e8d.png'); - }, - options: CarouselOptions( - height: 300, - initialPage: selectedImage, - enableInfiniteScroll: true, - autoPlay: true, - autoPlayInterval: Duration(seconds: 3), - autoPlayAnimationDuration: Duration(milliseconds: 800), - enlargeCenterPage: true, - onPageChanged: (index, reason) { - setState(() { - selectedImage = index; - }); - }, - ), - ), - ), - Row( - mainAxisAlignment: MainAxisAlignment.center, - children: widget.product.productImages!.map((url) { - int index = widget.product.productImages!.indexOf(url); - return Container( - margin: EdgeInsets.symmetric(horizontal: 5), - width: 8, - height: 8, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: selectedImage == index ? Colors.red : Colors.grey, - ), - ); - }).toList(), - ), - SizedBox(height: 10), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 16.0), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - widget.product.name ?? "", - style: context.customExtraBold(Colors.black, 18), - ), - Row( - children: [ - Text( - "\$${widget.product.discountPrice}", - style: TextStyle( - fontSize: 25, - fontWeight: FontWeight.bold, - color: Colors.green), - ), - SizedBox(width: 10), - Text( - "\$${widget.product.basePrice}", - style: TextStyle( - fontSize: 25, - fontWeight: FontWeight.bold, - decoration: TextDecoration.lineThrough, - color: Colors.grey, - ), - ), - SizedBox(width: 10), - Container( - padding: - EdgeInsets.symmetric(horizontal: 6, vertical: 2), - decoration: BoxDecoration( - color: Colors.green, - borderRadius: BorderRadius.circular(5), - ), - child: Text("10% OFF", - style: - TextStyle(color: Colors.white, fontSize: 14)), - ) - ], - ), - SizedBox(height: 10), - ReadMoreText( - widget.product.description ?? "", - trimMode: TrimMode.Line, - trimLines: 2, - colorClickableText: APPCOLOR.appGreen, - trimCollapsedText: 'Read More', - trimExpandedText: 'Show less', - style: context.customMedium(APPCOLOR.balck1A1A1A, 14), - ), - ], - ), - ), + prodectDtails(), Divider(), reviews(), Divider(), @@ -203,10 +110,148 @@ class _ProductDetailsState extends State { ), ), ), - bottomNavigationBar: bottomBar(), + // bottomNavigationBar: bottomBar(), ); } + Widget prodectDtails() { + return Consumer(builder: (context, provider, child) { + if (provider.isProductLoading) { + return Center( + child: CircularProgressIndicator( + color: Colors.green, + )); + } else if (provider.productDetails.data == null) { + return Center(child: Text('No products available')); + } else { + return Column( + children: [ + SizedBox( + height: 300, + child: CarouselSlider.builder( + itemCount: + provider.productDetails.data!.productImages!.length ?? 0, + itemBuilder: (context, index, realIndex) { + var productImage = + provider.productDetails.data!.productImages![index]; + return Image.network(productImage.url ?? + 'https://i.pinimg.com/originals/a5/f3/5f/a5f35fb23e942809da3df91b23718e8d.png'); + }, + options: CarouselOptions( + height: 300, + initialPage: selectedImage, + enableInfiniteScroll: true, + autoPlay: true, + autoPlayInterval: Duration(seconds: 3), + autoPlayAnimationDuration: Duration(milliseconds: 800), + enlargeCenterPage: true, + onPageChanged: (index, reason) { + setState(() { + selectedImage = index; + }); + }, + ), + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: provider.productDetails.data!.productImages!.map((url) { + int index = + provider.productDetails.data!.productImages!.indexOf(url); + return Container( + margin: EdgeInsets.symmetric(horizontal: 5), + width: 8, + height: 8, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: selectedImage == index ? Colors.red : Colors.grey, + ), + ); + }).toList(), + ), + SizedBox(height: 10), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + provider.productDetails.data!.name ?? "", + style: context.customExtraBold(Colors.black, 18), + ), + Row( + children: [ + Text( + "\$${provider.productDetails.data!.discountPrice}", + style: TextStyle( + fontSize: 25, + fontWeight: FontWeight.bold, + color: Colors.green), + ), + SizedBox(width: 10), + Text( + "\$${provider.productDetails.data!.basePrice}", + style: TextStyle( + fontSize: 25, + fontWeight: FontWeight.bold, + decoration: TextDecoration.lineThrough, + color: Colors.grey, + ), + ), + SizedBox(width: 10), + Container( + padding: + EdgeInsets.symmetric(horizontal: 6, vertical: 2), + decoration: BoxDecoration( + color: Colors.green, + borderRadius: BorderRadius.circular(5), + ), + child: Text("10% OFF", + style: + TextStyle(color: Colors.white, fontSize: 14)), + ), + Spacer(), + InkWell( + onTap: () async { + if (await SharedPrefUtils.getToken() != null) { + provider.toggleWishlist( + context, provider.productDetails.data!.id!); + } else { + context.push(MyRoutes.SIGNUP); + } + }, + child: Icon( + provider.wishlist + .contains(provider.productDetails.data!.id) + ? Icons.favorite + : Icons.favorite_border, + color: provider.wishlist + .contains(provider.productDetails.data!.id) + ? Colors.red + : Colors.grey, + ), + ), + ], + ), + SizedBox(height: 10), + ReadMoreText( + provider.productDetails.data!.description ?? "", + trimMode: TrimMode.Line, + trimLines: 2, + colorClickableText: APPCOLOR.appGreen, + trimCollapsedText: 'Read More', + trimExpandedText: 'Show less', + style: context.customMedium(APPCOLOR.balck1A1A1A, 14), + ), + ], + ), + ), + ], + ); + } + }); + } + Widget reviews() { return Padding( padding: const EdgeInsets.symmetric(horizontal: 16.0), @@ -481,215 +526,198 @@ class _ProductDetailsState extends State { double cardWidth = MediaQuery.of(context).size.width * 0.4; // Dynamic width - return 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: [ - Center( - child: Container( - height: MediaQuery.of(context).size.height * 0.12, - width: cardWidth * 0.9, - decoration: BoxDecoration( - color: APPCOLOR.bgGrey, - borderRadius: BorderRadius.circular(15), + return InkWell( + onTap: () { + provider.getProduuctDetails(context, 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: [ + 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, + ), + ], + ), ), - 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 + ), + 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, + ), + ), + ], + ), + + // Align( + // alignment: Alignment.centerRight, + // child: InkWell( + // onTap: () async { + // bool success = await provider.addToCart(context, bestdealproduct.id!); + // if (success) { + // Fluttertoast.showToast( + // msg: "Product added to cart!", + // toastLength: Toast.LENGTH_SHORT, + // gravity: ToastGravity.BOTTOM, + // backgroundColor: Colors.green, + // textColor: Colors.white, + // fontSize: 14.0, + // ); + // } + + // }, + // 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: Text( + // 'Add', + // style: + // context.customRegular(Colors.white, 12), + // ), + // ), + // ), + // ), + // ), + const Spacer(), + Align( + alignment: Alignment.centerRight, + child: GestureDetector( + onTap: () async { + if (await SharedPrefUtils.getToken() != + null) { + provider.isLoading[bestdealproduct.id] ?? + false + ? null + : () => provider.addToCart( + context, bestdealproduct.id!); + } 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: provider.cartItems .contains(bestdealproduct.id) - ? Icons.favorite - : Icons.favorite_border, - color: provider.wishlist - .contains(bestdealproduct.id) - ? Colors.red - : Colors.grey, + ? Colors.grey + : APPCOLOR.lightGreen, + borderRadius: BorderRadius.circular(5), + ), + child: Center( + child: provider.isLoading[ + bestdealproduct.id] ?? + false + ? CircularProgressIndicator( + color: Colors.white, + strokeWidth: 2) + : Text( + provider.cartItems.contains( + bestdealproduct.id) + ? 'Added' + : 'Add', + style: context.customRegular( + Colors.white, 12), + ), ), ), ), - ], - ), - ), - ), - 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, - ), - ), - ], - ), - - // Align( - // alignment: Alignment.centerRight, - // child: InkWell( - // onTap: () async { - // bool success = await provider.addToCart(context, bestdealproduct.id!); - // if (success) { - // Fluttertoast.showToast( - // msg: "Product added to cart!", - // toastLength: Toast.LENGTH_SHORT, - // gravity: ToastGravity.BOTTOM, - // backgroundColor: Colors.green, - // textColor: Colors.white, - // fontSize: 14.0, - // ); - // } - - // }, - // 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: Text( - // 'Add', - // style: - // context.customRegular(Colors.white, 12), - // ), - // ), - // ), - // ), - // ), - const Spacer(), - Align( - alignment: Alignment.centerRight, - child: GestureDetector( - onTap: () async { - if (await SharedPrefUtils.getToken() != - null) { - provider.isLoading[bestdealproduct.id] ?? - false - ? null - : () => provider.addToCart( - context, bestdealproduct.id!); - } else { - context.push(MyRoutes.LOGIN); - } - }, - child: Container( - height: MediaQuery.of(context).size.height * - 0.035, - width: - MediaQuery.of(context).size.width * 0.1, - decoration: BoxDecoration( - color: provider.cartItems - .contains(bestdealproduct.id) - ? Colors.grey - : APPCOLOR.lightGreen, - borderRadius: BorderRadius.circular(5), - ), - child: Center( - child: provider.isLoading[ - bestdealproduct.id] ?? - false - ? CircularProgressIndicator( - color: Colors.white, strokeWidth: 2) - : Text( - provider.cartItems.contains( - bestdealproduct.id) - ? 'Added' - : 'Add', - style: context.customRegular( - Colors.white, 12), - ), - ), - ), ), - ), - ], - ), - ], + ], + ), + ], + ), ), ), ), @@ -770,7 +798,6 @@ class _ProductDetailsState extends State { } } - // Widget _slider(BuildContext context) { // double height = MediaQuery.of(context).size.height * .43; // double statusBarHeight = MediaQuery.of(context).padding.top; @@ -856,5 +883,3 @@ class _ProductDetailsState extends State { // ), // ); // } - - diff --git a/pubspec.lock b/pubspec.lock index 26198e8..12ad738 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -548,18 +548,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" + sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" url: "https://pub.dev" source: hosted - version: "10.0.5" + version: "10.0.4" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" + sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.0.3" leak_tracker_testing: dependency: transitive description: @@ -604,10 +604,10 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec + sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" url: "https://pub.dev" source: hosted - version: "0.11.1" + version: "0.8.0" material_design_icons_flutter: dependency: "direct main" description: @@ -620,10 +620,10 @@ packages: dependency: transitive description: name: meta - sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 + sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "1.12.0" nested: dependency: transitive description: @@ -953,10 +953,10 @@ packages: dependency: transitive description: name: test_api - sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" + sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" url: "https://pub.dev" source: hosted - version: "0.7.2" + version: "0.7.0" typed_data: dependency: transitive description: @@ -1009,10 +1009,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" + sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" url: "https://pub.dev" source: hosted - version: "14.2.5" + version: "14.2.1" web: dependency: transitive description: