productdetails
This commit is contained in:
@@ -3,793 +3,793 @@
|
|||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "animation_list",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "animations",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "args",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "async",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "back_button_interceptor",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "boolean_selector",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cached_network_image",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cached_network_image_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cached_network_image_web",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "carousel_slider",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "characters",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "clock",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "collection",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "connectivity_plus",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "connectivity_plus_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "crypto",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "csslib",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "cupertino_icons",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dbus",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dio",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dio_web_adapter",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dots_indicator",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "dotted_border",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fake_async",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "ffi",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "file",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fixnum",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter",
|
"name": "flutter",
|
||||||
"rootUri": "file:///Users/apple/Documents/development/flutter/packages/flutter",
|
"rootUri": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter",
|
||||||
"packageUri": "lib/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_animate",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_cache_manager",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_google_places",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_lints",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_plugin_android_lifecycle",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_rating_stars",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_screenutil",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_shaders",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_svg",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_test",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_toggle_tab",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flutter_web_plugins",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fluttertoast",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fpdart",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "gap",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geocoding",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geocoding_android",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geocoding_ios",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geocoding_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geolocator",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.15"
|
"languageVersion": "2.15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geolocator_android",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.15"
|
"languageVersion": "2.15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geolocator_apple",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.15"
|
"languageVersion": "2.15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geolocator_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.15"
|
"languageVersion": "2.15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geolocator_web",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "geolocator_windows",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.15"
|
"languageVersion": "2.15"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "get_it",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "go_router",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_api_headers",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_fonts",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.14"
|
"languageVersion": "2.14"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_maps",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_maps_flutter",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_maps_flutter_android",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_maps_flutter_ios",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_maps_flutter_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_maps_flutter_web",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "google_maps_webservice",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "html",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "http",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "http_parser",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "intl",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "json_annotation",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leak_tracker",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leak_tracker_flutter_testing",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "leak_tracker_testing",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "lints",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "loader_overlay",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "logging",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "matcher",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "material_color_utilities",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "material_design_icons_flutter",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "meta",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nested",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nm",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "octo_image",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "otp_text_field",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "package_info_plus",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "package_info_plus_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_drawing",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_parsing",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_android",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_foundation",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_linux",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path_provider_windows",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "petitparser",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "platform",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "plugin_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "pretty_dio_logger",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "provider",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "readmore",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "rxdart",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sanitize_html",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_android",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_foundation",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_linux",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_platform_interface",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_web",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "shared_preferences_windows",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sky_engine",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "source_span",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sprintf",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sqflite",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sqflite_common",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stack_trace",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stream_channel",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "stream_transform",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.1"
|
"languageVersion": "3.1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "string_scanner",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.18"
|
"languageVersion": "2.18"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "synchronized",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "term_glyph",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.12"
|
"languageVersion": "2.12"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "test_api",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "typed_data",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "uuid",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.0"
|
"languageVersion": "3.0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_graphics",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_graphics_codec",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.17"
|
"languageVersion": "2.17"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_graphics_compiler",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.19"
|
"languageVersion": "2.19"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vector_math",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "2.14"
|
"languageVersion": "2.14"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "vm_service",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "web",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "win32",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "xdg_directories",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.3"
|
"languageVersion": "3.3"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "xml",
|
"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/",
|
"packageUri": "lib/",
|
||||||
"languageVersion": "3.2"
|
"languageVersion": "3.2"
|
||||||
},
|
},
|
||||||
@@ -800,10 +800,10 @@
|
|||||||
"languageVersion": "3.4"
|
"languageVersion": "3.4"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"generated": "2025-01-30T19:18:01.029228Z",
|
"generated": "2025-01-31T13:31:38.803389Z",
|
||||||
"generator": "pub",
|
"generator": "pub",
|
||||||
"generatorVersion": "3.5.3",
|
"generatorVersion": "3.4.4",
|
||||||
"flutterRoot": "file:///Users/apple/Documents/development/flutter",
|
"flutterRoot": "file:///Users/rajeevsingh/Documents/allSoftwares/flutter",
|
||||||
"flutterVersion": "3.24.3",
|
"flutterVersion": "3.22.3",
|
||||||
"pubCache": "file:///Users/apple/.pub-cache"
|
"pubCache": "file:///Users/rajeevsingh/.pub-cache"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,533 +1,533 @@
|
|||||||
animation_list
|
animation_list
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/animation_list-3.1.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
animations
|
animations
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/animations-2.0.11/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
args
|
args
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/args-2.6.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
async
|
async
|
||||||
2.18
|
2.18
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/async-2.11.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
back_button_interceptor
|
back_button_interceptor
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
boolean_selector
|
boolean_selector
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/boolean_selector-2.1.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
cached_network_image
|
cached_network_image
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
cached_network_image_platform_interface
|
cached_network_image_platform_interface
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
cached_network_image_web
|
cached_network_image_web
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
carousel_slider
|
carousel_slider
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/carousel_slider-5.0.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
characters
|
characters
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/characters-1.3.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
clock
|
clock
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/clock-1.1.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
collection
|
collection
|
||||||
2.18
|
2.18
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/collection-1.18.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
connectivity_plus
|
connectivity_plus
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/connectivity_plus-6.1.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
connectivity_plus_platform_interface
|
connectivity_plus_platform_interface
|
||||||
2.18
|
2.18
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
crypto
|
crypto
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/crypto-3.0.6/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
csslib
|
csslib
|
||||||
3.1
|
3.1
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/csslib-1.0.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
cupertino_icons
|
cupertino_icons
|
||||||
3.1
|
3.1
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/cupertino_icons-1.0.8/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
dbus
|
dbus
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/dbus-0.7.11/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
dio
|
dio
|
||||||
2.18
|
2.18
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/dio-5.7.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
dio_web_adapter
|
dio_web_adapter
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
dots_indicator
|
dots_indicator
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/dots_indicator-3.0.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
dotted_border
|
dotted_border
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/dotted_border-2.1.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
fake_async
|
fake_async
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/fake_async-1.3.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
ffi
|
ffi
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/ffi-2.1.3/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
file
|
file
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/file-7.0.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
fixnum
|
fixnum
|
||||||
3.1
|
3.1
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/fixnum-1.1.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
flutter_animate
|
flutter_animate
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_animate-4.5.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
flutter_cache_manager
|
flutter_cache_manager
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
flutter_google_places
|
flutter_google_places
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
flutter_lints
|
flutter_lints
|
||||||
3.1
|
3.1
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_lints-3.0.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
flutter_plugin_android_lifecycle
|
flutter_plugin_android_lifecycle
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
flutter_rating_stars
|
flutter_rating_stars
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
flutter_screenutil
|
flutter_screenutil
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_screenutil-5.9.3/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
flutter_shaders
|
flutter_shaders
|
||||||
2.19
|
2.19
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_shaders-0.1.3/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
flutter_svg
|
flutter_svg
|
||||||
2.19
|
2.19
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/flutter_svg-2.0.9/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
flutter_toggle_tab
|
flutter_toggle_tab
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
fluttertoast
|
fluttertoast
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
fpdart
|
fpdart
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/fpdart-1.1.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
gap
|
gap
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/gap-3.0.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
geocoding
|
geocoding
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
geocoding_android
|
geocoding_android
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
geocoding_ios
|
geocoding_ios
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
geocoding_platform_interface
|
geocoding_platform_interface
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
geolocator
|
geolocator
|
||||||
2.15
|
2.15
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
geolocator_android
|
geolocator_android
|
||||||
2.15
|
2.15
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
geolocator_apple
|
geolocator_apple
|
||||||
2.15
|
2.15
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
geolocator_platform_interface
|
geolocator_platform_interface
|
||||||
2.15
|
2.15
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
geolocator_web
|
geolocator_web
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
geolocator_windows
|
geolocator_windows
|
||||||
2.15
|
2.15
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
get_it
|
get_it
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/get_it-8.0.3/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
go_router
|
go_router
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/go_router-14.7.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
google_api_headers
|
google_api_headers
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
google_fonts
|
google_fonts
|
||||||
2.14
|
2.14
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/google_fonts-4.0.4/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
google_maps
|
google_maps
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/google_maps-8.1.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
google_maps_flutter
|
google_maps_flutter
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
google_maps_flutter_android
|
google_maps_flutter_android
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
google_maps_flutter_ios
|
google_maps_flutter_ios
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
google_maps_flutter_platform_interface
|
google_maps_flutter_platform_interface
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
google_maps_flutter_web
|
google_maps_flutter_web
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
google_maps_webservice
|
google_maps_webservice
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
html
|
html
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/html-0.15.5/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
http
|
http
|
||||||
2.19
|
2.19
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/http-0.13.6/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
http_parser
|
http_parser
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/http_parser-4.0.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
intl
|
intl
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/intl-0.19.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
json_annotation
|
json_annotation
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/json_annotation-4.9.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
leak_tracker
|
leak_tracker
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker-10.0.5/
|
file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker-10.0.4/
|
||||||
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/lib/
|
||||||
leak_tracker_flutter_testing
|
leak_tracker_flutter_testing
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.5/
|
file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/leak_tracker_flutter_testing-3.0.3/
|
||||||
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/lib/
|
||||||
leak_tracker_testing
|
leak_tracker_testing
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
lints
|
lints
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/lints-3.0.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
loader_overlay
|
loader_overlay
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
logging
|
logging
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/logging-1.3.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
matcher
|
matcher
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/matcher-0.12.16+1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
material_color_utilities
|
material_color_utilities
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/material_color_utilities-0.11.1/
|
file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/material_color_utilities-0.8.0/
|
||||||
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/lib/
|
||||||
material_design_icons_flutter
|
material_design_icons_flutter
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
meta
|
meta
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/meta-1.15.0/
|
file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/meta-1.12.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/lib/
|
||||||
nested
|
nested
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/nested-1.0.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
nm
|
nm
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/nm-0.5.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
octo_image
|
octo_image
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/octo_image-2.1.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
otp_text_field
|
otp_text_field
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
package_info_plus
|
package_info_plus
|
||||||
2.18
|
2.18
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
package_info_plus_platform_interface
|
package_info_plus_platform_interface
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
path
|
path
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/path-1.9.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
path_drawing
|
path_drawing
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/path_drawing-1.0.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
path_parsing
|
path_parsing
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/path_parsing-1.1.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
path_provider
|
path_provider
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/path_provider-2.1.5/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
path_provider_android
|
path_provider_android
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
path_provider_foundation
|
path_provider_foundation
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
path_provider_linux
|
path_provider_linux
|
||||||
2.19
|
2.19
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
path_provider_platform_interface
|
path_provider_platform_interface
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
path_provider_windows
|
path_provider_windows
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
petitparser
|
petitparser
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/petitparser-6.0.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
platform
|
platform
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/platform-3.1.6/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
plugin_platform_interface
|
plugin_platform_interface
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
pretty_dio_logger
|
pretty_dio_logger
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
provider
|
provider
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/provider-6.1.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
readmore
|
readmore
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/readmore-3.0.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
rxdart
|
rxdart
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/rxdart-0.26.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
sanitize_html
|
sanitize_html
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/sanitize_html-2.1.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
shared_preferences
|
shared_preferences
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/shared_preferences-2.3.3/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
shared_preferences_android
|
shared_preferences_android
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
shared_preferences_foundation
|
shared_preferences_foundation
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
shared_preferences_linux
|
shared_preferences_linux
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
shared_preferences_platform_interface
|
shared_preferences_platform_interface
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
shared_preferences_web
|
shared_preferences_web
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
shared_preferences_windows
|
shared_preferences_windows
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
source_span
|
source_span
|
||||||
2.18
|
2.18
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/source_span-1.10.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
sprintf
|
sprintf
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/sprintf-7.0.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
sqflite
|
sqflite
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
sqflite_common
|
sqflite_common
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/sqflite_common-2.5.4/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
stack_trace
|
stack_trace
|
||||||
2.18
|
2.18
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/stack_trace-1.11.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
stream_channel
|
stream_channel
|
||||||
2.19
|
2.19
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/stream_channel-2.1.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
stream_transform
|
stream_transform
|
||||||
3.1
|
3.1
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/stream_transform-2.1.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
string_scanner
|
string_scanner
|
||||||
2.18
|
2.18
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/string_scanner-1.2.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
synchronized
|
synchronized
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/synchronized-3.1.0+1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
term_glyph
|
term_glyph
|
||||||
2.12
|
2.12
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/term_glyph-1.2.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
test_api
|
test_api
|
||||||
3.2
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/test_api-0.7.2/
|
file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/test_api-0.7.0/
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/test_api-0.7.2/lib/
|
file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/test_api-0.7.0/lib/
|
||||||
typed_data
|
typed_data
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/typed_data-1.3.2/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
uuid
|
uuid
|
||||||
3.0
|
3.0
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/uuid-4.5.1/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
vector_graphics
|
vector_graphics
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
vector_graphics_codec
|
vector_graphics_codec
|
||||||
2.17
|
2.17
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
vector_graphics_compiler
|
vector_graphics_compiler
|
||||||
2.19
|
2.19
|
||||||
file:///Users/apple/.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/
|
||||||
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/lib/
|
||||||
vector_math
|
vector_math
|
||||||
2.14
|
2.14
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/vector_math-2.1.4/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
vm_service
|
vm_service
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/vm_service-14.2.5/
|
file:///Users/rajeevsingh/.pub-cache/hosted/pub.dev/vm_service-14.2.1/
|
||||||
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/lib/
|
||||||
web
|
web
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/web-1.1.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
win32
|
win32
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/win32-5.5.4/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
xdg_directories
|
xdg_directories
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/xdg_directories-1.1.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
xml
|
xml
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/.pub-cache/hosted/pub.dev/xml-6.5.0/
|
file:///Users/rajeevsingh/.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/lib/
|
||||||
grocery_app
|
grocery_app
|
||||||
3.4
|
3.4
|
||||||
file:///Users/apple/Documents/Allflutter%20/freelancing/groceryApp/
|
file:///Users/rajeevsingh/Documents/FlutterProject/freelanceing/groceryApp/
|
||||||
file:///Users/apple/Documents/Allflutter%20/freelancing/groceryApp/lib/
|
file:///Users/rajeevsingh/Documents/FlutterProject/freelanceing/groceryApp/lib/
|
||||||
sky_engine
|
sky_engine
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/Documents/development/flutter/bin/cache/pkg/sky_engine/
|
file:///Users/rajeevsingh/Documents/allSoftwares/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/lib/
|
||||||
flutter
|
flutter
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/Documents/development/flutter/packages/flutter/
|
file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter/
|
||||||
file:///Users/apple/Documents/development/flutter/packages/flutter/lib/
|
file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter/lib/
|
||||||
flutter_test
|
flutter_test
|
||||||
3.3
|
3.3
|
||||||
file:///Users/apple/Documents/development/flutter/packages/flutter_test/
|
file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_test/
|
||||||
file:///Users/apple/Documents/development/flutter/packages/flutter_test/lib/
|
file:///Users/rajeevsingh/Documents/allSoftwares/flutter/packages/flutter_test/lib/
|
||||||
flutter_web_plugins
|
flutter_web_plugins
|
||||||
3.2
|
3.2
|
||||||
file:///Users/apple/Documents/development/flutter/packages/flutter_web_plugins/
|
file:///Users/rajeevsingh/Documents/allSoftwares/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/lib/
|
||||||
2
|
2
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
3.24.3
|
3.22.3
|
||||||
@@ -1,30 +1,30 @@
|
|||||||
# This is a generated file; do not edit or check into version control.
|
# 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/
|
connectivity_plus=/Users/rajeevsingh/.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/
|
flutter_plugin_android_lifecycle=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/
|
||||||
fluttertoast=/Users/apple/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/
|
fluttertoast=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/fluttertoast-8.2.10/
|
||||||
geocoding=/Users/apple/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
|
geocoding=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding-3.0.0/
|
||||||
geocoding_android=/Users/apple/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
|
geocoding_android=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_android-3.3.1/
|
||||||
geocoding_ios=/Users/apple/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
|
geocoding_ios=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geocoding_ios-3.0.1/
|
||||||
geolocator=/Users/apple/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
|
geolocator=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator-13.0.2/
|
||||||
geolocator_android=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_android-4.6.1/
|
geolocator_android=/Users/rajeevsingh/.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_apple=/Users/rajeevsingh/.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_web=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/geolocator_web-4.1.1/
|
||||||
geolocator_windows=/Users/apple/.pub-cache/hosted/pub.dev/geolocator_windows-0.2.3/
|
geolocator_windows=/Users/rajeevsingh/.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_api_headers=/Users/rajeevsingh/.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=/Users/rajeevsingh/.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_android=/Users/rajeevsingh/.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_ios=/Users/rajeevsingh/.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/
|
google_maps_flutter_web=/Users/rajeevsingh/.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/
|
package_info_plus=/Users/rajeevsingh/.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=/Users/rajeevsingh/.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_android=/Users/rajeevsingh/.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_foundation=/Users/rajeevsingh/.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_linux=/Users/rajeevsingh/.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/
|
path_provider_windows=/Users/rajeevsingh/.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=/Users/rajeevsingh/.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_android=/Users/rajeevsingh/.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_foundation=/Users/rajeevsingh/.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_linux=/Users/rajeevsingh/.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_web=/Users/rajeevsingh/.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/
|
shared_preferences_windows=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/
|
||||||
sqflite=/Users/apple/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/
|
sqflite=/Users/rajeevsingh/.pub-cache/hosted/pub.dev/sqflite-2.3.3+1/
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -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/core/routes/routes.dart';
|
||||||
import 'package:grocery_app/src/logic/provider/addTocart_provider.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/auth_provider.dart';
|
||||||
|
import 'package:grocery_app/src/logic/provider/bottom_navbar_provider.dart';
|
||||||
import 'package:grocery_app/src/logic/provider/home_provider.dart';
|
import 'package:grocery_app/src/logic/provider/home_provider.dart';
|
||||||
import 'package:grocery_app/src/ui/splash/splash_screen.dart';
|
import 'package:grocery_app/src/ui/splash/splash_screen.dart';
|
||||||
import 'package:grocery_app/utils/constants/color_constant.dart';
|
import 'package:grocery_app/utils/constants/color_constant.dart';
|
||||||
@@ -36,7 +37,7 @@ class MyApplication extends StatelessWidget {
|
|||||||
ChangeNotifierProvider(create: (_) => AuthProvider()),
|
ChangeNotifierProvider(create: (_) => AuthProvider()),
|
||||||
ChangeNotifierProvider(create: (_) => ProductProvider()),
|
ChangeNotifierProvider(create: (_) => ProductProvider()),
|
||||||
ChangeNotifierProvider(create: (_) => AddtocartProvider()),
|
ChangeNotifierProvider(create: (_) => AddtocartProvider()),
|
||||||
// ChangeNotifierProvider(create: (_) => ProductProvider()),
|
ChangeNotifierProvider(create: (_) => BottomNavProvider()),
|
||||||
// ChangeNotifierProvider(create: (_) => HomeProvider()),
|
// ChangeNotifierProvider(create: (_) => HomeProvider()),
|
||||||
],
|
],
|
||||||
child: MaterialApp.router(
|
child: MaterialApp.router(
|
||||||
|
|||||||
@@ -3,9 +3,13 @@ class APIURL {
|
|||||||
static const String sendOtp = "${BASE_URL}auth/send-otp/customer";
|
static const String sendOtp = "${BASE_URL}auth/send-otp/customer";
|
||||||
|
|
||||||
static const String verifyOtp = "${BASE_URL}auth/verify-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 login = "${BASE_URL}auth/login/vendor";
|
||||||
static const String customerRegister = "${BASE_URL}auth/register/customer";
|
static const String customerRegister = "${BASE_URL}auth/register/customer";
|
||||||
static const String getAllProduct = "${BASE_URL}products";
|
static const String getAllProduct = "${BASE_URL}products";
|
||||||
|
static const String getProductDetails = "${BASE_URL}products/";
|
||||||
static const String getBanners = "${BASE_URL}banners";
|
static const String getBanners = "${BASE_URL}banners";
|
||||||
static const String customerLogOut = "${BASE_URL}auth/logout/customer";
|
static const String customerLogOut = "${BASE_URL}auth/logout/customer";
|
||||||
static const String getBestDealProduct = "${BASE_URL}products/best-deals";
|
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 similarProduct = "${BASE_URL}products/";
|
||||||
static const String getItemCards = "${BASE_URL}carts/current";
|
static const String getItemCards = "${BASE_URL}carts/current";
|
||||||
static const String checkPin = "${BASE_URL}pin-codes/check/";
|
static const String checkPin = "${BASE_URL}pin-codes/check/";
|
||||||
|
static const String deleteItem = "${BASE_URL}carts/items/";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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/entername/enter_fullname_screen.dart';
|
||||||
import 'package:grocery_app/src/ui/fruitvegidetail/fruit_veggie_detail.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/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/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/otp/otp_screen.dart';
|
||||||
import 'package:grocery_app/src/ui/productdetails/product_details.dart';
|
import 'package:grocery_app/src/ui/productdetails/product_details.dart';
|
||||||
import 'package:grocery_app/src/ui/splash/splash_screen.dart';
|
import 'package:grocery_app/src/ui/splash/splash_screen.dart';
|
||||||
@@ -36,6 +38,16 @@ class MyRoutes {
|
|||||||
name: LOGIN,
|
name: LOGIN,
|
||||||
pageBuilder: (context, state) => LoginScreen(),
|
pageBuilder: (context, state) => LoginScreen(),
|
||||||
),
|
),
|
||||||
|
animatedGoRoute(
|
||||||
|
path: SIGNUP,
|
||||||
|
name: SIGNUP,
|
||||||
|
pageBuilder: (context, state) => SingnuScreen(),
|
||||||
|
),
|
||||||
|
animatedGoRoute(
|
||||||
|
path: LOGINOTPSCREEN,
|
||||||
|
name: LOGINOTPSCREEN,
|
||||||
|
pageBuilder: (context, state) => const LoginOtpScreen(),
|
||||||
|
),
|
||||||
|
|
||||||
animatedGoRoute(
|
animatedGoRoute(
|
||||||
path: OTPSCREEN,
|
path: OTPSCREEN,
|
||||||
@@ -72,10 +84,9 @@ class MyRoutes {
|
|||||||
animatedGoRoute(
|
animatedGoRoute(
|
||||||
path: PRODUCTDETAILS,
|
path: PRODUCTDETAILS,
|
||||||
name: PRODUCTDETAILS,
|
name: PRODUCTDETAILS,
|
||||||
pageBuilder: (context, state)
|
pageBuilder: (context, state) {
|
||||||
{
|
final id = state.extra as String; // Get the extra object
|
||||||
final product = state.extra as Product; // Get the extra object
|
return ProductDetails(id: id);
|
||||||
return ProductDetails(product: product);
|
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
||||||
@@ -207,19 +218,24 @@ class MyRoutes {
|
|||||||
static const HOME = "/home";
|
static const HOME = "/home";
|
||||||
static const FRUITVEGGIEDETAIL = "/FruitVeggieDetail";
|
static const FRUITVEGGIEDETAIL = "/FruitVeggieDetail";
|
||||||
static const PRODUCTDETAILS = "/productdetails";
|
static const PRODUCTDETAILS = "/productdetails";
|
||||||
|
static const LOGINOTPSCREEN = "/loginotpscreen";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static const SELECTACCOUNT = "/selectAccount";
|
static const SELECTACCOUNT = "/selectAccount";
|
||||||
static const DASHBOARD = "/dashboard";
|
static const DASHBOARD = "/dashboard";
|
||||||
|
|
||||||
static const BOTTOM_NAV = "/home";
|
|
||||||
static const LOGIN = "/login";
|
static const LOGIN = "/login";
|
||||||
|
static const SIGNUP = "/signup";
|
||||||
|
|
||||||
static const ONBOARDING = "/onboarding";
|
static const ONBOARDING = "/onboarding";
|
||||||
static const TERMANDCONDITIONS = "/termsandcondition";
|
static const TERMANDCONDITIONS = "/termsandcondition";
|
||||||
static const SETUPBUSSINESS = "/setupbussiness";
|
static const SETUPBUSSINESS = "/setupbussiness";
|
||||||
static const CREATESTORE = "/createStore";
|
static const CREATESTORE = "/createStore";
|
||||||
static const SUBMITSCREEN = "/submitscreen";
|
static const SUBMITSCREEN = "/submitscreen";
|
||||||
static const APPROVEDSTATUS = "/approvedstatus";
|
static const APPROVEDSTATUS = "/approvedstatus";
|
||||||
static const SIGNUP = "/signup";
|
|
||||||
static const DASHBOARDSCREEN = "/dashboardscreen";
|
static const DASHBOARDSCREEN = "/dashboardscreen";
|
||||||
static const CUSTOMERORDER = "/customerorder";
|
static const CUSTOMERORDER = "/customerorder";
|
||||||
|
|
||||||
|
|||||||
@@ -1,269 +1,14 @@
|
|||||||
// // 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<Item>? items;
|
|
||||||
|
|
||||||
// AllCartItems({
|
|
||||||
// this.id,
|
|
||||||
// this.userId,
|
|
||||||
// this.subtotal,
|
|
||||||
// this.createdAt,
|
|
||||||
// this.updatedAt,
|
|
||||||
// this.items,
|
|
||||||
// });
|
|
||||||
|
|
||||||
// factory AllCartItems.fromJson(Map<dynamic, dynamic> json) => AllCartItems(
|
|
||||||
// id: json["id"],
|
|
||||||
// userId: json["userId"],
|
|
||||||
// subtotal: json["subtotal"],
|
|
||||||
// createdAt: DateTime.parse(json["createdAt"]),
|
|
||||||
// updatedAt: DateTime.parse(json["updatedAt"]),
|
|
||||||
// items: List<Item>.from(json["items"].map((x) => Item.fromJson(x))),
|
|
||||||
// );
|
|
||||||
|
|
||||||
// Map<dynamic, dynamic> toJson() => {
|
|
||||||
// "id": id,
|
|
||||||
// "userId": userId,
|
|
||||||
// "subtotal": subtotal,
|
|
||||||
// "createdAt": createdAt,
|
|
||||||
// "updatedAt": updatedAt,
|
|
||||||
// "items": List<dynamic>.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<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> json) => ProductImage(
|
|
||||||
// id: json["id"],
|
|
||||||
// url: json["url"],
|
|
||||||
// isDefault: json["isDefault"],
|
|
||||||
// productId: json["productId"],
|
|
||||||
// );
|
|
||||||
|
|
||||||
// Map<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> 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 '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));
|
String allCartItemsToJson(AllCartItems data) => json.encode(data.toJson());
|
||||||
|
|
||||||
dynamic allCartItemsToJson(AllCartItems data) => json.encode(data.toJson());
|
|
||||||
|
|
||||||
class AllCartItems {
|
class AllCartItems {
|
||||||
dynamic id;
|
String? id;
|
||||||
dynamic userId;
|
String? userId;
|
||||||
dynamic subtotal;
|
String? subtotal;
|
||||||
DateTime? createdAt;
|
DateTime? createdAt;
|
||||||
DateTime? updatedAt;
|
DateTime? updatedAt;
|
||||||
List<Item>? items;
|
List<Item>? items;
|
||||||
@@ -277,7 +22,7 @@ class AllCartItems {
|
|||||||
this.items,
|
this.items,
|
||||||
});
|
});
|
||||||
|
|
||||||
factory AllCartItems.fromJson(Map<dynamic, dynamic> json) => AllCartItems(
|
factory AllCartItems.fromJson(Map<String, dynamic> json) => AllCartItems(
|
||||||
id: json["id"],
|
id: json["id"],
|
||||||
userId: json["userId"],
|
userId: json["userId"],
|
||||||
subtotal: json["subtotal"],
|
subtotal: json["subtotal"],
|
||||||
@@ -286,7 +31,7 @@ class AllCartItems {
|
|||||||
items: List<Item>.from(json["items"].map((x) => Item.fromJson(x))),
|
items: List<Item>.from(json["items"].map((x) => Item.fromJson(x))),
|
||||||
);
|
);
|
||||||
|
|
||||||
Map<dynamic, dynamic> toJson() => {
|
Map<String, dynamic> toJson() => {
|
||||||
"id": id,
|
"id": id,
|
||||||
"userId": userId,
|
"userId": userId,
|
||||||
"subtotal": subtotal,
|
"subtotal": subtotal,
|
||||||
@@ -297,15 +42,15 @@ class AllCartItems {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class Item {
|
class Item {
|
||||||
dynamic id;
|
String? id;
|
||||||
dynamic quantity;
|
int? quantity;
|
||||||
dynamic priceSnapshot;
|
String? priceSnapshot;
|
||||||
dynamic cartId;
|
String? cartId;
|
||||||
dynamic productId;
|
String? productId;
|
||||||
dynamic storeId;
|
String? storeId;
|
||||||
DateTime? createdAt;
|
DateTime? createdAt;
|
||||||
DateTime? updatedAt;
|
DateTime? updatedAt;
|
||||||
Product? product;
|
ItemProduct? product;
|
||||||
Store? store;
|
Store? store;
|
||||||
|
|
||||||
Item({
|
Item({
|
||||||
@@ -321,7 +66,7 @@ class Item {
|
|||||||
this.store,
|
this.store,
|
||||||
});
|
});
|
||||||
|
|
||||||
factory Item.fromJson(Map<dynamic, dynamic> json) => Item(
|
factory Item.fromJson(Map<String, dynamic> json) => Item(
|
||||||
id: json["id"],
|
id: json["id"],
|
||||||
quantity: json["quantity"],
|
quantity: json["quantity"],
|
||||||
priceSnapshot: json["priceSnapshot"],
|
priceSnapshot: json["priceSnapshot"],
|
||||||
@@ -330,11 +75,11 @@ class Item {
|
|||||||
storeId: json["storeId"],
|
storeId: json["storeId"],
|
||||||
createdAt: DateTime.parse(json["createdAt"]),
|
createdAt: DateTime.parse(json["createdAt"]),
|
||||||
updatedAt: DateTime.parse(json["updatedAt"]),
|
updatedAt: DateTime.parse(json["updatedAt"]),
|
||||||
product: Product.fromJson(json["product"]),
|
product: ItemProduct.fromJson(json["product"]),
|
||||||
store: Store.fromJson(json["store"]),
|
store: Store.fromJson(json["store"]),
|
||||||
);
|
);
|
||||||
|
|
||||||
Map<dynamic, dynamic> toJson() => {
|
Map<String, dynamic> toJson() => {
|
||||||
"id": id,
|
"id": id,
|
||||||
"quantity": quantity,
|
"quantity": quantity,
|
||||||
"priceSnapshot": priceSnapshot,
|
"priceSnapshot": priceSnapshot,
|
||||||
@@ -348,130 +93,133 @@ class Item {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// class Product {
|
class ItemProduct {
|
||||||
// dynamic id;
|
String? id;
|
||||||
// dynamic name;
|
String? name;
|
||||||
// dynamic description;
|
String? description;
|
||||||
// dynamic additionalInfo;
|
String? additionalInfo;
|
||||||
// dynamic brand;
|
dynamic brand;
|
||||||
// dynamic basePrice;
|
String? basePrice;
|
||||||
// dynamic discountPrice;
|
String? discountPrice;
|
||||||
// int stock;
|
int? stock;
|
||||||
// int quantity;
|
int? quantity;
|
||||||
// dynamic unit;
|
String? unit;
|
||||||
// dynamic slug;
|
String? slug;
|
||||||
// dynamic averageRating;
|
dynamic? averageRating;
|
||||||
// bool isInStock;
|
bool? isInStock;
|
||||||
// bool isActive;
|
bool? isActive;
|
||||||
// DateTime createdAt;
|
DateTime? createdAt;
|
||||||
// DateTime updatedAt;
|
DateTime? updatedAt;
|
||||||
// dynamic storeId;
|
String? storeId;
|
||||||
// dynamic categoryId;
|
String? categoryId;
|
||||||
// dynamic productTypeId;
|
dynamic? productTypeId;
|
||||||
// dynamic timeSlotId;
|
dynamic? timeSlotId;
|
||||||
// List<ProductImage> productImages;
|
List<ProductImage>? productImages;
|
||||||
// Category category;
|
Category? category;
|
||||||
// List<ProductTag> productTags;
|
List<ProductTag>? productTags;
|
||||||
// List<dynamic> zones;
|
List<dynamic>? zones;
|
||||||
// List<dynamic> productReview;
|
List<dynamic>? productReview;
|
||||||
|
|
||||||
// Product({
|
ItemProduct({
|
||||||
// this.id,
|
this.id,
|
||||||
// this.name,
|
this.name,
|
||||||
// this.description,
|
this.description,
|
||||||
// this.additionalInfo,
|
this.additionalInfo,
|
||||||
// this.brand,
|
this.brand,
|
||||||
// this.basePrice,
|
this.basePrice,
|
||||||
// this.discountPrice,
|
this.discountPrice,
|
||||||
// this.stock,
|
this.stock,
|
||||||
// this.quantity,
|
this.quantity,
|
||||||
// this.unit,
|
this.unit,
|
||||||
// this.slug,
|
this.slug,
|
||||||
// this.averageRating,
|
this.averageRating,
|
||||||
// this.isInStock,
|
this.isInStock,
|
||||||
// this.isActive,
|
this.isActive,
|
||||||
// this.createdAt,
|
this.createdAt,
|
||||||
// this.updatedAt,
|
this.updatedAt,
|
||||||
// this.storeId,
|
this.storeId,
|
||||||
// this.categoryId,
|
this.categoryId,
|
||||||
// this.productTypeId,
|
this.productTypeId,
|
||||||
// this.timeSlotId,
|
this.timeSlotId,
|
||||||
// this.productImages,
|
this.productImages,
|
||||||
// this.category,
|
this.category,
|
||||||
// this.productTags,
|
this.productTags,
|
||||||
// this.zones,
|
this.zones,
|
||||||
// this.productReview,
|
this.productReview,
|
||||||
// });
|
});
|
||||||
|
|
||||||
// factory Product.fromJson(Map<dynamic, dynamic> json) => Product(
|
factory ItemProduct.fromJson(Map<String, dynamic> json) => ItemProduct(
|
||||||
// id: json["id"],
|
id: json["id"],
|
||||||
// name: json["name"],
|
name: json["name"],
|
||||||
// description: json["description"],
|
description: json["description"],
|
||||||
// additionalInfo: json["additionalInfo"],
|
additionalInfo: json["additionalInfo"],
|
||||||
// brand: json["brand"],
|
brand: json["brand"],
|
||||||
// basePrice: json["basePrice"],
|
basePrice: json["basePrice"],
|
||||||
// discountPrice: json["discountPrice"],
|
discountPrice: json["discountPrice"],
|
||||||
// stock: json["stock"],
|
stock: json["stock"],
|
||||||
// quantity: json["quantity"],
|
quantity: json["quantity"],
|
||||||
// unit: json["unit"],
|
unit: json["unit"],
|
||||||
// slug: json["slug"],
|
slug: json["slug"],
|
||||||
// averageRating: json["averageRating"],
|
averageRating: json["averageRating"],
|
||||||
// isInStock: json["isInStock"],
|
isInStock: json["isInStock"],
|
||||||
// isActive: json["isActive"],
|
isActive: json["isActive"],
|
||||||
// createdAt: DateTime.parse(json["createdAt"]),
|
createdAt: DateTime.parse(json["createdAt"]),
|
||||||
// updatedAt: DateTime.parse(json["updatedAt"]),
|
updatedAt: DateTime.parse(json["updatedAt"]),
|
||||||
// storeId: json["storeId"],
|
storeId: json["storeId"],
|
||||||
// categoryId: json["categoryId"],
|
categoryId: json["categoryId"],
|
||||||
// productTypeId: json["productTypeId"],
|
productTypeId: json["productTypeId"],
|
||||||
// timeSlotId: json["timeSlotId"],
|
timeSlotId: json["timeSlotId"],
|
||||||
// productImages: List<ProductImage>.from(json["productImages"].map((x) => ProductImage.fromJson(x))),
|
productImages: List<ProductImage>.from(
|
||||||
// category: Category.fromJson(json["category"]),
|
json["productImages"].map((x) => ProductImage.fromJson(x))),
|
||||||
// productTags: List<ProductTag>.from(json["productTags"].map((x) => ProductTag.fromJson(x))),
|
category: Category.fromJson(json["category"]),
|
||||||
// zones: List<dynamic>.from(json["zones"].map((x) => x)),
|
productTags: List<ProductTag>.from(
|
||||||
// productReview: List<dynamic>.from(json["ProductReview"].map((x) => x)),
|
json["productTags"].map((x) => ProductTag.fromJson(x))),
|
||||||
// );
|
zones: List<dynamic>.from(json["zones"].map((x) => x)),
|
||||||
|
productReview: List<dynamic>.from(json["ProductReview"].map((x) => x)),
|
||||||
|
);
|
||||||
|
|
||||||
// Map<dynamic, dynamic> toJson() => {
|
Map<String, dynamic> toJson() => {
|
||||||
// "id": id,
|
"id": id,
|
||||||
// "name": name,
|
"name": name,
|
||||||
// "description": description,
|
"description": description,
|
||||||
// "additionalInfo": additionalInfo,
|
"additionalInfo": additionalInfo,
|
||||||
// "brand": brand,
|
"brand": brand,
|
||||||
// "basePrice": basePrice,
|
"basePrice": basePrice,
|
||||||
// "discountPrice": discountPrice,
|
"discountPrice": discountPrice,
|
||||||
// "stock": stock,
|
"stock": stock,
|
||||||
// "quantity": quantity,
|
"quantity": quantity,
|
||||||
// "unit": unit,
|
"unit": unit,
|
||||||
// "slug": slug,
|
"slug": slug,
|
||||||
// "averageRating": averageRating,
|
"averageRating": averageRating,
|
||||||
// "isInStock": isInStock,
|
"isInStock": isInStock,
|
||||||
// "isActive": isActive,
|
"isActive": isActive,
|
||||||
// "createdAt": createdAt.toIso8601dynamic(),
|
"createdAt": createdAt!.toIso8601String(),
|
||||||
// "updatedAt": updatedAt.toIso8601dynamic(),
|
"updatedAt": updatedAt!.toIso8601String(),
|
||||||
// "storeId": storeId,
|
"storeId": storeId,
|
||||||
// "categoryId": categoryId,
|
"categoryId": categoryId,
|
||||||
// "productTypeId": productTypeId,
|
"productTypeId": productTypeId,
|
||||||
// "timeSlotId": timeSlotId,
|
"timeSlotId": timeSlotId,
|
||||||
// "productImages": List<dynamic>.from(productImages.map((x) => x.toJson())),
|
"productImages":
|
||||||
// "category": category.toJson(),
|
List<dynamic>.from(productImages!.map((x) => x.toJson())),
|
||||||
// "productTags": List<dynamic>.from(productTags.map((x) => x.toJson())),
|
"category": category!.toJson(),
|
||||||
// "zones": List<dynamic>.from(zones.map((x) => x)),
|
"productTags": List<dynamic>.from(productTags!.map((x) => x.toJson())),
|
||||||
// "ProductReview": List<dynamic>.from(productReview.map((x) => x)),
|
"zones": List<dynamic>.from(zones!.map((x) => x)),
|
||||||
// };
|
"ProductReview": List<dynamic>.from(productReview!.map((x) => x)),
|
||||||
// }
|
};
|
||||||
|
}
|
||||||
|
|
||||||
class Category {
|
class Category {
|
||||||
dynamic id;
|
String? id;
|
||||||
dynamic name;
|
String? name;
|
||||||
dynamic description;
|
String? description;
|
||||||
dynamic image;
|
String? image;
|
||||||
dynamic slug;
|
String? slug;
|
||||||
int? level;
|
int? level;
|
||||||
bool? isActive;
|
bool? isActive;
|
||||||
DateTime? createdAt;
|
DateTime? createdAt;
|
||||||
DateTime? updatedAt;
|
DateTime? updatedAt;
|
||||||
dynamic parentCategoryId;
|
String? parentCategoryId;
|
||||||
dynamic path;
|
String? path;
|
||||||
|
|
||||||
Category({
|
Category({
|
||||||
this.id,
|
this.id,
|
||||||
@@ -487,7 +235,7 @@ class Category {
|
|||||||
this.path,
|
this.path,
|
||||||
});
|
});
|
||||||
|
|
||||||
factory Category.fromJson(Map<dynamic, dynamic> json) => Category(
|
factory Category.fromJson(Map<String, dynamic> json) => Category(
|
||||||
id: json["id"],
|
id: json["id"],
|
||||||
name: json["name"],
|
name: json["name"],
|
||||||
description: json["description"],
|
description: json["description"],
|
||||||
@@ -501,7 +249,7 @@ class Category {
|
|||||||
path: json["path"],
|
path: json["path"],
|
||||||
);
|
);
|
||||||
|
|
||||||
Map<dynamic, dynamic> toJson() => {
|
Map<String, dynamic> toJson() => {
|
||||||
"id": id,
|
"id": id,
|
||||||
"name": name,
|
"name": name,
|
||||||
"description": description,
|
"description": description,
|
||||||
@@ -509,18 +257,18 @@ class Category {
|
|||||||
"slug": slug,
|
"slug": slug,
|
||||||
"level": level,
|
"level": level,
|
||||||
"isActive": isActive,
|
"isActive": isActive,
|
||||||
"createdAt": createdAt,
|
"createdAt": createdAt!.toIso8601String(),
|
||||||
"updatedAt": updatedAt,
|
"updatedAt": updatedAt!.toIso8601String(),
|
||||||
"parentCategoryId": parentCategoryId,
|
"parentCategoryId": parentCategoryId,
|
||||||
"path": path,
|
"path": path,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
class ProductImage {
|
class ProductImage {
|
||||||
dynamic id;
|
String? id;
|
||||||
dynamic url;
|
String? url;
|
||||||
bool? isDefault;
|
bool? isDefault;
|
||||||
dynamic productId;
|
String? productId;
|
||||||
|
|
||||||
ProductImage({
|
ProductImage({
|
||||||
this.id,
|
this.id,
|
||||||
@@ -529,14 +277,14 @@ class ProductImage {
|
|||||||
this.productId,
|
this.productId,
|
||||||
});
|
});
|
||||||
|
|
||||||
factory ProductImage.fromJson(Map<dynamic, dynamic> json) => ProductImage(
|
factory ProductImage.fromJson(Map<String, dynamic> json) => ProductImage(
|
||||||
id: json["id"],
|
id: json["id"],
|
||||||
url: json["url"],
|
url: json["url"],
|
||||||
isDefault: json["isDefault"],
|
isDefault: json["isDefault"],
|
||||||
productId: json["productId"],
|
productId: json["productId"],
|
||||||
);
|
);
|
||||||
|
|
||||||
Map<dynamic, dynamic> toJson() => {
|
Map<String, dynamic> toJson() => {
|
||||||
"id": id,
|
"id": id,
|
||||||
"url": url,
|
"url": url,
|
||||||
"isDefault": isDefault,
|
"isDefault": isDefault,
|
||||||
@@ -544,3 +292,102 @@ class ProductImage {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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<String, dynamic> 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<String, dynamic> 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<String, dynamic> 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<String, dynamic> 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,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|||||||
34
lib/src/data/login_response.dart
Normal file
34
lib/src/data/login_response.dart
Normal file
@@ -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<String, dynamic> json) => LoginResponse(
|
||||||
|
accessToken: json["access_token"],
|
||||||
|
refreshToken: json["refresh_token"],
|
||||||
|
message: json["message"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<String, dynamic> toJson() => {
|
||||||
|
"access_token": accessToken,
|
||||||
|
"refresh_token": refreshToken,
|
||||||
|
"message": message,
|
||||||
|
};
|
||||||
|
}
|
||||||
406
lib/src/data/product_details.dart
Normal file
406
lib/src/data/product_details.dart
Normal file
@@ -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<dynamic, dynamic> json) => ProductDetailsData(
|
||||||
|
data: Data.fromJson(json["data"]),
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<dynamic, dynamic> 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<ProductImage>? productImages;
|
||||||
|
List<dynamic>? productTags;
|
||||||
|
List<dynamic>? zones;
|
||||||
|
List<dynamic>? productReview;
|
||||||
|
List<dynamic>? questions;
|
||||||
|
List<CartItem>? cartItems;
|
||||||
|
List<WishlistItem>? wishlistItem;
|
||||||
|
List<dynamic>? 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<dynamic, dynamic> 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<ProductImage>.from(
|
||||||
|
json["productImages"].map((x) => ProductImage.fromJson(x))),
|
||||||
|
productTags: List<dynamic>.from(json["productTags"].map((x) => x)),
|
||||||
|
zones: List<dynamic>.from(json["zones"].map((x) => x)),
|
||||||
|
productReview: List<dynamic>.from(json["ProductReview"].map((x) => x)),
|
||||||
|
questions: List<dynamic>.from(json["questions"].map((x) => x)),
|
||||||
|
cartItems: List<CartItem>.from(
|
||||||
|
json["cartItems"].map((x) => CartItem.fromJson(x))),
|
||||||
|
wishlistItem: List<WishlistItem>.from(
|
||||||
|
json["WishlistItem"].map((x) => WishlistItem.fromJson(x))),
|
||||||
|
applicableCoupons:
|
||||||
|
List<dynamic>.from(json["applicableCoupons"].map((x) => x)),
|
||||||
|
isInWishlist: json["isInWishlist"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<dynamic, dynamic> 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<dynamic>.from(productImages!.map((x) => x.toJson())),
|
||||||
|
"productTags": List<dynamic>.from(productTags!.map((x) => x)),
|
||||||
|
"zones": List<dynamic>.from(zones!.map((x) => x)),
|
||||||
|
"ProductReview": List<dynamic>.from(productReview!.map((x) => x)),
|
||||||
|
"questions": List<dynamic>.from(questions!.map((x) => x)),
|
||||||
|
"cartItems": List<dynamic>.from(cartItems!.map((x) => x.toJson())),
|
||||||
|
"WishlistItem":
|
||||||
|
List<dynamic>.from(wishlistItem!.map((x) => x.toJson())),
|
||||||
|
"applicableCoupons":
|
||||||
|
List<dynamic>.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<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> json) => ProductImage(
|
||||||
|
id: json["id"],
|
||||||
|
url: json["url"],
|
||||||
|
isDefault: json["isDefault"],
|
||||||
|
productId: json["productId"],
|
||||||
|
);
|
||||||
|
|
||||||
|
Map<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> 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<dynamic, dynamic> toJson() => {
|
||||||
|
"id": id,
|
||||||
|
"wishlistId": wishlistId,
|
||||||
|
"productId": productId,
|
||||||
|
"storeId": storeId,
|
||||||
|
"createdAt": createdAt,
|
||||||
|
"updatedAt": updatedAt,
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -97,12 +97,43 @@ class AddtocartProvider extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Map<String, bool> isRemoveItem = {};
|
||||||
|
|
||||||
|
Future<void> 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<ProductRepo>();
|
final _homeRepo = getIt<ProductRepo>();
|
||||||
|
|
||||||
AllCartItems allitem = AllCartItems();
|
AllCartItems allitem = AllCartItems();
|
||||||
|
|
||||||
bool isLoaddcartItem = true;
|
bool isLoaddcartItem = true;
|
||||||
Future<void> getItemCards(BuildContext context) async {
|
Future<void> getItemCards(BuildContext context) async {
|
||||||
|
isLoaddcartItem = true;
|
||||||
|
notifyListeners();
|
||||||
var data = {};
|
var data = {};
|
||||||
try {
|
try {
|
||||||
var result = await _homeRepo.getItemCards(data);
|
var result = await _homeRepo.getItemCards(data);
|
||||||
@@ -120,8 +151,7 @@ class AddtocartProvider extends ChangeNotifier {
|
|||||||
notifyListeners();
|
notifyListeners();
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
} catch (e)
|
} catch (e) {
|
||||||
{
|
|
||||||
print("sfddsfdfff");
|
print("sfddsfdfff");
|
||||||
isLoaddcartItem = false;
|
isLoaddcartItem = false;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ class AuthProvider extends ChangeNotifier {
|
|||||||
|
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
SnackBar(
|
SnackBar(
|
||||||
content: Text("Something went wrong. Please try again."),
|
content: Text("Already have account Please login !"),
|
||||||
backgroundColor: Colors.red,
|
backgroundColor: Colors.red,
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@@ -117,9 +117,52 @@ class AuthProvider extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// //login
|
Future<bool> 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<bool> customerRegister(BuildContext context) async {
|
Future<bool> customerRegister(BuildContext context) async {
|
||||||
context.showLoader(show: true);
|
context.showLoader(show: true);
|
||||||
@@ -143,8 +186,7 @@ class AuthProvider extends ChangeNotifier {
|
|||||||
);
|
);
|
||||||
return false; // Login failed
|
return false; // Login failed
|
||||||
},
|
},
|
||||||
(response)
|
(response) {
|
||||||
{
|
|
||||||
// Login success
|
// Login success
|
||||||
context.showLoader(show: false);
|
context.showLoader(show: false);
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
|
|||||||
16
lib/src/logic/provider/bottom_navbar_provider.dart
Normal file
16
lib/src/logic/provider/bottom_navbar_provider.dart
Normal file
@@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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/banners.dart';
|
||||||
import 'package:grocery_app/src/data/best_dealProduct.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_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/data/wish_list_model.dart';
|
||||||
import 'package:grocery_app/src/logic/repo/product_repo.dart';
|
import 'package:grocery_app/src/logic/repo/product_repo.dart';
|
||||||
import 'package:grocery_app/utils/constants/shared_pref_utils.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<void> 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> bestdeal = [];
|
List<BestDeal> bestdeal = [];
|
||||||
|
|
||||||
bool isBestdealingloading = true;
|
bool isBestdealingloading = true;
|
||||||
@@ -132,7 +156,7 @@ class ProductProvider extends ChangeNotifier {
|
|||||||
),
|
),
|
||||||
);
|
);
|
||||||
await SharedPrefUtils.clear();
|
await SharedPrefUtils.clear();
|
||||||
context.clearAndPush(routePath: MyRoutes.LOGIN);
|
context.clearAndPush(routePath: MyRoutes.SIGNUP);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
},
|
},
|
||||||
@@ -319,6 +343,56 @@ class ProductProvider extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<BestDeal> countList = [];
|
||||||
|
|
||||||
|
Future<void> 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;
|
bool isWishListItemLoadingg = true;
|
||||||
|
|
||||||
List<WishListItem> wishListItem = [];
|
List<WishListItem> wishListItem = [];
|
||||||
@@ -360,8 +434,7 @@ class ProductProvider extends ChangeNotifier {
|
|||||||
int get quantity => _quantity;
|
int get quantity => _quantity;
|
||||||
double get totalPrice => _totalPrice;
|
double get totalPrice => _totalPrice;
|
||||||
|
|
||||||
void setProductPrice(double price)
|
void setProductPrice(double price) {
|
||||||
{
|
|
||||||
_unitPrice = price;
|
_unitPrice = price;
|
||||||
_totalPrice = _unitPrice * _quantity;
|
_totalPrice = _unitPrice * _quantity;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
@@ -406,6 +479,4 @@ class ProductProvider extends ChangeNotifier {
|
|||||||
}
|
}
|
||||||
|
|
||||||
///////////////////////////////////////////////////// all carts////////////////////////
|
///////////////////////////////////////////////////// all carts////////////////////////
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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/custom_dio_exception.dart';
|
||||||
import 'package:grocery_app/src/core/utils/response_type_def.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/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/registration_response.dart';
|
||||||
import 'package:grocery_app/src/data/vendor_otpModel.dart';
|
import 'package:grocery_app/src/data/vendor_otpModel.dart';
|
||||||
import 'package:grocery_app/src/logic/services/auth_service_locator.dart';
|
import 'package:grocery_app/src/logic/services/auth_service_locator.dart';
|
||||||
@@ -19,8 +20,7 @@ class AuthRepo {
|
|||||||
try {
|
try {
|
||||||
var response = await _authServices.sendOtp(data);
|
var response = await _authServices.sendOtp(data);
|
||||||
final String model = response.toString();
|
final String model = response.toString();
|
||||||
// OtpResponseModel otpResponseModel =
|
|
||||||
// otpResponseModelFromJson(response.toString());
|
|
||||||
|
|
||||||
return right(model);
|
return right(model);
|
||||||
} on DioException catch (e) {
|
} on DioException catch (e) {
|
||||||
@@ -42,7 +42,7 @@ class AuthRepo {
|
|||||||
authToken: vendorOtpModel.data!.accessToken ?? "");
|
authToken: vendorOtpModel.data!.accessToken ?? "");
|
||||||
}
|
}
|
||||||
|
|
||||||
// final String model = response.toString();
|
|
||||||
|
|
||||||
return right(vendorOtpModel);
|
return right(vendorOtpModel);
|
||||||
} on DioException catch (e) {
|
} on DioException catch (e) {
|
||||||
@@ -51,6 +51,27 @@ class AuthRepo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FutureResult<LoginResponse> 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<LoginResponse> login(data) async {
|
// FutureResult<LoginResponse> login(data) async {
|
||||||
// try {
|
// try {
|
||||||
// var response = await _authServices.login(data);
|
// var response = await _authServices.login(data);
|
||||||
|
|||||||
@@ -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/best_dealProduct.dart';
|
||||||
import 'package:grocery_app/src/data/check_pin_response.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_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/data/wish_list_model.dart';
|
||||||
import 'package:grocery_app/src/logic/services/home_locator.dart';
|
import 'package:grocery_app/src/logic/services/home_locator.dart';
|
||||||
|
import 'package:grocery_app/src/ui/productdetails/product_details.dart';
|
||||||
|
|
||||||
class ProductRepo {
|
class ProductRepo {
|
||||||
final ProductService _productService;
|
final ProductService _productService;
|
||||||
@@ -34,6 +36,24 @@ class ProductRepo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FutureResult<ProductDetailsData> 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<BestDealProduct> getBestDealProduct(
|
FutureResult<BestDealProduct> getBestDealProduct(
|
||||||
data, BuildContext context) async {
|
data, BuildContext context) async {
|
||||||
try {
|
try {
|
||||||
@@ -103,14 +123,26 @@ class ProductRepo {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FutureResult<CheckPinResponse> checkPin(data,pin) async {
|
FutureResult<CheckPinResponse> checkPin(data, pin) async {
|
||||||
try {
|
try {
|
||||||
var response = await _productService.checkPin(data,pin);
|
var response = await _productService.checkPin(data, pin);
|
||||||
CheckPinResponse allCartItems = checkPinResponseFromJson(response.toString());
|
CheckPinResponse allCartItems =
|
||||||
|
checkPinResponseFromJson(response.toString());
|
||||||
|
|
||||||
return right(allCartItems);
|
return right(allCartItems);
|
||||||
} on DioException catch (e) {
|
} on DioException catch (e) {
|
||||||
|
var error = CustomDioExceptions.handleError(e);
|
||||||
|
return left(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FutureResult<String> 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);
|
var error = CustomDioExceptions.handleError(e);
|
||||||
return left(error);
|
return left(error);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,6 +23,12 @@ class AuthServices extends ApiService {
|
|||||||
var response = await api.post(APIURL.verifyOtp, data: jsonEncode(data));
|
var response = await api.post(APIURL.verifyOtp, data: jsonEncode(data));
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
Future loginOtp(data) async {
|
||||||
|
var response = await api.post(APIURL.loginOtp, data: jsonEncode(data));
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Future login(data) async
|
Future login(data) async
|
||||||
{
|
{
|
||||||
var response = await api.post(APIURL.login, data: jsonEncode(data));
|
var response = await api.post(APIURL.login, data: jsonEncode(data));
|
||||||
|
|||||||
@@ -21,16 +21,24 @@ class ProductService extends ApiService {
|
|||||||
var response;
|
var response;
|
||||||
|
|
||||||
if (id.isEmpty) {
|
if (id.isEmpty) {
|
||||||
|
response = await api.get(APIURL.getAllProduct, data: jsonEncode(data));
|
||||||
|
} else {
|
||||||
response =
|
response =
|
||||||
await api.get(APIURL.getAllProduct, data: jsonEncode(data));
|
await api.get(APIURL.getAllProduct + id, data: jsonEncode(data));
|
||||||
}
|
|
||||||
else{
|
|
||||||
response = await api.get(APIURL.getAllProduct+ id, data: jsonEncode(data));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Future getProductDetails(data, id) async {
|
||||||
|
var response =
|
||||||
|
await api.get(APIURL.getProductDetails + id, data: jsonEncode(data));
|
||||||
|
|
||||||
|
return response;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
|
||||||
Future getBestDealProduct(data) async {
|
Future getBestDealProduct(data) async {
|
||||||
var response =
|
var response =
|
||||||
await api.get(APIURL.getBestDealProduct, data: jsonEncode(data));
|
await api.get(APIURL.getBestDealProduct, data: jsonEncode(data));
|
||||||
@@ -44,8 +52,9 @@ class ProductService extends ApiService {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future similarProduct(data,id) async {
|
Future similarProduct(data, id) async {
|
||||||
var response = await api.get(APIURL.similarProduct+id+"/similar", data: jsonEncode(data));
|
var response = await api.get(APIURL.similarProduct + id + "/similar",
|
||||||
|
data: jsonEncode(data));
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
@@ -56,17 +65,17 @@ class ProductService extends ApiService {
|
|||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
Future checkPin(data,pin) async {
|
Future checkPin(data, pin) async {
|
||||||
var response = await api.get(APIURL.checkPin+pin, data: jsonEncode(data));
|
var response = await api.get(APIURL.checkPin + pin, data: jsonEncode(data));
|
||||||
|
|
||||||
return response;
|
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));
|
var response = await api.post(APIURL.addToWish, data: jsonEncode(data));
|
||||||
@@ -81,18 +90,12 @@ class ProductService extends ApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Future gettAllWishList(data) async {
|
Future gettAllWishList(data) async {
|
||||||
var response = await api.get(APIURL.gettAllWishList, data: jsonEncode(data));
|
var response =
|
||||||
|
await api.get(APIURL.gettAllWishList, data: jsonEncode(data));
|
||||||
|
|
||||||
return response;
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Future getBanners(data) async {
|
Future getBanners(data) async {
|
||||||
var response = await api.get(APIURL.getBanners, data: jsonEncode(data));
|
var response = await api.get(APIURL.getBanners, data: jsonEncode(data));
|
||||||
|
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
||||||
import 'package:flutter_svg/flutter_svg.dart';
|
import 'package:flutter_svg/flutter_svg.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
import 'package:grocery_app/src/common_widget/network_image.dart';
|
import 'package:grocery_app/src/common_widget/network_image.dart';
|
||||||
import 'package:grocery_app/src/core/routes/routes.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/src/logic/provider/home_provider.dart';
|
||||||
import 'package:grocery_app/utils/constants/assets_constant.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/color_constant.dart';
|
||||||
@@ -58,7 +61,16 @@ class _BestDealScreenState extends State<BestDealScreen> {
|
|||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
floatingActionButton: Padding(
|
floatingActionButton: floatingAction(),
|
||||||
|
body: itemBestdeal());
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget floatingAction() {
|
||||||
|
return Consumer<ProductProvider>(builder: (context, provider, child) {
|
||||||
|
if (provider.countList.isEmpty) {
|
||||||
|
return Center();
|
||||||
|
} else {
|
||||||
|
return Padding(
|
||||||
padding: const EdgeInsets.only(left: 30),
|
padding: const EdgeInsets.only(left: 30),
|
||||||
child: Container(
|
child: Container(
|
||||||
height: 80,
|
height: 80,
|
||||||
@@ -106,16 +118,19 @@ class _BestDealScreenState extends State<BestDealScreen> {
|
|||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'2 Items',
|
provider.countList.length.toString(),
|
||||||
style: context.customRegular(Colors.white, 18),
|
style: context.customRegular(Colors.white, 18),
|
||||||
),
|
),
|
||||||
Text(
|
|
||||||
'\$25',
|
|
||||||
style: context.customExtraBold(Colors.white, 20),
|
|
||||||
)
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
const Spacer(),
|
const Spacer(),
|
||||||
|
InkWell(
|
||||||
|
onTap: () {
|
||||||
|
context.read<BottomNavProvider>().setIndex(2);
|
||||||
|
Navigator.pop(context);
|
||||||
|
},
|
||||||
|
child: Row(
|
||||||
|
children: [
|
||||||
Text(
|
Text(
|
||||||
'View Cart',
|
'View Cart',
|
||||||
style: context.customMedium(Colors.white, 24),
|
style: context.customMedium(Colors.white, 24),
|
||||||
@@ -130,10 +145,14 @@ class _BestDealScreenState extends State<BestDealScreen> {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
body: itemBestdeal());
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget itemBestdeal() {
|
Widget itemBestdeal() {
|
||||||
@@ -156,7 +175,12 @@ class _BestDealScreenState extends State<BestDealScreen> {
|
|||||||
),
|
),
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
var bestdealproduct = provider.bestdeal[index];
|
var bestdealproduct = provider.bestdeal[index];
|
||||||
return Container(
|
return InkWell(
|
||||||
|
onTap: () {
|
||||||
|
context.push(MyRoutes.PRODUCTDETAILS,
|
||||||
|
extra: bestdealproduct.id);
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
borderRadius: BorderRadius.circular(15),
|
borderRadius: BorderRadius.circular(15),
|
||||||
@@ -189,37 +213,39 @@ class _BestDealScreenState extends State<BestDealScreen> {
|
|||||||
child: AppNetworkImage(
|
child: AppNetworkImage(
|
||||||
height:
|
height:
|
||||||
MediaQuery.of(context).size.height * 0.13,
|
MediaQuery.of(context).size.height * 0.13,
|
||||||
width: MediaQuery.of(context).size.width * 0.35,
|
width:
|
||||||
imageUrl:
|
MediaQuery.of(context).size.width * 0.35,
|
||||||
bestdealproduct.productImages?.first.url ??
|
imageUrl: bestdealproduct
|
||||||
|
.productImages?.first.url ??
|
||||||
"",
|
"",
|
||||||
backGroundColor: Colors.transparent,
|
backGroundColor: Colors.transparent,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Positioned(
|
// Positioned(
|
||||||
right: 5,
|
// right: 5,
|
||||||
top: 5,
|
// top: 5,
|
||||||
child: InkWell(
|
// child: InkWell(
|
||||||
onTap: () async {
|
// onTap: () async {
|
||||||
if (await SharedPrefUtils.getToken() !=
|
// if (await SharedPrefUtils.getToken() !=
|
||||||
null) {
|
// null) {
|
||||||
provider.toggleWishlist(
|
// provider.toggleWishlist(
|
||||||
context, bestdealproduct.id!);
|
// context, bestdealproduct.id!);
|
||||||
} else {
|
// } else {
|
||||||
context.push(MyRoutes.LOGIN);
|
// context.push(MyRoutes.LOGIN);
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
child: Icon(
|
// child: Icon(
|
||||||
provider.wishlist.contains(bestdealproduct.id)
|
// provider.wishlist
|
||||||
? Icons.favorite
|
// .contains(bestdealproduct.id)
|
||||||
: Icons.favorite_border,
|
// ? Icons.favorite
|
||||||
color: provider.wishlist
|
// : Icons.favorite_border,
|
||||||
.contains(bestdealproduct.id)
|
// color: provider.wishlist
|
||||||
? Colors.red
|
// .contains(bestdealproduct.id)
|
||||||
: Colors.grey,
|
// ? Colors.red
|
||||||
),
|
// : Colors.grey,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
|
// ),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -254,7 +280,8 @@ class _BestDealScreenState extends State<BestDealScreen> {
|
|||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: context.customSemiBold(Colors.black, 12),
|
style:
|
||||||
|
context.customSemiBold(Colors.black, 12),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"\$${bestdealproduct.basePrice ?? ""}",
|
"\$${bestdealproduct.basePrice ?? ""}",
|
||||||
@@ -277,34 +304,26 @@ class _BestDealScreenState extends State<BestDealScreen> {
|
|||||||
alignment: Alignment.centerRight,
|
alignment: Alignment.centerRight,
|
||||||
child: GestureDetector(
|
child: GestureDetector(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
print(
|
if (await SharedPrefUtils.getToken() !=
|
||||||
"Add to Cart Pressed for ${bestdealproduct.id}");
|
null) {
|
||||||
|
await provider.addToWithCart(context,
|
||||||
if (await SharedPrefUtils.getToken() != null) {
|
bestdealproduct.id!, bestdealproduct);
|
||||||
// if (!(provider
|
|
||||||
// .isLoading[bestdealproduct.id] ??
|
|
||||||
// false))
|
|
||||||
// {
|
|
||||||
|
|
||||||
await provider.addToCart(
|
|
||||||
context, bestdealproduct.id!);
|
|
||||||
|
|
||||||
// }
|
|
||||||
} else {
|
} else {
|
||||||
context.push(MyRoutes.LOGIN);
|
context.push(MyRoutes.SIGNUP);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
height:
|
height: MediaQuery.of(context).size.height *
|
||||||
MediaQuery.of(context).size.height * 0.035,
|
0.035,
|
||||||
width: MediaQuery.of(context).size.width * 0.1,
|
width:
|
||||||
|
MediaQuery.of(context).size.width * 0.1,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: APPCOLOR.lightGreen,
|
color: APPCOLOR.lightGreen,
|
||||||
borderRadius: BorderRadius.circular(5),
|
borderRadius: BorderRadius.circular(5),
|
||||||
),
|
),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: provider
|
child: provider.isLoading[
|
||||||
.isLoading[bestdealproduct.id] ??
|
bestdealproduct.id] ??
|
||||||
false
|
false
|
||||||
? Padding(
|
? Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
@@ -334,6 +353,7 @@ class _BestDealScreenState extends State<BestDealScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -2,12 +2,14 @@
|
|||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:geolocator/geolocator.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/cart/cartview_screen.dart';
|
||||||
import 'package:grocery_app/src/ui/favourite/favourite_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/header.dart';
|
||||||
import 'package:grocery_app/src/ui/home/home_screen.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/src/ui/profilepage/profile_screen.dart';
|
||||||
import 'package:grocery_app/utils/constants/color_constant.dart';
|
import 'package:grocery_app/utils/constants/color_constant.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class BottomBarWidget extends StatefulWidget {
|
class BottomBarWidget extends StatefulWidget {
|
||||||
const BottomBarWidget({super.key});
|
const BottomBarWidget({super.key});
|
||||||
@@ -69,10 +71,11 @@ class _BottomBarState extends State<BottomBarWidget> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
SizeConfig().init(context);
|
SizeConfig().init(context);
|
||||||
|
final bottomNavProvider = Provider.of<BottomNavProvider>(context);
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: PageView(
|
body: PageView(
|
||||||
controller: bottomWidgetPageController,
|
controller: bottomNavProvider.pageController,
|
||||||
physics: const NeverScrollableScrollPhysics(),
|
physics: const NeverScrollableScrollPhysics(),
|
||||||
children: <Widget>[
|
children: <Widget>[
|
||||||
HomeScreen(),
|
HomeScreen(),
|
||||||
@@ -89,7 +92,10 @@ class _BottomBarState extends State<BottomBarWidget> {
|
|||||||
duration: const Duration(milliseconds: 300),
|
duration: const Duration(milliseconds: 300),
|
||||||
curve: Curves.decelerate,
|
curve: Curves.decelerate,
|
||||||
top: 0,
|
top: 0,
|
||||||
left: (_currentIndex * MediaQuery.sizeOf(context).width / 4) + 42,
|
left: (bottomNavProvider.currentIndex *
|
||||||
|
MediaQuery.sizeOf(context).width /
|
||||||
|
4) +
|
||||||
|
42,
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
ClipPath(
|
ClipPath(
|
||||||
@@ -119,26 +125,26 @@ class _BottomBarState extends State<BottomBarWidget> {
|
|||||||
BottomNavButton(
|
BottomNavButton(
|
||||||
icon: Icons.home,
|
icon: Icons.home,
|
||||||
index: 0,
|
index: 0,
|
||||||
currentIndex: _currentIndex,
|
currentIndex: bottomNavProvider.currentIndex,
|
||||||
onPressed: _onNavButtonTapped,
|
onPressed: bottomNavProvider.setIndex,
|
||||||
),
|
),
|
||||||
BottomNavButton(
|
BottomNavButton(
|
||||||
icon: Icons.favorite,
|
icon: Icons.favorite,
|
||||||
index: 1,
|
index: 1,
|
||||||
currentIndex: _currentIndex,
|
currentIndex: bottomNavProvider.currentIndex,
|
||||||
onPressed: _onNavButtonTapped,
|
onPressed: bottomNavProvider.setIndex,
|
||||||
),
|
),
|
||||||
BottomNavButton(
|
BottomNavButton(
|
||||||
icon: Icons.shopping_bag,
|
icon: Icons.shopping_bag,
|
||||||
index: 2,
|
index: 2,
|
||||||
currentIndex: _currentIndex,
|
currentIndex: bottomNavProvider.currentIndex,
|
||||||
onPressed: _onNavButtonTapped,
|
onPressed: bottomNavProvider.setIndex,
|
||||||
),
|
),
|
||||||
BottomNavButton(
|
BottomNavButton(
|
||||||
icon: Icons.person,
|
icon: Icons.person,
|
||||||
index: 3,
|
index: 3,
|
||||||
currentIndex: _currentIndex,
|
currentIndex: bottomNavProvider.currentIndex,
|
||||||
onPressed: _onNavButtonTapped,
|
onPressed: bottomNavProvider.setIndex,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -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,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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/addTocart_provider.dart';
|
||||||
import 'package:grocery_app/src/logic/provider/home_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/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/custom_icon_button.dart';
|
||||||
import 'package:grocery_app/src/ui/widgets/elevated_button.dart';
|
import 'package:grocery_app/src/ui/widgets/elevated_button.dart';
|
||||||
import 'package:grocery_app/utils/constants/assets_constant.dart';
|
import 'package:grocery_app/utils/constants/assets_constant.dart';
|
||||||
@@ -32,6 +32,7 @@ class _MycartState extends State<Mycart> {
|
|||||||
void initState() {
|
void initState() {
|
||||||
Provider.of<AddtocartProvider>(context, listen: false)
|
Provider.of<AddtocartProvider>(context, listen: false)
|
||||||
.getItemCards(context);
|
.getItemCards(context);
|
||||||
|
|
||||||
Provider.of<AddtocartProvider>(context, listen: false)
|
Provider.of<AddtocartProvider>(context, listen: false)
|
||||||
.getCurrentLocation(context);
|
.getCurrentLocation(context);
|
||||||
|
|
||||||
@@ -213,15 +214,16 @@ class _MycartState extends State<Mycart> {
|
|||||||
|
|
||||||
Widget cartItems() {
|
Widget cartItems() {
|
||||||
return Consumer<AddtocartProvider>(builder: (context, provider, child) {
|
return Consumer<AddtocartProvider>(builder: (context, provider, child) {
|
||||||
print("djkhsfjh ${provider.allitem.items}");
|
|
||||||
if (provider.isLoaddcartItem) {
|
if (provider.isLoaddcartItem) {
|
||||||
return Padding(
|
return Center(
|
||||||
padding: const EdgeInsets.only(left: 120),
|
child: CircularProgressIndicator(
|
||||||
child: CircularProgressIndicator(),
|
color: Colors.green,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
} else if (provider.allitem == null) {
|
} else if (provider.allitem == null) {
|
||||||
return Center(child: Text('🛒 Your Front Shop Cart is empty'));
|
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'));
|
return Center(child: Text('🛒 Your Front Shop Cart is empty'));
|
||||||
} else {
|
} else {
|
||||||
return ListView.separated(
|
return ListView.separated(
|
||||||
@@ -235,7 +237,6 @@ class _MycartState extends State<Mycart> {
|
|||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index) {
|
||||||
var items = provider.allitem.items![index];
|
var items = provider.allitem.items![index];
|
||||||
|
|
||||||
print("kdfgdjfgkj ${items}");
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
padding: EdgeInsets.symmetric(horizontal: 10.w),
|
||||||
child: Row(
|
child: Row(
|
||||||
@@ -303,6 +304,9 @@ class _MycartState extends State<Mycart> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
const Spacer(),
|
const Spacer(),
|
||||||
|
|
||||||
|
Column(
|
||||||
|
children: [
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
CustomIconButton(
|
CustomIconButton(
|
||||||
@@ -320,7 +324,8 @@ class _MycartState extends State<Mycart> {
|
|||||||
5.horizontalSpace,
|
5.horizontalSpace,
|
||||||
Text(
|
Text(
|
||||||
items.quantity.toString(),
|
items.quantity.toString(),
|
||||||
style: context.customMedium(APPCOLOR.balck1A1A1A, 14),
|
style:
|
||||||
|
context.customMedium(APPCOLOR.balck1A1A1A, 14),
|
||||||
),
|
),
|
||||||
5.horizontalSpace,
|
5.horizontalSpace,
|
||||||
CustomIconButton(
|
CustomIconButton(
|
||||||
@@ -336,6 +341,40 @@ class _MycartState extends State<Mycart> {
|
|||||||
backgroundColor: APPCOLOR.appGreen,
|
backgroundColor: APPCOLOR.appGreen,
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
),
|
||||||
|
Gap(20),
|
||||||
|
InkWell(
|
||||||
|
onTap: () {
|
||||||
|
provider.deleteItem(context, items.id);
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
height: 25,
|
||||||
|
width: 70,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
borderRadius: BorderRadius.all(Radius.circular(10)),
|
||||||
|
shape: BoxShape.rectangle,
|
||||||
|
border: Border.all(
|
||||||
|
color: Colors
|
||||||
|
.blue, // Replace with your desired border color
|
||||||
|
width: 2, // Border width
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: provider.isRemoveItem[items.id] ?? false
|
||||||
|
? Center(
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
child: Container(
|
||||||
|
height: 5,
|
||||||
|
width: 5,
|
||||||
|
child: CircularProgressIndicator(
|
||||||
|
color: Colors.green, strokeWidth: 1),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
: Center(child: Text("Delete")),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
],
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -356,7 +395,9 @@ class _MycartState extends State<Mycart> {
|
|||||||
if (provider.isLoaddcartItem) {
|
if (provider.isLoaddcartItem) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.only(left: 120),
|
padding: const EdgeInsets.only(left: 120),
|
||||||
child: CircularProgressIndicator(),
|
child: CircularProgressIndicator(
|
||||||
|
color: Colors.white,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
} else if (provider.allitem == null) {
|
} else if (provider.allitem == null) {
|
||||||
return Center(child: Text('🛒 Your Front Shop Cart is empty'));
|
return Center(child: Text('🛒 Your Front Shop Cart is empty'));
|
||||||
@@ -384,9 +425,7 @@ class _MycartState extends State<Mycart> {
|
|||||||
trailing: Icon(Icons.arrow_forward_ios),
|
trailing: Icon(Icons.arrow_forward_ios),
|
||||||
onTap: () {},
|
onTap: () {},
|
||||||
),
|
),
|
||||||
SummaryRow(
|
SummaryRow(label: 'Item Total', value: '\$22'),
|
||||||
label: 'Item Total',
|
|
||||||
value: '\$22'),
|
|
||||||
SummaryRow(label: 'Discount', value: '\$2'),
|
SummaryRow(label: 'Discount', value: '\$2'),
|
||||||
SummaryRow(label: 'Delivery Free', value: 'Free', isGreen: true),
|
SummaryRow(label: 'Delivery Free', value: 'Free', isGreen: true),
|
||||||
Divider(),
|
Divider(),
|
||||||
|
|||||||
@@ -106,11 +106,17 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
|
|||||||
crossAxisSpacing: 10,
|
crossAxisSpacing: 10,
|
||||||
mainAxisSpacing: 10,
|
mainAxisSpacing: 10,
|
||||||
),
|
),
|
||||||
itemBuilder: (context, index) {
|
itemBuilder: (context, index)
|
||||||
|
{
|
||||||
var product = provider.products[index];
|
var product = provider.products[index];
|
||||||
|
|
||||||
|
return InkWell(
|
||||||
return Container(
|
onTap: ()
|
||||||
|
{
|
||||||
|
context.push(MyRoutes.PRODUCTDETAILS,
|
||||||
|
extra: product.id);
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
height: itemHeight,
|
height: itemHeight,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
@@ -188,12 +194,13 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
|
|||||||
top: 5,
|
top: 5,
|
||||||
child: InkWell(
|
child: InkWell(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
if (await SharedPrefUtils.getToken() !=
|
if (await SharedPrefUtils
|
||||||
|
.getToken() !=
|
||||||
null) {
|
null) {
|
||||||
provider.toggleWishlist(
|
provider.toggleWishlist(
|
||||||
context, product.id!);
|
context, product.id!);
|
||||||
} else {
|
} else {
|
||||||
context.push(MyRoutes.LOGIN);
|
context.push(MyRoutes.SIGNUP);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Icon(
|
child: Icon(
|
||||||
@@ -234,7 +241,8 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
|
|||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Column(
|
Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment:
|
||||||
|
CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"\$${product.discountPrice ?? " "}",
|
"\$${product.discountPrice ?? " "}",
|
||||||
@@ -275,21 +283,24 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
|
|||||||
await provider.addToCart(
|
await provider.addToCart(
|
||||||
context, product.id!);
|
context, product.id!);
|
||||||
} else {
|
} else {
|
||||||
context.push(MyRoutes.LOGIN);
|
context.push(MyRoutes.SIGNUP);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
height:
|
height:
|
||||||
MediaQuery.of(context).size.height *
|
MediaQuery.of(context).size.height *
|
||||||
0.035,
|
0.035,
|
||||||
width: MediaQuery.of(context).size.width *
|
width:
|
||||||
|
MediaQuery.of(context).size.width *
|
||||||
0.1,
|
0.1,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: APPCOLOR.lightGreen,
|
color: APPCOLOR.lightGreen,
|
||||||
borderRadius: BorderRadius.circular(5),
|
borderRadius:
|
||||||
|
BorderRadius.circular(5),
|
||||||
),
|
),
|
||||||
child: Center(
|
child: Center(
|
||||||
child: provider.isLoading[product.id] ??
|
child: provider
|
||||||
|
.isLoading[product.id] ??
|
||||||
false
|
false
|
||||||
? Padding(
|
? Padding(
|
||||||
padding:
|
padding:
|
||||||
@@ -321,6 +332,7 @@ class _FruitVeggieDetailState extends State<FruitVeggieDetail> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -190,7 +190,12 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
double cardWidth =
|
double cardWidth =
|
||||||
MediaQuery.of(context).size.width * 0.4; // Dynamic width
|
MediaQuery.of(context).size.width * 0.4; // Dynamic width
|
||||||
|
|
||||||
return Padding(
|
return InkWell(
|
||||||
|
onTap: () {
|
||||||
|
context.push(MyRoutes.PRODUCTDETAILS,
|
||||||
|
extra: bestdealproduct.id);
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),
|
padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),
|
||||||
child: Container(
|
child: Container(
|
||||||
width: cardWidth,
|
width: cardWidth,
|
||||||
@@ -222,39 +227,39 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
children: [
|
children: [
|
||||||
AppNetworkImage(
|
AppNetworkImage(
|
||||||
height:
|
height: MediaQuery.of(context).size.height *
|
||||||
MediaQuery.of(context).size.height * 0.08,
|
0.08,
|
||||||
width: cardWidth * 0.7,
|
width: cardWidth * 0.7,
|
||||||
imageUrl: bestdealproduct
|
imageUrl: bestdealproduct
|
||||||
.productImages?.first?.url ??
|
.productImages?.first?.url ??
|
||||||
"",
|
"",
|
||||||
backGroundColor: Colors.transparent,
|
backGroundColor: Colors.transparent,
|
||||||
),
|
),
|
||||||
Positioned(
|
// Positioned(
|
||||||
right: 5,
|
// right: 5,
|
||||||
top: 5,
|
// top: 5,
|
||||||
child: InkWell(
|
// child: InkWell(
|
||||||
onTap: () async {
|
// onTap: () async {
|
||||||
if (await SharedPrefUtils.getToken() !=
|
// if (await SharedPrefUtils.getToken() !=
|
||||||
null) {
|
// null) {
|
||||||
provider.toggleWishlist(
|
// provider.toggleWishlist(
|
||||||
context, bestdealproduct.id!);
|
// context, bestdealproduct.id!);
|
||||||
} else {
|
// } else {
|
||||||
context.push(MyRoutes.LOGIN);
|
// context.push(MyRoutes.LOGIN);
|
||||||
}
|
// }
|
||||||
},
|
// },
|
||||||
child: Icon(
|
// child: Icon(
|
||||||
provider.wishlist
|
// provider.wishlist
|
||||||
.contains(bestdealproduct.id)
|
// .contains(bestdealproduct.id)
|
||||||
? Icons.favorite
|
// ? Icons.favorite
|
||||||
: Icons.favorite_border,
|
// : Icons.favorite_border,
|
||||||
color: provider.wishlist
|
// color: provider.wishlist
|
||||||
.contains(bestdealproduct.id)
|
// .contains(bestdealproduct.id)
|
||||||
? Colors.red
|
// ? Colors.red
|
||||||
: Colors.grey,
|
// : Colors.grey,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -267,7 +272,8 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
maxLines: 2,
|
maxLines: 2,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: context.customMedium(APPCOLOR.balck1A1A1A, 14),
|
style:
|
||||||
|
context.customMedium(APPCOLOR.balck1A1A1A, 14),
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: MediaQuery.of(context).size.height * 0.005,
|
height: MediaQuery.of(context).size.height * 0.005,
|
||||||
@@ -295,8 +301,8 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style:
|
style: context.customSemiBold(
|
||||||
context.customSemiBold(Colors.black, 12),
|
Colors.black, 12),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"\$${bestdealproduct.basePrice ?? ""}",
|
"\$${bestdealproduct.basePrice ?? ""}",
|
||||||
@@ -309,7 +315,8 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
12,
|
12,
|
||||||
)
|
)
|
||||||
.copyWith(
|
.copyWith(
|
||||||
decoration: TextDecoration.lineThrough,
|
decoration:
|
||||||
|
TextDecoration.lineThrough,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -334,7 +341,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
|
|
||||||
// }
|
// }
|
||||||
} else {
|
} else {
|
||||||
context.push(MyRoutes.LOGIN);
|
context.push(MyRoutes.SIGNUP);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
@@ -351,20 +358,18 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
bestdealproduct.id] ??
|
bestdealproduct.id] ??
|
||||||
false
|
false
|
||||||
? Padding(
|
? Padding(
|
||||||
padding: const EdgeInsets.all(8.0),
|
padding:
|
||||||
|
const EdgeInsets.all(8.0),
|
||||||
child: Container(
|
child: Container(
|
||||||
height: 10,
|
height: 10,
|
||||||
width: 10,
|
width: 10,
|
||||||
child: CircularProgressIndicator(
|
child:
|
||||||
|
CircularProgressIndicator(
|
||||||
color: Colors.white,
|
color: Colors.white,
|
||||||
strokeWidth: 2),
|
strokeWidth: 2),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: Text(
|
: Text(
|
||||||
// provider.cartItems
|
|
||||||
// .contains(bestdealproduct.id)
|
|
||||||
// ? 'Added'
|
|
||||||
// :
|
|
||||||
'Add',
|
'Add',
|
||||||
style: context.customRegular(
|
style: context.customRegular(
|
||||||
Colors.white, 12),
|
Colors.white, 12),
|
||||||
@@ -379,6 +384,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -505,7 +511,7 @@ class _HomeScreenState extends State<HomeScreen> {
|
|||||||
var product = provider.products[index];
|
var product = provider.products[index];
|
||||||
return InkWell(
|
return InkWell(
|
||||||
onTap: () {
|
onTap: () {
|
||||||
context.push(MyRoutes.PRODUCTDETAILS, extra: product);
|
context.push(MyRoutes.PRODUCTDETAILS, extra: product.id);
|
||||||
},
|
},
|
||||||
child: SizedBox(
|
child: SizedBox(
|
||||||
child: Column(
|
child: Column(
|
||||||
|
|||||||
@@ -92,7 +92,7 @@ class _LoginScreenState extends State<LoginScreen> {
|
|||||||
await pageNotifier.sendOtp(phoneController.text, context);
|
await pageNotifier.sendOtp(phoneController.text, context);
|
||||||
|
|
||||||
if (success) {
|
if (success) {
|
||||||
context.push(MyRoutes.OTPSCREEN);
|
context.push(MyRoutes.LOGINOTPSCREEN);
|
||||||
} else {
|
} else {
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
SnackBar(
|
SnackBar(
|
||||||
|
|||||||
154
lib/src/ui/login/signup_screen.dart
Normal file
154
lib/src/ui/login/signup_screen.dart
Normal file
@@ -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<SingnuScreen> createState() => _SingnuScreenState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _SingnuScreenState extends State<SingnuScreen> {
|
||||||
|
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<FormState>();
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final pageNotifier = Provider.of<AuthProvider>(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),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -33,7 +33,7 @@ class _OnBoardingScreenState extends State<OnBoardingScreen> {
|
|||||||
|
|
||||||
skipbyarrowFunction() {
|
skipbyarrowFunction() {
|
||||||
SharedPrefUtils.setFreshInstall(isFresh: false).then(
|
SharedPrefUtils.setFreshInstall(isFresh: false).then(
|
||||||
(value) => context.clearAndPush(routePath: MyRoutes.LOGIN, args: 0),
|
(value) => context.clearAndPush(routePath: MyRoutes.SIGNUP, args: 0),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
123
lib/src/ui/otp/login_otp.dart
Normal file
123
lib/src/ui/otp/login_otp.dart
Normal file
@@ -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<LoginOtpScreen> createState() => _LoginOtpScreenState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _LoginOtpScreenState extends State<LoginOtpScreen> {
|
||||||
|
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<AuthProvider>(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),
|
||||||
|
)
|
||||||
|
]))
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -20,8 +20,8 @@ import 'package:provider/provider.dart';
|
|||||||
import 'package:readmore/readmore.dart';
|
import 'package:readmore/readmore.dart';
|
||||||
|
|
||||||
class ProductDetails extends StatefulWidget {
|
class ProductDetails extends StatefulWidget {
|
||||||
Product product;
|
String id;
|
||||||
ProductDetails({super.key, required this.product});
|
ProductDetails({super.key, required this.id});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
State<ProductDetails> createState() => _ProductDetailsState();
|
State<ProductDetails> createState() => _ProductDetailsState();
|
||||||
@@ -35,22 +35,24 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
|
||||||
productId = widget.product.id;
|
|
||||||
Future.delayed(Duration.zero, () {
|
|
||||||
Provider.of<ProductProvider>(context, listen: false)
|
Provider.of<ProductProvider>(context, listen: false)
|
||||||
.setProductPrice(double.parse(widget.product.discountPrice));
|
.getProduuctDetails(context, widget.id);
|
||||||
|
|
||||||
Provider.of<ProductProvider>(context, listen: false)
|
// productId = widget.product.id;
|
||||||
.similarProductprovider(context, widget.product.id);
|
// Future.delayed(Duration.zero, () {
|
||||||
});
|
// Provider.of<ProductProvider>(context, listen: false)
|
||||||
|
// .setProductPrice(double.parse(widget.product.discountPrice));
|
||||||
|
|
||||||
Timer.periodic(Duration(seconds: 3), (timer) {
|
// Provider.of<ProductProvider>(context, listen: false)
|
||||||
setState(() {
|
// .similarProductprovider(context, widget.product.id);
|
||||||
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;
|
double value = 3.5;
|
||||||
@@ -89,13 +91,49 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
padding: const EdgeInsets.all(8.0),
|
padding: const EdgeInsets.all(8.0),
|
||||||
child: Column(
|
child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
prodectDtails(),
|
||||||
|
Divider(),
|
||||||
|
reviews(),
|
||||||
|
Divider(),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
||||||
|
child: Text("Similar Products",
|
||||||
|
style:
|
||||||
|
TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
|
||||||
|
),
|
||||||
|
bestDeal(),
|
||||||
|
SizedBox(
|
||||||
|
height: 100,
|
||||||
|
)
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
// bottomNavigationBar: bottomBar(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget prodectDtails() {
|
||||||
|
return Consumer<ProductProvider>(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: [
|
children: [
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: 300,
|
height: 300,
|
||||||
child: CarouselSlider.builder(
|
child: CarouselSlider.builder(
|
||||||
itemCount: widget.product.productImages!.length,
|
itemCount:
|
||||||
|
provider.productDetails.data!.productImages!.length ?? 0,
|
||||||
itemBuilder: (context, index, realIndex) {
|
itemBuilder: (context, index, realIndex) {
|
||||||
var productImage = widget.product.productImages![index];
|
var productImage =
|
||||||
|
provider.productDetails.data!.productImages![index];
|
||||||
return Image.network(productImage.url ??
|
return Image.network(productImage.url ??
|
||||||
'https://i.pinimg.com/originals/a5/f3/5f/a5f35fb23e942809da3df91b23718e8d.png');
|
'https://i.pinimg.com/originals/a5/f3/5f/a5f35fb23e942809da3df91b23718e8d.png');
|
||||||
},
|
},
|
||||||
@@ -117,8 +155,9 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
),
|
),
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
mainAxisAlignment: MainAxisAlignment.center,
|
||||||
children: widget.product.productImages!.map((url) {
|
children: provider.productDetails.data!.productImages!.map((url) {
|
||||||
int index = widget.product.productImages!.indexOf(url);
|
int index =
|
||||||
|
provider.productDetails.data!.productImages!.indexOf(url);
|
||||||
return Container(
|
return Container(
|
||||||
margin: EdgeInsets.symmetric(horizontal: 5),
|
margin: EdgeInsets.symmetric(horizontal: 5),
|
||||||
width: 8,
|
width: 8,
|
||||||
@@ -137,13 +176,13 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
widget.product.name ?? "",
|
provider.productDetails.data!.name ?? "",
|
||||||
style: context.customExtraBold(Colors.black, 18),
|
style: context.customExtraBold(Colors.black, 18),
|
||||||
),
|
),
|
||||||
Row(
|
Row(
|
||||||
children: [
|
children: [
|
||||||
Text(
|
Text(
|
||||||
"\$${widget.product.discountPrice}",
|
"\$${provider.productDetails.data!.discountPrice}",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 25,
|
fontSize: 25,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
@@ -151,7 +190,7 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
),
|
),
|
||||||
SizedBox(width: 10),
|
SizedBox(width: 10),
|
||||||
Text(
|
Text(
|
||||||
"\$${widget.product.basePrice}",
|
"\$${provider.productDetails.data!.basePrice}",
|
||||||
style: TextStyle(
|
style: TextStyle(
|
||||||
fontSize: 25,
|
fontSize: 25,
|
||||||
fontWeight: FontWeight.bold,
|
fontWeight: FontWeight.bold,
|
||||||
@@ -170,12 +209,33 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
child: Text("10% OFF",
|
child: Text("10% OFF",
|
||||||
style:
|
style:
|
||||||
TextStyle(color: Colors.white, fontSize: 14)),
|
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),
|
SizedBox(height: 10),
|
||||||
ReadMoreText(
|
ReadMoreText(
|
||||||
widget.product.description ?? "",
|
provider.productDetails.data!.description ?? "",
|
||||||
trimMode: TrimMode.Line,
|
trimMode: TrimMode.Line,
|
||||||
trimLines: 2,
|
trimLines: 2,
|
||||||
colorClickableText: APPCOLOR.appGreen,
|
colorClickableText: APPCOLOR.appGreen,
|
||||||
@@ -186,26 +246,11 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Divider(),
|
|
||||||
reviews(),
|
|
||||||
Divider(),
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
|
||||||
child: Text("Similar Products",
|
|
||||||
style:
|
|
||||||
TextStyle(fontSize: 20, fontWeight: FontWeight.bold)),
|
|
||||||
),
|
|
||||||
bestDeal(),
|
|
||||||
SizedBox(
|
|
||||||
height: 100,
|
|
||||||
)
|
|
||||||
],
|
],
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
bottomNavigationBar: bottomBar(),
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
Widget reviews() {
|
Widget reviews() {
|
||||||
return Padding(
|
return Padding(
|
||||||
@@ -481,7 +526,11 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
double cardWidth =
|
double cardWidth =
|
||||||
MediaQuery.of(context).size.width * 0.4; // Dynamic width
|
MediaQuery.of(context).size.width * 0.4; // Dynamic width
|
||||||
|
|
||||||
return Padding(
|
return InkWell(
|
||||||
|
onTap: () {
|
||||||
|
provider.getProduuctDetails(context, bestdealproduct.id);
|
||||||
|
},
|
||||||
|
child: Padding(
|
||||||
padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),
|
padding: const EdgeInsets.only(right: 10, bottom: 5, top: 5),
|
||||||
child: Container(
|
child: Container(
|
||||||
width: cardWidth,
|
width: cardWidth,
|
||||||
@@ -513,39 +562,14 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
children: [
|
children: [
|
||||||
AppNetworkImage(
|
AppNetworkImage(
|
||||||
height:
|
height: MediaQuery.of(context).size.height *
|
||||||
MediaQuery.of(context).size.height * 0.08,
|
0.08,
|
||||||
width: cardWidth * 0.7,
|
width: cardWidth * 0.7,
|
||||||
imageUrl: bestdealproduct
|
imageUrl: bestdealproduct
|
||||||
.productImages?.first?.url ??
|
.productImages?.first?.url ??
|
||||||
"",
|
"",
|
||||||
backGroundColor: Colors.transparent,
|
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,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -558,7 +582,8 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
maxLines: 2,
|
maxLines: 2,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style: context.customMedium(APPCOLOR.balck1A1A1A, 14),
|
style:
|
||||||
|
context.customMedium(APPCOLOR.balck1A1A1A, 14),
|
||||||
),
|
),
|
||||||
SizedBox(
|
SizedBox(
|
||||||
height: MediaQuery.of(context).size.height * 0.005,
|
height: MediaQuery.of(context).size.height * 0.005,
|
||||||
@@ -586,8 +611,8 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
textAlign: TextAlign.left,
|
textAlign: TextAlign.left,
|
||||||
maxLines: 1,
|
maxLines: 1,
|
||||||
overflow: TextOverflow.ellipsis,
|
overflow: TextOverflow.ellipsis,
|
||||||
style:
|
style: context.customSemiBold(
|
||||||
context.customSemiBold(Colors.black, 12),
|
Colors.black, 12),
|
||||||
),
|
),
|
||||||
Text(
|
Text(
|
||||||
"\$${bestdealproduct.basePrice ?? ""}",
|
"\$${bestdealproduct.basePrice ?? ""}",
|
||||||
@@ -600,7 +625,8 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
12,
|
12,
|
||||||
)
|
)
|
||||||
.copyWith(
|
.copyWith(
|
||||||
decoration: TextDecoration.lineThrough,
|
decoration:
|
||||||
|
TextDecoration.lineThrough,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
@@ -654,7 +680,7 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
: () => provider.addToCart(
|
: () => provider.addToCart(
|
||||||
context, bestdealproduct.id!);
|
context, bestdealproduct.id!);
|
||||||
} else {
|
} else {
|
||||||
context.push(MyRoutes.LOGIN);
|
context.push(MyRoutes.SIGNUP);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
@@ -674,7 +700,8 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
bestdealproduct.id] ??
|
bestdealproduct.id] ??
|
||||||
false
|
false
|
||||||
? CircularProgressIndicator(
|
? CircularProgressIndicator(
|
||||||
color: Colors.white, strokeWidth: 2)
|
color: Colors.white,
|
||||||
|
strokeWidth: 2)
|
||||||
: Text(
|
: Text(
|
||||||
provider.cartItems.contains(
|
provider.cartItems.contains(
|
||||||
bestdealproduct.id)
|
bestdealproduct.id)
|
||||||
@@ -693,6 +720,7 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
@@ -770,7 +798,6 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Widget _slider(BuildContext context) {
|
// Widget _slider(BuildContext context) {
|
||||||
// double height = MediaQuery.of(context).size.height * .43;
|
// double height = MediaQuery.of(context).size.height * .43;
|
||||||
// double statusBarHeight = MediaQuery.of(context).padding.top;
|
// double statusBarHeight = MediaQuery.of(context).padding.top;
|
||||||
@@ -856,5 +883,3 @@ class _ProductDetailsState extends State<ProductDetails> {
|
|||||||
// ),
|
// ),
|
||||||
// );
|
// );
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
24
pubspec.lock
24
pubspec.lock
@@ -548,18 +548,18 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker
|
name: leak_tracker
|
||||||
sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05"
|
sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "10.0.5"
|
version: "10.0.4"
|
||||||
leak_tracker_flutter_testing:
|
leak_tracker_flutter_testing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: leak_tracker_flutter_testing
|
name: leak_tracker_flutter_testing
|
||||||
sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806"
|
sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.0.5"
|
version: "3.0.3"
|
||||||
leak_tracker_testing:
|
leak_tracker_testing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -604,10 +604,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: material_color_utilities
|
name: material_color_utilities
|
||||||
sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec
|
sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.11.1"
|
version: "0.8.0"
|
||||||
material_design_icons_flutter:
|
material_design_icons_flutter:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
@@ -620,10 +620,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: meta
|
name: meta
|
||||||
sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7
|
sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "1.15.0"
|
version: "1.12.0"
|
||||||
nested:
|
nested:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -953,10 +953,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: test_api
|
name: test_api
|
||||||
sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb"
|
sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.7.2"
|
version: "0.7.0"
|
||||||
typed_data:
|
typed_data:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1009,10 +1009,10 @@ packages:
|
|||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
name: vm_service
|
name: vm_service
|
||||||
sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d"
|
sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec"
|
||||||
url: "https://pub.dev"
|
url: "https://pub.dev"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "14.2.5"
|
version: "14.2.1"
|
||||||
web:
|
web:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
Reference in New Issue
Block a user