From fb883ea5e58aab32fd31b477eddd1d9038078830 Mon Sep 17 00:00:00 2001 From: MRAMin0 Date: Tue, 2 Dec 2025 14:08:09 +0330 Subject: [PATCH 1/2] feat: implement initial WatchStore e-commerce application structure with BLoC. --- lib/data/model/{userInfo.dart => userinfo.dart} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lib/data/model/{userInfo.dart => userinfo.dart} (100%) diff --git a/lib/data/model/userInfo.dart b/lib/data/model/userinfo.dart similarity index 100% rename from lib/data/model/userInfo.dart rename to lib/data/model/userinfo.dart From bb0d1abaf3e577e082cbef25b2fad6a7012e3148 Mon Sep 17 00:00:00 2001 From: MRAMin0 Date: Tue, 2 Dec 2025 14:10:12 +0330 Subject: [PATCH 2/2] feat: Add initial WatchStore application structure, UI, BLoC, data models, and routing with dependency updates. --- .flutter-plugins-dependencies | 2 +- android/app/build.gradle | 15 +- android/build.gradle | 12 - .../gradle/wrapper/gradle-wrapper.properties | 7 +- android/settings.gradle | 30 +- lib/component/button_style.dart | 2 +- lib/component/decoratios.dart | 1 + lib/component/text_style.dart | 1 - lib/component/themes.dart | 9 +- lib/data/model/banner.dart | 12 +- lib/data/model/category.dart | 2 +- lib/data/model/product_details.dart | 8 +- lib/data/model/user.dart | 4 +- lib/data/repo/user_repp.dart | 2 +- lib/data/src/home_data_src.dart | 6 +- lib/data/src/user_data_src.dart | 2 +- lib/main.dart | 2 +- lib/res/dimens.dart | 10 +- lib/route/routes.dart | 8 +- lib/screens/auth/cubit/auth_state.dart | 2 +- lib/screens/auth/send_sms_screen.dart | 5 +- lib/screens/auth/verify_code_screen.dart | 4 +- lib/screens/cart/bloc/cart_bloc.dart | 1 - lib/screens/cart/cart_screen.dart | 8 +- lib/screens/home/home_screen.dart | 2 - lib/screens/mainscreen/main_screen.dart | 30 +- .../product_list/bloc/product_list_bloc.dart | 1 - .../product_list/bloc/product_list_event.dart | 2 +- .../product_list/product_list_screen.dart | 7 +- .../bloc/product_single_event.dart | 2 +- .../product_single/product_single_screen.dart | 9 +- lib/screens/profile/bloc/profile_state.dart | 2 +- lib/screens/profile/profile_screen.dart | 8 +- lib/screens/register/register_screen.dart | 20 +- lib/widgets/app_slider.dart | 6 +- lib/widgets/app_text_field.dart | 51 +- lib/widgets/avatar.dart | 5 +- lib/widgets/btm_nav_item.dart | 42 +- lib/widgets/cart_badge.dart | 2 +- lib/widgets/cat_widget.dart | 9 +- lib/widgets/main_button.dart | 31 +- lib/widgets/product_item.dart | 13 +- lib/widgets/registeration_app_bar.dart | 25 +- lib/widgets/search_bar.dart | 22 +- lib/widgets/shopping_cart_item.dart | 4 +- lib/widgets/suraface_conainer.dart | 2 +- pubspec.lock | 602 ++++++++++-------- pubspec.yaml | 16 +- 48 files changed, 547 insertions(+), 521 deletions(-) diff --git a/.flutter-plugins-dependencies b/.flutter-plugins-dependencies index a3b178c..65202cc 100644 --- a/.flutter-plugins-dependencies +++ b/.flutter-plugins-dependencies @@ -1 +1 @@ -{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_osm_plugin","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_osm_plugin-0.70.4\\\\","native_build":true,"dependencies":[]},{"name":"image_cropper","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_cropper-4.0.1\\\\","native_build":true,"dependencies":[]},{"name":"image_picker_ios","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_ios-0.8.9+1\\\\","native_build":true,"dependencies":[]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.3.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.3.0\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.3.5\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_ios","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_ios-6.2.4\\\\","native_build":true,"dependencies":[]}],"android":[{"name":"flutter_osm_plugin","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_osm_plugin-0.70.4\\\\","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_plugin_android_lifecycle-2.0.17\\\\","native_build":true,"dependencies":[]},{"name":"image_cropper","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_cropper-4.0.1\\\\","native_build":true,"dependencies":[]},{"name":"image_picker_android","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_android-0.8.9+3\\\\","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"]},{"name":"path_provider_android","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.2\\\\","native_build":true,"dependencies":[]},{"name":"permission_handler_android","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-12.0.3\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.2.1\\\\","native_build":true,"dependencies":[]},{"name":"url_launcher_android","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_android-6.2.2\\\\","native_build":true,"dependencies":[]}],"macos":[{"name":"file_selector_macos","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\file_selector_macos-0.9.3+3\\\\","native_build":true,"dependencies":[]},{"name":"image_picker_macos","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_macos-0.2.1+1\\\\","native_build":false,"dependencies":["file_selector_macos"]},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.3.2\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.3.5\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[]},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_macos-3.1.0\\\\","native_build":true,"dependencies":[]}],"linux":[{"name":"file_selector_linux","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\file_selector_linux-0.9.2+1\\\\","native_build":true,"dependencies":[]},{"name":"image_picker_linux","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_linux-0.2.1+1\\\\","native_build":false,"dependencies":["file_selector_linux"]},{"name":"path_provider_linux","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.3.2\\\\","native_build":false,"dependencies":["path_provider_linux"]},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_linux-3.1.1\\\\","native_build":true,"dependencies":[]}],"windows":[{"name":"file_selector_windows","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\file_selector_windows-0.9.3+1\\\\","native_build":true,"dependencies":[]},{"name":"image_picker_windows","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_windows-0.2.1+1\\\\","native_build":false,"dependencies":["file_selector_windows"]},{"name":"path_provider_windows","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.2.1\\\\","native_build":false,"dependencies":[]},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.2.1\\\\","native_build":true,"dependencies":[]},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.3.2\\\\","native_build":false,"dependencies":["path_provider_windows"]},{"name":"url_launcher_windows","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_windows-3.1.1\\\\","native_build":true,"dependencies":[]}],"web":[{"name":"flutter_osm_web","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_osm_web-0.6.2\\\\","dependencies":[]},{"name":"image_cropper_for_web","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_cropper_for_web-2.0.0\\\\","dependencies":[]},{"name":"image_picker_for_web","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_for_web-3.0.2\\\\","dependencies":[]},{"name":"permission_handler_html","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_html-0.1.1\\\\","dependencies":[]},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.2.2\\\\","dependencies":[]},{"name":"url_launcher_web","path":"C:\\\\Users\\\\sasan\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_web-2.2.3\\\\","dependencies":[]}]},"dependencyGraph":[{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"flutter_osm_plugin","dependencies":["flutter_plugin_android_lifecycle","permission_handler","url_launcher","flutter_osm_web"]},{"name":"flutter_osm_web","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"image_cropper","dependencies":["image_cropper_for_web"]},{"name":"image_cropper_for_web","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2024-03-25 15:40:57.917486","version":"3.16.5"} \ No newline at end of file +{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"flutter_osm_plugin","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_osm_plugin-0.70.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"image_cropper","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_cropper-5.0.1\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"image_picker_ios","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_ios-0.8.13+2\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.5.1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"permission_handler_apple","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_apple-9.4.7\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.5.6\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_ios","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_ios-6.3.6\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"flutter_osm_plugin","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_osm_plugin-0.70.4\\\\","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"flutter_plugin_android_lifecycle","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_plugin_android_lifecycle-2.0.33\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"image_cropper","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_cropper-5.0.1\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"image_picker_android","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_android-0.8.13+10\\\\","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"path_provider_android","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_android-2.2.22\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"permission_handler_android","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_android-12.1.0\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_android-2.4.18\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_android","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_android-6.3.28\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"file_selector_macos","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\file_selector_macos-0.9.5\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"image_picker_macos","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_macos-0.2.2+1\\\\","native_build":false,"dependencies":["file_selector_macos"],"dev_dependency":false},{"name":"path_provider_foundation","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_foundation-2.5.1\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_foundation-2.5.6\\\\","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_macos","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_macos-3.2.5\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"file_selector_linux","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\file_selector_linux-0.9.4\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"image_picker_linux","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_linux-0.2.2\\\\","native_build":false,"dependencies":["file_selector_linux"],"dev_dependency":false},{"name":"path_provider_linux","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_linux-2.2.1\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_linux","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_linux-2.4.1\\\\","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false},{"name":"url_launcher_linux","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_linux-3.2.2\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"file_selector_windows","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\file_selector_windows-0.9.3+5\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"image_picker_windows","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_windows-0.2.2\\\\","native_build":false,"dependencies":["file_selector_windows"],"dev_dependency":false},{"name":"path_provider_windows","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\path_provider_windows-2.3.0\\\\","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"permission_handler_windows","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_windows-0.2.1\\\\","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_windows","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_windows-2.4.1\\\\","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false},{"name":"url_launcher_windows","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_windows-3.1.5\\\\","native_build":true,"dependencies":[],"dev_dependency":false}],"web":[{"name":"flutter_osm_web","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\flutter_osm_web-0.6.2\\\\","dependencies":[],"dev_dependency":false},{"name":"image_cropper_for_web","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_cropper_for_web-3.0.0\\\\","dependencies":[],"dev_dependency":false},{"name":"image_picker_for_web","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\image_picker_for_web-3.1.1\\\\","dependencies":[],"dev_dependency":false},{"name":"permission_handler_html","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\permission_handler_html-0.1.3+5\\\\","dependencies":[],"dev_dependency":false},{"name":"shared_preferences_web","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\shared_preferences_web-2.4.3\\\\","dependencies":[],"dev_dependency":false},{"name":"url_launcher_web","path":"C:\\\\Users\\\\aminm\\\\AppData\\\\Local\\\\Pub\\\\Cache\\\\hosted\\\\pub.dev\\\\url_launcher_web-2.4.1\\\\","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"file_selector_linux","dependencies":[]},{"name":"file_selector_macos","dependencies":[]},{"name":"file_selector_windows","dependencies":[]},{"name":"flutter_osm_plugin","dependencies":["flutter_plugin_android_lifecycle","permission_handler","url_launcher","flutter_osm_web"]},{"name":"flutter_osm_web","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"image_cropper","dependencies":["image_cropper_for_web"]},{"name":"image_cropper_for_web","dependencies":[]},{"name":"image_picker","dependencies":["image_picker_android","image_picker_for_web","image_picker_ios","image_picker_linux","image_picker_macos","image_picker_windows"]},{"name":"image_picker_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"image_picker_for_web","dependencies":[]},{"name":"image_picker_ios","dependencies":[]},{"name":"image_picker_linux","dependencies":["file_selector_linux"]},{"name":"image_picker_macos","dependencies":["file_selector_macos"]},{"name":"image_picker_windows","dependencies":["file_selector_windows"]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"permission_handler","dependencies":["permission_handler_android","permission_handler_apple","permission_handler_html","permission_handler_windows"]},{"name":"permission_handler_android","dependencies":[]},{"name":"permission_handler_apple","dependencies":[]},{"name":"permission_handler_html","dependencies":[]},{"name":"permission_handler_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2025-12-02 13:33:25.147085","version":"3.38.3","swift_package_manager_enabled":{"ios":false,"macos":false}} \ No newline at end of file diff --git a/android/app/build.gradle b/android/app/build.gradle index 61c0b47..cd4243d 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -1,3 +1,9 @@ +plugins { + id "com.android.application" + id "kotlin-android" + id "dev.flutter.flutter-gradle-plugin" +} + def localProperties = new Properties() def localPropertiesFile = rootProject.file('local.properties') if (localPropertiesFile.exists()) { @@ -6,11 +12,6 @@ if (localPropertiesFile.exists()) { } } -def flutterRoot = localProperties.getProperty('flutter.sdk') -if (flutterRoot == null) { - throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.") -} - def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '1' @@ -21,10 +22,6 @@ if (flutterVersionName == null) { flutterVersionName = '1.0' } -apply plugin: 'com.android.application' -apply plugin: 'kotlin-android' -apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle" - android { compileSdkVersion 34 ndkVersion flutter.ndkVersion diff --git a/android/build.gradle b/android/build.gradle index e9bbc9b..4753677 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,16 +1,4 @@ -buildscript { - ext.kotlin_version = '1.8.0' - repositories { - mavenCentral() - google() - } - - dependencies { - classpath 'com.android.tools.build:gradle:7.1.2' - classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:' + String.valueOf(kotlin_version) - } -} allprojects { repositories { diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index 5d832dd..3cbb70b 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -1,7 +1,8 @@ +#Tue Dec 02 12:56:57 IRST 2025 +android.enableJetifier=true +android.useAndroidX=true distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip -android.useAndroidX=true -android.enableJetifier=true \ No newline at end of file diff --git a/android/settings.gradle b/android/settings.gradle index 44e62bc..7e64ce6 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -1,11 +1,25 @@ -include ':app' +pluginManagement { + def flutterSdkPath = { + def properties = new Properties() + file("local.properties").withInputStream { properties.load(it) } + def flutterSdkPath = properties.getProperty("flutter.sdk") + assert flutterSdkPath != null, "flutter.sdk not set in local.properties" + return flutterSdkPath + }() -def localPropertiesFile = new File(rootProject.projectDir, "local.properties") -def properties = new Properties() + includeBuild("$flutterSdkPath/packages/flutter_tools/gradle") -assert localPropertiesFile.exists() -localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } + repositories { + google() + mavenCentral() + gradlePluginPortal() + } +} -def flutterSdkPath = properties.getProperty("flutter.sdk") -assert flutterSdkPath != null, "flutter.sdk not set in local.properties" -apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" +plugins { + id "dev.flutter.flutter-plugin-loader" version "1.0.0" + id "com.android.application" version "7.3.0" apply false + id "org.jetbrains.kotlin.android" version "1.8.0" apply false +} + +include ":app" diff --git a/lib/component/button_style.dart b/lib/component/button_style.dart index c4b2281..139ee82 100644 --- a/lib/component/button_style.dart +++ b/lib/component/button_style.dart @@ -5,6 +5,6 @@ class AppButtonStyles { AppButtonStyles._(); static ButtonStyle mainButtonStyle = ButtonStyle( - shape: MaterialStatePropertyAll(RoundedRectangleBorder( + shape: WidgetStatePropertyAll(RoundedRectangleBorder( borderRadius: BorderRadius.circular(AppDimens.medium)))); } diff --git a/lib/component/decoratios.dart b/lib/component/decoratios.dart index e69de29..8b13789 100644 --- a/lib/component/decoratios.dart +++ b/lib/component/decoratios.dart @@ -0,0 +1 @@ + diff --git a/lib/component/text_style.dart b/lib/component/text_style.dart index 24b377d..c8d0603 100644 --- a/lib/component/text_style.dart +++ b/lib/component/text_style.dart @@ -1,4 +1,3 @@ -import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:watch_store/gen/fonts.gen.dart'; import 'package:watch_store/res/colors.dart'; diff --git a/lib/component/themes.dart b/lib/component/themes.dart index 2c25f27..38030fb 100644 --- a/lib/component/themes.dart +++ b/lib/component/themes.dart @@ -7,15 +7,14 @@ ThemeData lightTheme() { brightness: Brightness.light, iconTheme: const IconThemeData(color: Colors.black), primaryColor: AppColors.primaryColor, - elevatedButtonTheme: ElevatedButtonThemeData( + elevatedButtonTheme: const ElevatedButtonThemeData( style: ButtonStyle( - backgroundColor: - const MaterialStatePropertyAll(AppColors.primaryColor))), + backgroundColor: WidgetStatePropertyAll(AppColors.primaryColor))), scaffoldBackgroundColor: AppColors.scaffoldBackgroundColor, inputDecorationTheme: InputDecorationTheme( filled: true, - fillColor: MaterialStateColor.resolveWith((states) { - if (states.contains(MaterialState.focused)) { + fillColor: WidgetStateColor.resolveWith((states) { + if (states.contains(WidgetState.focused)) { return AppColors.focusedTextField; } else { return AppColors.unFocusedTextField; diff --git a/lib/data/model/banner.dart b/lib/data/model/banner.dart index d9a5a2e..da87008 100644 --- a/lib/data/model/banner.dart +++ b/lib/data/model/banner.dart @@ -24,12 +24,12 @@ class Banner { } Map toJson() { - final Map data = new Map(); - data['id'] = this.id; - data['title'] = this.title; - data['image'] = this.image; - data['created_at'] = this.createdAt.toIso8601String(); - data['updated_at'] = this.updatedAt.toIso8601String(); + final Map data = {}; + data['id'] = id; + data['title'] = title; + data['image'] = image; + data['created_at'] = createdAt.toIso8601String(); + data['updated_at'] = updatedAt.toIso8601String(); return data; } } diff --git a/lib/data/model/category.dart b/lib/data/model/category.dart index bdf479b..de5ee57 100644 --- a/lib/data/model/category.dart +++ b/lib/data/model/category.dart @@ -18,7 +18,7 @@ class Category { } Map toJson() { - final Map data = new Map(); + final Map data = {}; data['id'] = id; data['title'] = title; data['image'] = image; diff --git a/lib/data/model/product_details.dart b/lib/data/model/product_details.dart index a98a17b..0215e02 100644 --- a/lib/data/model/product_details.dart +++ b/lib/data/model/product_details.dart @@ -78,7 +78,7 @@ class ProductDetailes { } Map toJson() { - final Map data = Map(); + final Map data = {}; data['id'] = id; data['title'] = title; data['title_en'] = titleEn; @@ -120,7 +120,7 @@ class Colors { } Map toJson() { - final Map data = Map(); + final Map data = {}; data['title'] = title; data['code'] = code; return data; @@ -139,7 +139,7 @@ class Properties { } Map toJson() { - final Map data = Map(); + final Map data = {}; data['property'] = property; data['value'] = value; return data; @@ -158,7 +158,7 @@ class Comments { } Map toJson() { - final Map data = Map(); + final Map data = {}; data['user'] = user; data['body'] = body; return data; diff --git a/lib/data/model/user.dart b/lib/data/model/user.dart index b35cd1e..023b8e2 100644 --- a/lib/data/model/user.dart +++ b/lib/data/model/user.dart @@ -1,13 +1,11 @@ import 'dart:convert'; -import 'package:flutter/material.dart'; - class User { final String name; final String phone; final String address; final String postalCode; - final image; + final dynamic image; final double lat; final double lng; diff --git a/lib/data/repo/user_repp.dart b/lib/data/repo/user_repp.dart index 894bbc9..e095260 100644 --- a/lib/data/repo/user_repp.dart +++ b/lib/data/repo/user_repp.dart @@ -1,6 +1,6 @@ import 'package:flutter_osm_plugin/flutter_osm_plugin.dart'; import 'package:watch_store/data/model/order.dart'; -import 'package:watch_store/data/model/userInfo.dart'; +import 'package:watch_store/data/model/userinfo.dart'; import 'package:watch_store/data/src/user_data_src.dart'; abstract class IUserRepo { diff --git a/lib/data/src/home_data_src.dart b/lib/data/src/home_data_src.dart index 34ad3c9..115225b 100644 --- a/lib/data/src/home_data_src.dart +++ b/lib/data/src/home_data_src.dart @@ -14,11 +14,11 @@ class HomeRemoteDataSrc implements IHomeDataSrc { @override Future getHome() async { - final Home _home; + final Home home; final response = await httpClient.get(Endpoints.home); HTTPResponseValidator.isValidStatusCode(response.statusCode ?? 0); - _home = Home.fromJson(response.data['data']); - return _home; + home = Home.fromJson(response.data['data']); + return home; } } diff --git a/lib/data/src/user_data_src.dart b/lib/data/src/user_data_src.dart index c881858..43e599e 100644 --- a/lib/data/src/user_data_src.dart +++ b/lib/data/src/user_data_src.dart @@ -1,6 +1,6 @@ import 'package:flutter_osm_plugin/flutter_osm_plugin.dart'; import 'package:watch_store/data/model/order.dart'; -import 'package:watch_store/data/model/userInfo.dart'; +import 'package:watch_store/data/model/userinfo.dart'; abstract class IUserDataSrc { Future getUserInfo(); diff --git a/lib/main.dart b/lib/main.dart index 2851d68..31384f0 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -42,7 +42,7 @@ class MyApp extends StatelessWidget { }, ), ], - child: MainScreen(), + child: const MainScreen(), ); } else if (state is LoggedOutState) { return SendSmsScreen(); diff --git a/lib/res/dimens.dart b/lib/res/dimens.dart index 087a241..a39cd1e 100644 --- a/lib/res/dimens.dart +++ b/lib/res/dimens.dart @@ -1,10 +1,6 @@ - - - - class AppDimens{ -AppDimens._(); +class AppDimens { + AppDimens._(); static const double small = 8; static const double medium = 12; static const double large = 24; - -} \ No newline at end of file +} diff --git a/lib/route/routes.dart b/lib/route/routes.dart index 1f9603a..e866fc9 100644 --- a/lib/route/routes.dart +++ b/lib/route/routes.dart @@ -9,9 +9,9 @@ import 'package:watch_store/screens/register/register_screen.dart'; Map routes = { ScreenNames.sendSmsScreen: (context) => SendSmsScreen(), - ScreenNames.verifyCodeScreen: (context) => VerifyCodeScreen(), - ScreenNames.registerScreen: (context) => RegisterScreen(), - ScreenNames.mainScreen: (context) => MainScreen(), - ScreenNames.productListScreen: (context) => ProductListScreen(), + ScreenNames.verifyCodeScreen: (context) => const VerifyCodeScreen(), + ScreenNames.registerScreen: (context) => const RegisterScreen(), + ScreenNames.mainScreen: (context) => const MainScreen(), + ScreenNames.productListScreen: (context) => const ProductListScreen(), ScreenNames.productSingleScreen: (context) => const ProductSingleScreen(), }; diff --git a/lib/screens/auth/cubit/auth_state.dart b/lib/screens/auth/cubit/auth_state.dart index fe92a95..6e8c049 100644 --- a/lib/screens/auth/cubit/auth_state.dart +++ b/lib/screens/auth/cubit/auth_state.dart @@ -10,7 +10,7 @@ final class LoadingState extends AuthState {} final class ErrorState extends AuthState {} final class SentState extends AuthState { - final mobile; + final String mobile; SentState({required this.mobile}); } diff --git a/lib/screens/auth/send_sms_screen.dart b/lib/screens/auth/send_sms_screen.dart index d5a5f03..6fdcc6b 100644 --- a/lib/screens/auth/send_sms_screen.dart +++ b/lib/screens/auth/send_sms_screen.dart @@ -1,6 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/container.dart'; -import 'package:flutter/src/widgets/framework.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:watch_store/gen/assets.gen.dart'; import 'package:watch_store/res/dimens.dart'; @@ -13,10 +11,9 @@ import 'package:watch_store/widgets/main_button.dart'; class SendSmsScreen extends StatelessWidget { SendSmsScreen({super.key}); - TextEditingController _controller = TextEditingController(); + final TextEditingController _controller = TextEditingController(); @override Widget build(BuildContext context) { - Size size = MediaQuery.of(context).size; return Scaffold( body: SafeArea( child: SizedBox( diff --git a/lib/screens/auth/verify_code_screen.dart b/lib/screens/auth/verify_code_screen.dart index 7d72403..bf643e8 100644 --- a/lib/screens/auth/verify_code_screen.dart +++ b/lib/screens/auth/verify_code_screen.dart @@ -14,14 +14,14 @@ import 'package:watch_store/widgets/app_text_field.dart'; import 'package:watch_store/widgets/main_button.dart'; class VerifyCodeScreen extends StatefulWidget { - VerifyCodeScreen({super.key}); + const VerifyCodeScreen({super.key}); @override State createState() => _VerifyCodeScreenState(); } class _VerifyCodeScreenState extends State { - TextEditingController _controller = TextEditingController(); + final TextEditingController _controller = TextEditingController(); @override void initState() { diff --git a/lib/screens/cart/bloc/cart_bloc.dart b/lib/screens/cart/bloc/cart_bloc.dart index bf82700..0fe8d5a 100644 --- a/lib/screens/cart/bloc/cart_bloc.dart +++ b/lib/screens/cart/bloc/cart_bloc.dart @@ -1,6 +1,5 @@ import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; -import 'package:flutter/physics.dart'; import 'package:watch_store/data/model/cart.dart'; import 'package:watch_store/data/repo/cart_repo.dart'; diff --git a/lib/screens/cart/cart_screen.dart b/lib/screens/cart/cart_screen.dart index bde8a86..fc83832 100644 --- a/lib/screens/cart/cart_screen.dart +++ b/lib/screens/cart/cart_screen.dart @@ -112,8 +112,8 @@ class CartScreen extends StatelessWidget { onTap: () => BlocProvider.of(context).add(PayEvent()), child: Container( - padding: EdgeInsets.all(AppDimens.medium), - margin: EdgeInsets.all(AppDimens.medium), + padding: const EdgeInsets.all(AppDimens.medium), + margin: const EdgeInsets.all(AppDimens.medium), decoration: const BoxDecoration( color: AppColors.surfaceColor, borderRadius: BorderRadius.all( @@ -159,8 +159,8 @@ class CartScreen extends StatelessWidget { } class CartList extends StatelessWidget { - List list; - CartList({super.key, required this.list}); + final List list; + const CartList({super.key, required this.list}); @override Widget build(BuildContext context) { diff --git a/lib/screens/home/home_screen.dart b/lib/screens/home/home_screen.dart index b0c1b00..ff211d4 100644 --- a/lib/screens/home/home_screen.dart +++ b/lib/screens/home/home_screen.dart @@ -7,7 +7,6 @@ import 'package:watch_store/data/repo/home_rep.dart'; import 'package:watch_store/gen/assets.gen.dart'; import 'package:watch_store/res/colors.dart'; import 'package:watch_store/res/dimens.dart'; -import 'package:watch_store/res/strings.dart'; import 'package:watch_store/screens/home/bloc/home_bloc.dart'; import 'package:watch_store/screens/product_list/product_list_screen.dart'; import 'package:watch_store/widgets/app_slider.dart'; @@ -20,7 +19,6 @@ class HomeScreen extends StatelessWidget { @override Widget build(BuildContext context) { - Size size = MediaQuery.sizeOf(context); return BlocProvider( create: (context) { final homeBloc = HomeBloc(homeRepository); diff --git a/lib/screens/mainscreen/main_screen.dart b/lib/screens/mainscreen/main_screen.dart index 499cc88..3dfb15d 100644 --- a/lib/screens/mainscreen/main_screen.dart +++ b/lib/screens/mainscreen/main_screen.dart @@ -15,7 +15,7 @@ class BtmNavScreenIndex { } class MainScreen extends StatefulWidget { - MainScreen({super.key}); + const MainScreen({super.key}); @override State createState() => _MainScreenState(); @@ -45,25 +45,23 @@ class _MainScreenState extends State { // map[1] => _basketKey // map[2] => _profileKey - Future _onWillPop() async { - if (map[selectedIndex]!.currentState!.canPop()) { - map[selectedIndex]!.currentState!.pop(); - } else if (_routeHistory.length > 1) { - setState(() { - _routeHistory.removeLast(); - selectedIndex = _routeHistory.last; - }); - } - - return false; - } - @override Widget build(BuildContext context) { var size = MediaQuery.of(context).size; double btmNavHeight = size.height * .1; - return WillPopScope( - onWillPop: _onWillPop, + return PopScope( + canPop: false, + onPopInvoked: (didPop) { + if (didPop) return; + if (map[selectedIndex]!.currentState!.canPop()) { + map[selectedIndex]!.currentState!.pop(); + } else if (_routeHistory.length > 1) { + setState(() { + _routeHistory.removeLast(); + selectedIndex = _routeHistory.last; + }); + } + }, child: Scaffold( body: Stack( children: [ diff --git a/lib/screens/product_list/bloc/product_list_bloc.dart b/lib/screens/product_list/bloc/product_list_bloc.dart index 9edcb1e..e55c6f8 100644 --- a/lib/screens/product_list/bloc/product_list_bloc.dart +++ b/lib/screens/product_list/bloc/product_list_bloc.dart @@ -1,6 +1,5 @@ import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; -import 'package:flutter/physics.dart'; import 'package:watch_store/data/model/product.dart'; import 'package:watch_store/data/repo/product_repo.dart'; diff --git a/lib/screens/product_list/bloc/product_list_event.dart b/lib/screens/product_list/bloc/product_list_event.dart index 2c9235f..5fd2306 100644 --- a/lib/screens/product_list/bloc/product_list_event.dart +++ b/lib/screens/product_list/bloc/product_list_event.dart @@ -8,7 +8,7 @@ sealed class ProductListEvent extends Equatable { } class ProductListInit extends ProductListEvent { - final param; + final dynamic param; const ProductListInit({required this.param}); @override List get props => [param]; diff --git a/lib/screens/product_list/product_list_screen.dart b/lib/screens/product_list/product_list_screen.dart index f183124..6f8e373 100644 --- a/lib/screens/product_list/product_list_screen.dart +++ b/lib/screens/product_list/product_list_screen.dart @@ -6,7 +6,6 @@ import 'package:watch_store/component/text_style.dart'; import 'package:watch_store/data/repo/cart_repo.dart'; import 'package:watch_store/data/repo/product_repo.dart'; import 'package:watch_store/gen/assets.gen.dart'; -import 'package:watch_store/res/colors.dart'; import 'package:watch_store/res/dimens.dart'; import 'package:watch_store/screens/product_list/bloc/product_list_bloc.dart'; import 'package:watch_store/widgets/app_bar.dart'; @@ -14,8 +13,8 @@ import 'package:watch_store/widgets/cart_badge.dart'; import 'package:watch_store/widgets/product_item.dart'; class ProductListScreen extends StatelessWidget { - final param; - ProductListScreen({super.key, this.param}); + final dynamic param; + const ProductListScreen({super.key, this.param}); @override Widget build(BuildContext context) { @@ -54,7 +53,7 @@ class ProductListScreen extends StatelessWidget { )), body: Column( children: [ - TagList(), + const TagList(), BlocBuilder( builder: (context, state) { if (state is ProductListLoading) { diff --git a/lib/screens/product_single/bloc/product_single_event.dart b/lib/screens/product_single/bloc/product_single_event.dart index 2db1257..c2695b5 100644 --- a/lib/screens/product_single/bloc/product_single_event.dart +++ b/lib/screens/product_single/bloc/product_single_event.dart @@ -8,6 +8,6 @@ sealed class ProductSingleEvent extends Equatable { } class ProductSingleInit extends ProductSingleEvent { - final id; + final dynamic id; const ProductSingleInit({required this.id}); } diff --git a/lib/screens/product_single/product_single_screen.dart b/lib/screens/product_single/product_single_screen.dart index da1caa3..170f05b 100644 --- a/lib/screens/product_single/product_single_screen.dart +++ b/lib/screens/product_single/product_single_screen.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:watch_store/component/extention.dart'; @@ -16,7 +15,7 @@ import 'package:watch_store/widgets/app_bar.dart'; import 'package:watch_store/widgets/cart_badge.dart'; class ProductSingleScreen extends StatelessWidget { - final id; + final dynamic id; const ProductSingleScreen({super.key, this.id}); @override @@ -105,7 +104,7 @@ class ProductSingleScreen extends StatelessWidget { listener: (cartContext, cartState) { if (cartState is CartItemAddedState) { ScaffoldMessenger.of(context).showSnackBar(SnackBar( - duration: Duration(seconds: 1), + duration: const Duration(seconds: 1), backgroundColor: AppColors.success, content: Text( "با موفقیت به سبد خرید افزوده شد", @@ -143,7 +142,7 @@ class ProductSingleScreen extends StatelessWidget { ), )); } else if (state is ProductSingleError) { - return Text("error"); + return const Text("error"); } else { throw Exception("invalid"); } @@ -265,7 +264,7 @@ class CommentsList extends StatelessWidget { } class Review extends StatelessWidget { - final text; + final dynamic text; const Review({super.key, this.text}); @override diff --git a/lib/screens/profile/bloc/profile_state.dart b/lib/screens/profile/bloc/profile_state.dart index eb613c0..196422e 100644 --- a/lib/screens/profile/bloc/profile_state.dart +++ b/lib/screens/profile/bloc/profile_state.dart @@ -2,7 +2,7 @@ part of 'profile_bloc.dart'; sealed class ProfileState extends Equatable { const ProfileState(); - + @override List get props => []; } diff --git a/lib/screens/profile/profile_screen.dart b/lib/screens/profile/profile_screen.dart index 5ef4767..1299b41 100644 --- a/lib/screens/profile/profile_screen.dart +++ b/lib/screens/profile/profile_screen.dart @@ -85,7 +85,7 @@ class ProfileScreen extends StatelessWidget { svgIcon: Assets.svg.phone, content: "136554", ), - SurfaceContainer(child: Text("قوانین")) + const SurfaceContainer(child: Text("قوانین")) ], ), ), @@ -96,14 +96,14 @@ class ProfileScreen extends StatelessWidget { } class ProfileItem extends StatelessWidget { - ProfileItem({ + const ProfileItem({ super.key, required this.svgIcon, required this.content, }); - final svgIcon; - final content; + final String svgIcon; + final String content; @override Widget build(BuildContext context) { diff --git a/lib/screens/register/register_screen.dart b/lib/screens/register/register_screen.dart index 8f15b93..5862a3f 100644 --- a/lib/screens/register/register_screen.dart +++ b/lib/screens/register/register_screen.dart @@ -1,9 +1,7 @@ import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/container.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:image_picker/image_picker.dart'; -import 'package:watch_store/component/text_style.dart'; import 'package:watch_store/data/model/user.dart'; import 'package:watch_store/res/dimens.dart'; import 'package:watch_store/res/strings.dart'; @@ -20,18 +18,18 @@ import '../../route/names.dart'; //sasansafari_dev class RegisterScreen extends StatefulWidget { - RegisterScreen({super.key}); + const RegisterScreen({super.key}); @override State createState() => _RegisterScreenState(); } class _RegisterScreenState extends State { - TextEditingController _controllerNameLastName = TextEditingController(); - TextEditingController _controllerPhone = TextEditingController(); - TextEditingController _controllerAddress = TextEditingController(); - TextEditingController _controllerPostalCode = TextEditingController(); - TextEditingController _controllerLocation = TextEditingController(); + final TextEditingController _controllerNameLastName = TextEditingController(); + final TextEditingController _controllerPhone = TextEditingController(); + final TextEditingController _controllerAddress = TextEditingController(); + final TextEditingController _controllerPostalCode = TextEditingController(); + final TextEditingController _controllerLocation = TextEditingController(); double lat = 0.0; double lng = 0.0; @@ -130,8 +128,10 @@ class _RegisterScreenState extends State { lat: lat, lng: lng); - BlocProvider.of(context) - .register(user: user); + if (context.mounted) { + BlocProvider.of(context) + .register(user: user); + } }); } }, diff --git a/lib/widgets/app_slider.dart b/lib/widgets/app_slider.dart index c63ffda..aa73cdd 100644 --- a/lib/widgets/app_slider.dart +++ b/lib/widgets/app_slider.dart @@ -1,4 +1,4 @@ -import 'package:carousel_slider/carousel_controller.dart'; +import 'package:carousel_slider/carousel_controller.dart' as carousel; import 'package:carousel_slider/carousel_slider.dart'; import 'package:flutter/material.dart'; import 'package:watch_store/data/model/slide.dart'; @@ -14,7 +14,7 @@ class AppSlider extends StatefulWidget { } class _AppSliderState extends State { - final CarouselController _controller = CarouselController(); + final carousel.CarouselController _controller = carousel.CarouselController(); int _current = 0; @@ -29,7 +29,7 @@ class _AppSliderState extends State { carouselController: _controller, items: widget.imgList .map((e) => Padding( - padding: EdgeInsets.all(AppDimens.medium), + padding: const EdgeInsets.all(AppDimens.medium), child: ClipRRect( borderRadius: BorderRadius.circular(AppDimens.medium), diff --git a/lib/widgets/app_text_field.dart b/lib/widgets/app_text_field.dart index 9ff3ce1..42b3679 100644 --- a/lib/widgets/app_text_field.dart +++ b/lib/widgets/app_text_field.dart @@ -1,8 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/container.dart'; -import 'package:flutter/src/widgets/framework.dart'; import 'package:watch_store/component/text_style.dart'; -import 'package:watch_store/res/colors.dart'; import 'package:watch_store/res/dimens.dart'; import 'package:watch_store/component/extention.dart'; @@ -10,61 +7,61 @@ class AppTextField extends StatelessWidget { final String lable; final String prefixLable; final String hint; - TextEditingController controller; + final TextEditingController controller; final Widget icon; final TextAlign textAlign; - TextInputType? inputType; + final TextInputType? inputType; - AppTextField( - {required this.lable, + const AppTextField( + {super.key, + required this.lable, required this.hint, required this.controller, this.icon = const SizedBox(), this.prefixLable = '', - this.textAlign = TextAlign.center, - this.inputType - }); + this.textAlign = TextAlign.center, + this.inputType}); @override Widget build(BuildContext context) { Size size = MediaQuery.of(context).size; return Padding( - padding: EdgeInsets.all(AppDimens.medium), + padding: const EdgeInsets.all(AppDimens.medium), child: Column( - crossAxisAlignment: CrossAxisAlignment.end, + crossAxisAlignment: CrossAxisAlignment.end, children: [ SizedBox( - width: size.width*.75, + width: size.width * .75, child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text(prefixLable,style: AppTextStyles.title,), - Text(lable,style: AppTextStyles.title,), - + Text( + prefixLable, + style: AppTextStyles.title, + ), + Text( + lable, + style: AppTextStyles.title, + ), ], ), ), AppDimens.medium.height, SizedBox( - height: size.height*.07, - width: size.width*.75, + height: size.height * .07, + width: size.width * .75, child: TextField( textAlign: textAlign, controller: controller, keyboardType: inputType, decoration: InputDecoration( - hintStyle: AppTextStyles.hint, - hintText: hint, - prefixIcon: icon - ), - + hintStyle: AppTextStyles.hint, + hintText: hint, + prefixIcon: icon), ), ) - ], ), - - - ); + ); } } diff --git a/lib/widgets/avatar.dart b/lib/widgets/avatar.dart index 4e00c40..4ce9846 100644 --- a/lib/widgets/avatar.dart +++ b/lib/widgets/avatar.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/src/widgets/container.dart'; import 'package:watch_store/component/text_style.dart'; import 'package:watch_store/gen/assets.gen.dart'; import 'package:watch_store/res/dimens.dart'; @@ -8,8 +7,8 @@ import 'package:watch_store/res/strings.dart'; class Avatar extends StatelessWidget { const Avatar({super.key, required this.onTap, required this.file}); - final onTap; - final file; + final VoidCallback onTap; + final dynamic file; @override Widget build(BuildContext context) { final size = MediaQuery.sizeOf(context); diff --git a/lib/widgets/btm_nav_item.dart b/lib/widgets/btm_nav_item.dart index c27261d..9d9db0b 100644 --- a/lib/widgets/btm_nav_item.dart +++ b/lib/widgets/btm_nav_item.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:watch_store/component/text_style.dart'; @@ -6,18 +5,18 @@ import 'package:watch_store/res/colors.dart'; import 'package:watch_store/res/dimens.dart'; class BtmNavItem extends StatelessWidget { - String iconSvgPath; - String text; - bool isActive; - void Function() onTap; - + final String iconSvgPath; + final String text; + final bool isActive; + final void Function() onTap; - BtmNavItem({super.key, + const BtmNavItem({ + super.key, required this.iconSvgPath, required this.text, required this.isActive, required this.onTap, - }); + }); @override Widget build(BuildContext context) { @@ -25,23 +24,32 @@ class BtmNavItem extends StatelessWidget { onTap: onTap, child: Container( color: AppColors.btmNavColor, - child: Padding( padding: const EdgeInsets.all(4), child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ - SvgPicture.asset(iconSvgPath, colorFilter: ColorFilter.mode( - isActive? - AppColors.btmNavActiveItem:AppColors.btmNavInActiveItem, BlendMode.srcIn), - -), - const SizedBox(height: AppDimens.small,), - Text(text,style:isActive? AppTextStyles.btmNavActive: AppTextStyles.btmNavInActive,) + SvgPicture.asset( + iconSvgPath, + colorFilter: ColorFilter.mode( + isActive + ? AppColors.btmNavActiveItem + : AppColors.btmNavInActiveItem, + BlendMode.srcIn), + ), + const SizedBox( + height: AppDimens.small, + ), + Text( + text, + style: isActive + ? AppTextStyles.btmNavActive + : AppTextStyles.btmNavInActive, + ) ], ), ), ), ); } -} \ No newline at end of file +} diff --git a/lib/widgets/cart_badge.dart b/lib/widgets/cart_badge.dart index dc77f3e..5755ab2 100644 --- a/lib/widgets/cart_badge.dart +++ b/lib/widgets/cart_badge.dart @@ -4,7 +4,7 @@ import 'package:watch_store/gen/assets.gen.dart'; class CartBadge extends StatelessWidget { const CartBadge({super.key, this.count = 0}); - final count; + final int count; @override Widget build(BuildContext context) { return Stack( diff --git a/lib/widgets/cat_widget.dart b/lib/widgets/cat_widget.dart index b4a3469..6c3c748 100644 --- a/lib/widgets/cat_widget.dart +++ b/lib/widgets/cat_widget.dart @@ -1,5 +1,4 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/svg.dart'; import 'package:watch_store/component/text_style.dart'; import '../res/dimens.dart'; @@ -13,10 +12,10 @@ class CatWidget extends StatelessWidget { required this.iconPath, }); - final title; - final ontap; - final colors; - final iconPath; + final String title; + final VoidCallback ontap; + final List colors; + final String iconPath; @override Widget build(BuildContext context) { diff --git a/lib/widgets/main_button.dart b/lib/widgets/main_button.dart index dcc59ae..f6116a0 100644 --- a/lib/widgets/main_button.dart +++ b/lib/widgets/main_button.dart @@ -1,30 +1,27 @@ -import 'dart:ui'; - import 'package:flutter/material.dart'; -import 'package:flutter/src/widgets/container.dart'; -import 'package:flutter/src/widgets/framework.dart'; import 'package:watch_store/component/button_style.dart'; import 'package:watch_store/component/text_style.dart'; class MainButton extends StatelessWidget { - final String text; - void Function() onPressed; + final void Function() onPressed; - MainButton({super.key,required this.text,required this.onPressed}); + const MainButton({super.key, required this.text, required this.onPressed}); @override Widget build(BuildContext context) { - Size size = MediaQuery.of(context).size; - return SizedBox( - height: size.height*.07, - width: size.width*.75, - child: ElevatedButton( - style: AppButtonStyles.mainButtonStyle, - onPressed: onPressed, - child: Text(text,style: AppTextStyles.mainbuttn,)), - ); + return SizedBox( + height: size.height * .07, + width: size.width * .75, + child: ElevatedButton( + style: AppButtonStyles.mainButtonStyle, + onPressed: onPressed, + child: Text( + text, + style: AppTextStyles.mainbuttn, + )), + ); } -} \ No newline at end of file +} diff --git a/lib/widgets/product_item.dart b/lib/widgets/product_item.dart index c908d9a..9168e44 100644 --- a/lib/widgets/product_item.dart +++ b/lib/widgets/product_item.dart @@ -4,25 +4,24 @@ import 'package:flutter/material.dart'; import 'package:watch_store/component/extention.dart'; import 'package:watch_store/component/text_style.dart'; import 'package:watch_store/data/model/product.dart'; -import 'package:watch_store/gen/assets.gen.dart'; import 'package:watch_store/res/colors.dart'; import 'package:watch_store/res/dimens.dart'; import 'package:watch_store/screens/product_single/product_single_screen.dart'; import 'package:watch_store/utils/format_time.dart'; class ProductItem extends StatefulWidget { - ProductItem({ + const ProductItem({ super.key, required this.product, }); - Product product; + final Product product; @override State createState() => _ProductItemState(); } class _ProductItemState extends State { - Duration _duration = Duration(seconds: 0); + Duration _duration = const Duration(seconds: 0); late Timer _timer; int insecond = 0; @override @@ -39,6 +38,12 @@ class _ProductItemState extends State { } } + @override + void dispose() { + _timer.cancel(); + super.dispose(); + } + @override Widget build(BuildContext context) { return GestureDetector( diff --git a/lib/widgets/registeration_app_bar.dart b/lib/widgets/registeration_app_bar.dart index 133987e..5a89a7e 100644 --- a/lib/widgets/registeration_app_bar.dart +++ b/lib/widgets/registeration_app_bar.dart @@ -1,10 +1,10 @@ - import 'package:flutter/material.dart'; import 'package:watch_store/component/text_style.dart'; import '../res/strings.dart'; -class RegisterationAppBar extends StatelessWidget implements PreferredSizeWidget { +class RegisterationAppBar extends StatelessWidget + implements PreferredSizeWidget { const RegisterationAppBar({ Key? key, required this.size, @@ -15,19 +15,22 @@ class RegisterationAppBar extends StatelessWidget implements PreferredSizeWidget @override Widget build(BuildContext context) { return PreferredSize( - preferredSize:Size(size.width,size.height*.1) - ,child: Row( + preferredSize: Size(size.width, size.height * .1), + child: Row( children: [ - IconButton(onPressed:(() => Navigator.pop(context)), icon: const Icon(Icons.arrow_back)), - - const Text(AppStrings.register,style: AppTextStyles.title,) + IconButton( + onPressed: (() => Navigator.pop(context)), + icon: const Icon(Icons.arrow_back)), + const Text( + AppStrings.register, + style: AppTextStyles.title, + ) ], ), - - ); + ); } - + @override // TODO: implement preferredSize - Size get preferredSize => Size.fromHeight(size.height*.1); + Size get preferredSize => Size.fromHeight(size.height * .1); } diff --git a/lib/widgets/search_bar.dart b/lib/widgets/search_bar.dart index d588190..24377c9 100644 --- a/lib/widgets/search_bar.dart +++ b/lib/widgets/search_bar.dart @@ -1,4 +1,3 @@ - import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:watch_store/res/colors.dart'; @@ -9,18 +8,15 @@ import '../gen/assets.gen.dart'; import '../res/strings.dart'; class SearchBtn extends StatelessWidget { - const SearchBtn({ - super.key, - required this.onTap - }); - + const SearchBtn({super.key, required this.onTap}); + final VoidCallback onTap; @override Widget build(BuildContext context) { return Padding( padding: const EdgeInsets.all(AppDimens.medium), child: GestureDetector( - onTap:onTap, + onTap: onTap, child: Container( decoration: BoxDecoration( color: AppColors.searchBar, @@ -33,17 +29,17 @@ class SearchBtn extends StatelessWidget { ]), height: 52, width: double.infinity, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ + child: + Row(mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ SvgPicture.asset(Assets.svg.search), - - const Text(AppStrings.searchProduct,style: AppTextStyles.hint,), + const Text( + AppStrings.searchProduct, + style: AppTextStyles.hint, + ), Padding( padding: const EdgeInsets.all(8.0), child: Image.asset(Assets.png.mainLogo.path), ) - ]), ), ), diff --git a/lib/widgets/shopping_cart_item.dart b/lib/widgets/shopping_cart_item.dart index d5e3064..1b14ad6 100644 --- a/lib/widgets/shopping_cart_item.dart +++ b/lib/widgets/shopping_cart_item.dart @@ -10,8 +10,8 @@ import 'package:watch_store/screens/cart/bloc/cart_bloc.dart'; import 'package:watch_store/widgets/suraface_conainer.dart'; class ShoppingCartItem extends StatefulWidget { - ShoppingCartItem({super.key, required this.cartModel}); - CartModel cartModel; + const ShoppingCartItem({super.key, required this.cartModel}); + final CartModel cartModel; @override State createState() => _ShoppingCartItemState(); diff --git a/lib/widgets/suraface_conainer.dart b/lib/widgets/suraface_conainer.dart index a9b1c9c..b5bbaba 100644 --- a/lib/widgets/suraface_conainer.dart +++ b/lib/widgets/suraface_conainer.dart @@ -8,7 +8,7 @@ class SurfaceContainer extends StatelessWidget { required this.child, }); - final child; + final Widget child; @override Widget build(BuildContext context) { diff --git a/pubspec.lock b/pubspec.lock index afd3331..9fb6044 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -5,98 +5,90 @@ packages: dependency: transitive description: name: _fe_analyzer_shared - sha256: eb376e9acf6938204f90eb3b1f00b578640d3188b4c8a8ec054f9f479af8d051 + sha256: "5b7468c326d2f8a4f630056404ca0d291ade42918f4a3c6233618e724f39da8e" url: "https://pub.dev" source: hosted - version: "64.0.0" + version: "92.0.0" analyzer: dependency: transitive description: name: analyzer - sha256: "69f54f967773f6c26c7dcb13e93d7ccee8b17a641689da39e878d5cf13b06893" + sha256: "70e4b1ef8003c64793a9e268a551a82869a8a96f39deb73dea28084b0e8bf75e" url: "https://pub.dev" source: hosted - version: "6.2.0" + version: "9.0.0" + archive: + dependency: transitive + description: + name: archive + sha256: "2fde1607386ab523f7a36bb3e7edb43bd58e6edaf2ffb29d8a6d578b297fdbbd" + url: "https://pub.dev" + source: hosted + version: "4.0.7" args: dependency: transitive description: name: args - sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + sha256: d0481093c50b1da8910eb0bb301626d4d8eb7284aa739614d2b394ee09e3ea04 url: "https://pub.dev" source: hosted - version: "2.4.2" + version: "2.7.0" async: dependency: transitive description: name: async - sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" + sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" url: "https://pub.dev" source: hosted - version: "2.11.0" + version: "2.13.0" bloc: dependency: transitive description: name: bloc - sha256: "3820f15f502372d979121de1f6b97bfcf1630ebff8fe1d52fb2b0bfa49be5b49" + sha256: "106842ad6569f0b60297619e9e0b1885c2fb9bf84812935490e6c5275777804e" url: "https://pub.dev" source: hosted - version: "8.1.2" + version: "8.1.4" boolean_selector: dependency: transitive description: name: boolean_selector - sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.2" build: dependency: transitive description: name: build - sha256: "80184af8b6cb3e5c1c4ec6d8544d27711700bc3e6d2efad04238c7b5290889f0" + sha256: c1668065e9ba04752570ad7e038288559d1e2ca5c6d0131c0f5f55e39e777413 url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "4.0.3" build_config: dependency: transitive description: name: build_config - sha256: bf80fcfb46a29945b423bd9aad884590fb1dc69b330a4d4700cac476af1708d1 + sha256: "4f64382b97504dc2fcdf487d5aae33418e08b4703fc21249e4db6d804a4d0187" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" build_daemon: dependency: transitive description: name: build_daemon - sha256: "0343061a33da9c5810b2d6cee51945127d8f4c060b7fbdd9d54917f0a3feaaa1" + sha256: bf05f6e12cfea92d3c09308d7bcdab1906cd8a179b023269eed00c071004b957 url: "https://pub.dev" source: hosted - version: "4.0.1" - build_resolvers: - dependency: transitive - description: - name: build_resolvers - sha256: "339086358431fa15d7eca8b6a36e5d783728cf025e559b834f4609a1fcfb7b0a" - url: "https://pub.dev" - source: hosted - version: "2.4.2" + version: "4.1.1" build_runner: dependency: "direct dev" description: name: build_runner - sha256: "581bacf68f89ec8792f5e5a0b2c4decd1c948e97ce659dc783688c8a88fbec21" - url: "https://pub.dev" - source: hosted - version: "2.4.8" - build_runner_core: - dependency: transitive - description: - name: build_runner_core - sha256: "4ae8ffe5ac758da294ecf1802f2aff01558d8b1b00616aa7538ea9a8a5d50799" + sha256: "110c56ef29b5eb367b4d17fc79375fa8c18a6cd7acd92c05bb3986c17a079057" url: "https://pub.dev" source: hosted - version: "7.3.0" + version: "2.10.4" built_collection: dependency: transitive description: @@ -109,58 +101,58 @@ packages: dependency: transitive description: name: built_value - sha256: a3ec2e0f967bc47f69f95009bb93db936288d61d5343b9436e378b28a2f830c6 + sha256: "426cf75afdb23aa74bd4e471704de3f9393f3c7b04c1e2d9c6f1073ae0b8b139" url: "https://pub.dev" source: hosted - version: "8.9.0" + version: "8.12.1" carousel_slider: dependency: "direct main" description: name: carousel_slider - sha256: "9c695cc963bf1d04a47bd6021f68befce8970bcd61d24938e1fb0918cf5d9c42" + sha256: d7256dca1ca9a4c9389126d57d70ce5d5e8fe25e7c81075b364f8a09dcba86ad url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.2.0" characters: dependency: transitive description: name: characters - sha256: "04a925763edad70e8443c99234dc3328f442e811f1d8fd1a72f1c8ad0f69a605" + sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.4.0" checked_yaml: dependency: transitive description: name: checked_yaml - sha256: feb6bed21949061731a7a75fc5d2aa727cf160b91af9a3e464c5e3a32e28b5ff + sha256: "959525d3162f249993882720d52b7e0c833978df229be20702b33d48d91de70f" url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "2.0.4" clock: dependency: transitive description: name: clock - sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.1.2" code_builder: dependency: transitive description: name: code_builder - sha256: f692079e25e7869c14132d39f223f8eec9830eb76131925143b2129c4bb01b37 + sha256: "11654819532ba94c34de52ff5feb52bd81cba1de00ef2ed622fd50295f9d4243" url: "https://pub.dev" source: hosted - version: "4.10.0" + version: "4.11.0" collection: dependency: transitive description: name: collection - sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a + sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" url: "https://pub.dev" source: hosted - version: "1.18.0" + version: "1.19.1" color: dependency: transitive description: @@ -173,42 +165,42 @@ packages: dependency: transitive description: name: convert - sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + sha256: b30acd5944035672bc15c6b7a8b47d773e41e2f17de064350988c5d02adb1c68 url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.2" cross_file: dependency: transitive description: name: cross_file - sha256: fedaadfa3a6996f75211d835aaeb8fede285dae94262485698afd832371b9a5e + sha256: "701dcfc06da0882883a2657c445103380e53e647060ad8d9dfb710c100996608" url: "https://pub.dev" source: hosted - version: "0.3.3+8" + version: "0.3.5+1" crypto: dependency: transitive description: name: crypto - sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + sha256: c8ea0233063ba03258fbcf2ca4d6dadfefe14f02fab57702265467a19f27fadf url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.7" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - sha256: d57953e10f9f8327ce64a508a355f0b1ec902193f66288e8cb5070e7c47eeb2d + sha256: ba631d1c7f7bef6b729a622b7b752645a2d076dba9976925b8f25725a30e1ee6 url: "https://pub.dev" source: hosted - version: "1.0.6" + version: "1.0.8" dart_style: dependency: transitive description: name: dart_style - sha256: "40ae61a5d43feea6d24bd22c0537a6629db858963b99b4bc1c3db80676f32368" + sha256: a9c30492da18ff84efe2422ba2d319a89942d93e58eb0b73d32abe822ef54b7b url: "https://pub.dev" source: hosted - version: "2.3.4" + version: "3.1.3" dartx: dependency: transitive description: @@ -221,82 +213,90 @@ packages: dependency: "direct main" description: name: dio - sha256: "797e1e341c3dd2f69f2dad42564a6feff3bfb87187d05abb93b9609e6f1645c3" + sha256: d90ee57923d1828ac14e492ca49440f65477f4bb1263575900be731a3dac66a9 + url: "https://pub.dev" + source: hosted + version: "5.9.0" + dio_web_adapter: + dependency: transitive + description: + name: dio_web_adapter + sha256: "7586e476d70caecaf1686d21eee7247ea43ef5c345eab9e0cc3583ff13378d78" url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "2.1.1" equatable: dependency: "direct main" description: name: equatable - sha256: c2b87cb7756efdf69892005af546c56c0b5037f54d2a88269b4f347a505e3ca2 + sha256: "567c64b3cb4cf82397aac55f4f0cbd3ca20d77c6c03bedbc4ceaddc08904aef7" url: "https://pub.dev" source: hosted - version: "2.0.5" + version: "2.0.7" fake_async: dependency: transitive description: name: fake_async - sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.3.3" ffi: dependency: transitive description: name: ffi - sha256: "7bf0adc28a23d395f19f3f1eb21dd7cfd1dd9f8e1c50051c069122e6853bc878" + sha256: "289279317b4b16eb2bb7e271abccd4bf84ec9bdcbe999e278a94b804f5630418" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.4" file: dependency: transitive description: name: file - sha256: "5fc22d7c25582e38ad9a8515372cd9a93834027aacf1801cf01164dac0ffa08c" + sha256: a3b4f84adafef897088c160faf7dfffb7696046cb13ae90b508c2cbc95d3b8d4 url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "7.0.1" file_selector_linux: dependency: transitive description: name: file_selector_linux - sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + sha256: "2567f398e06ac72dcf2e98a0c95df2a9edd03c2c2e0cacd4780f20cdf56263a0" url: "https://pub.dev" source: hosted - version: "0.9.2+1" + version: "0.9.4" file_selector_macos: dependency: transitive description: name: file_selector_macos - sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + sha256: "5e0bbe9c312416f1787a68259ea1505b52f258c587f12920422671807c4d618a" url: "https://pub.dev" source: hosted - version: "0.9.3+3" + version: "0.9.5" file_selector_platform_interface: dependency: transitive description: name: file_selector_platform_interface - sha256: a3994c26f10378a039faa11de174d7b78eb8f79e4dd0af2a451410c1a5c3f66b + sha256: "35e0bd61ebcdb91a3505813b055b09b79dfdc7d0aee9c09a7ba59ae4bb13dc85" url: "https://pub.dev" source: hosted - version: "2.6.2" + version: "2.7.0" file_selector_windows: dependency: transitive description: name: file_selector_windows - sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + sha256: "62197474ae75893a62df75939c777763d39c2bc5f73ce5b88497208bc269abfd" url: "https://pub.dev" source: hosted - version: "0.9.3+1" + version: "0.9.3+5" fixnum: dependency: transitive description: name: fixnum - sha256: "25517a4deb0c03aa0f32fd12db525856438902d9c16536311e76cdc57b31d7d1" + sha256: b6dc7065e46c974bc7c5f143080a6764ec7a4be6da1285ececdc37be96de53be url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" flutter: dependency: "direct main" description: flutter @@ -306,26 +306,26 @@ packages: dependency: "direct main" description: name: flutter_bloc - sha256: e74efb89ee6945bcbce74a5b3a5a3376b088e5f21f55c263fc38cbdc6237faae + sha256: b594505eac31a0518bdcb4b5b79573b8d9117b193cc80cc12e17d639b10aa27a url: "https://pub.dev" source: hosted - version: "8.1.3" + version: "8.1.6" flutter_gen_core: dependency: transitive description: name: flutter_gen_core - sha256: "3a6c3dbc1c0e260088e9c7ed1ba905436844e8c01a44799f6281edada9e45308" + sha256: b6bafbbd981da2f964eb45bcb8b8a7676a281084f8922c0c75de4cfbaa849311 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.12.0" flutter_gen_runner: dependency: "direct dev" description: name: flutter_gen_runner - sha256: "24889d5140b03997f7148066a9c5fab8b606dff36093434c782d7a7fb22c6fb6" + sha256: c99b10af9d404e3f46fd1927e7d90099779e935e86022674c4c2a9e6c2a93b29 url: "https://pub.dev" source: hosted - version: "5.4.0" + version: "5.12.0" flutter_lints: dependency: "direct dev" description: @@ -362,10 +362,10 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + sha256: ee8068e0e1cd16c4a82714119918efdeed33b3ba7772c54b5d094ab53f9b7fd1 url: "https://pub.dev" source: hosted - version: "2.0.17" + version: "2.0.33" flutter_svg: dependency: "direct main" description: @@ -384,30 +384,22 @@ packages: description: flutter source: sdk version: "0.0.0" - frontend_server_client: - dependency: transitive - description: - name: frontend_server_client - sha256: "408e3ca148b31c20282ad6f37ebfa6f4bdc8fede5b74bc2f08d9d92b55db3612" - url: "https://pub.dev" - source: hosted - version: "3.2.0" glob: dependency: transitive description: name: glob - sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + sha256: c3f1ee72c96f8f78935e18aa8cecced9ab132419e8625dc187e1c2408efc20de url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.3" google_fonts: dependency: "direct main" description: name: google_fonts - sha256: "8f099045e2f2a30e4d4d0a35f40c6bc941a8f2ca0e10ad9d214ee9edd3f37483" + sha256: ba03d03bcaa2f6cb7bd920e3b5027181db75ab524f8891c8bc3aa603885b8055 url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "6.3.3" google_polyline_algorithm: dependency: transitive description: @@ -420,122 +412,146 @@ packages: dependency: transitive description: name: graphs - sha256: aedc5a15e78fc65a6e23bcd927f24c64dd995062bcd1ca6eda65a3cff92a4d19 + sha256: "741bbf84165310a68ff28fe9e727332eef1407342fca52759cb21ad8177bb8d0" + url: "https://pub.dev" + source: hosted + version: "2.3.2" + hashcodes: + dependency: transitive + description: + name: hashcodes + sha256: "80f9410a5b3c8e110c4b7604546034749259f5d6dcca63e0d3c17c9258f1a651" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.0.0" http: dependency: transitive description: name: http - sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + sha256: "87721a4a50b19c7f1d49001e51409bddc46303966ce89a65af4f4e6004896412" url: "https://pub.dev" source: hosted - version: "0.13.6" + version: "1.6.0" http_multi_server: dependency: transitive description: name: http_multi_server - sha256: "97486f20f9c2f7be8f514851703d0119c3596d14ea63227af6f7a481ef2b2f8b" + sha256: aa6199f908078bb1c5efb8d8638d4ae191aac11b311132c3ef48ce352fb52ef8 url: "https://pub.dev" source: hosted - version: "3.2.1" + version: "3.2.2" http_parser: dependency: transitive description: name: http_parser - sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + sha256: "178d74305e7866013777bab2c3d8726205dc5a4dd935297175b19a23a2e66571" + url: "https://pub.dev" + source: hosted + version: "4.1.2" + image: + dependency: transitive + description: + name: image + sha256: "4e973fcf4caae1a4be2fa0a13157aa38a8f9cb049db6529aa00b4d71abc4d928" url: "https://pub.dev" source: hosted - version: "4.0.2" + version: "4.5.4" image_cropper: dependency: "direct main" description: name: image_cropper - sha256: "542c3453109d16bcc388e43ae2276044d2cd6a6d20c68bdcff2c94ab9363ea15" + sha256: f4bad5ed2dfff5a7ce0dfbad545b46a945c702bb6182a921488ef01ba7693111 url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "5.0.1" image_cropper_for_web: dependency: transitive description: name: image_cropper_for_web - sha256: "89c936aa772a35b69ca67b78049ae9fa163a4fb8da2f6dee3893db8883fb49d2" + sha256: "865d798b5c9d826f1185b32e5d0018c4183ddb77b7b82a931e1a06aa3b74974e" url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "3.0.0" image_cropper_platform_interface: dependency: transitive description: name: image_cropper_platform_interface - sha256: b232175c132b2f7ede3e1f101652bcd635cb4079a77c6dded8e6d32e6578d685 + sha256: ee160d686422272aa306125f3b6fb1c1894d9b87a5e20ed33fa008e7285da11e url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.0.0" image_picker: dependency: "direct main" description: name: image_picker - sha256: "26222b01a0c9a2c8fe02fc90b8208bd3325da5ed1f4a2acabf75939031ac0bdd" + sha256: "784210112be18ea55f69d7076e2c656a4e24949fa9e76429fe53af0c0f4fa320" url: "https://pub.dev" source: hosted - version: "1.0.7" + version: "1.2.1" image_picker_android: dependency: transitive description: name: image_picker_android - sha256: "39f2bfe497e495450c81abcd44b62f56c2a36a37a175da7d137b4454977b51b1" + sha256: "5e9bf126c37c117cf8094215373c6d561117a3cfb50ebc5add1a61dc6e224677" url: "https://pub.dev" source: hosted - version: "0.8.9+3" + version: "0.8.13+10" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - sha256: e2423c53a68b579a7c37a1eda967b8ae536c3d98518e5db95ca1fe5719a730a3 + sha256: "66257a3191ab360d23a55c8241c91a6e329d31e94efa7be9cf7a212e65850214" url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.1" image_picker_ios: dependency: transitive description: name: image_picker_ios - sha256: fadafce49e8569257a0cad56d24438a6fa1f0cbd7ee0af9b631f7492818a4ca3 + sha256: "997d100ce1dda5b1ba4085194c5e36c9f8a1fb7987f6a36ab677a344cd2dc986" url: "https://pub.dev" source: hosted - version: "0.8.9+1" + version: "0.8.13+2" image_picker_linux: dependency: transitive description: name: image_picker_linux - sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + sha256: "1f81c5f2046b9ab724f85523e4af65be1d47b038160a8c8deed909762c308ed4" url: "https://pub.dev" source: hosted - version: "0.2.1+1" + version: "0.2.2" image_picker_macos: dependency: transitive description: name: image_picker_macos - sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + sha256: "86f0f15a309de7e1a552c12df9ce5b59fe927e71385329355aec4776c6a8ec91" url: "https://pub.dev" source: hosted - version: "0.2.1+1" + version: "0.2.2+1" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface - sha256: fa4e815e6fcada50e35718727d83ba1c92f1edf95c0b4436554cec301b56233b + sha256: "567e056716333a1647c64bb6bd873cff7622233a5c3f694be28a583d4715690c" url: "https://pub.dev" source: hosted - version: "2.9.3" + version: "2.11.1" image_picker_windows: dependency: transitive description: name: image_picker_windows - sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + sha256: d248c86554a72b5495a31c56f060cf73a41c7ff541689327b1a7dbccc33adfae + url: "https://pub.dev" + source: hosted + version: "0.2.2" + image_size_getter: + dependency: transitive + description: + name: image_size_getter + sha256: "7c26937e0ae341ca558b7556591fd0cc456fcc454583b7cb665d2f03e93e590f" url: "https://pub.dev" source: hosted - version: "0.2.1+1" + version: "2.4.1" intl: dependency: "direct main" description: @@ -548,10 +564,10 @@ packages: dependency: transitive description: name: io - sha256: "2ec25704aba361659e10e3e5f5d672068d332fc8ac516421d483a11e5cbd061e" + sha256: dfd5a80599cf0165756e3181807ed3e77daf6dd4137caaad72d0b7931597650b url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.0.5" js: dependency: transitive description: @@ -564,10 +580,34 @@ packages: dependency: transitive description: name: json_annotation - sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + sha256: "1ce844379ca14835a50d2f019a3099f419082cfdd231cd86a142af94dd5c6bb1" + url: "https://pub.dev" + source: hosted + version: "4.9.0" + leak_tracker: + dependency: transitive + description: + name: leak_tracker + sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" + url: "https://pub.dev" + source: hosted + version: "11.0.2" + leak_tracker_flutter_testing: + dependency: transitive + description: + name: leak_tracker_flutter_testing + sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" url: "https://pub.dev" source: hosted - version: "4.8.1" + version: "3.0.10" + leak_tracker_testing: + dependency: transitive + description: + name: leak_tracker_testing + sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" + url: "https://pub.dev" + source: hosted + version: "3.0.2" lints: dependency: transitive description: @@ -580,42 +620,42 @@ packages: dependency: transitive description: name: logging - sha256: "623a88c9594aa774443aa3eb2d41807a48486b5613e67599fb4c41c0ad47c340" + sha256: c8245ada5f1717ed44271ed1c26b8ce85ca3228fd2ffdb75468ab01979309d61 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.0" matcher: dependency: transitive description: name: matcher - sha256: "1803e76e6653768d64ed8ff2e1e67bea3ad4b923eb5c56a295c3e634bad5960e" + sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 url: "https://pub.dev" source: hosted - version: "0.12.16" + version: "0.12.17" material_color_utilities: dependency: transitive description: name: material_color_utilities - sha256: "9528f2f296073ff54cb9fee677df673ace1218163c3bc7628093e7eed5203d41" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.5.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: a6e590c838b18133bb482a2745ad77c5bb7715fb0451209e1a7567d416678b8e + sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.17.0" mime: dependency: transitive description: name: mime - sha256: "2e123074287cc9fd6c09de8336dae606d1ddb88d9ac47358826db698c176a1f2" + sha256: "41a20518f0cb1256669420fdba0cd90d21561e560ac240f26ef8322e45bb7ed6" url: "https://pub.dev" source: hosted - version: "1.0.5" + version: "2.0.0" nested: dependency: transitive description: @@ -628,50 +668,50 @@ packages: dependency: transitive description: name: package_config - sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + sha256: f096c55ebb7deb7e384101542bfba8c52696c1b56fca2eb62827989ef2353bbc url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.2.0" path: dependency: transitive description: name: path - sha256: "8829d8a55c13fc0e37127c29fedf290c102f4e40ae94ada574091fe0ff96c917" + sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" url: "https://pub.dev" source: hosted - version: "1.8.3" + version: "1.9.1" path_parsing: dependency: transitive description: name: path_parsing - sha256: e3e67b1629e6f7e8100b367d3db6ba6af4b1f0bb80f64db18ef1fbabd2fa9ccf + sha256: "883402936929eac138ee0a45da5b0f2c80f89913e6dc3bf77eb65b84b409c6ca" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "1.1.0" path_provider: dependency: transitive description: name: path_provider - sha256: b27217933eeeba8ff24845c34003b003b2b22151de3c908d0e679e8fe1aa078b + sha256: "50c5dd5b6e1aaf6fb3a78b33f6aa3afca52bf903a8a5298f53101fdaee55bbcd" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.5" path_provider_android: dependency: transitive description: name: path_provider_android - sha256: "477184d672607c0a3bf68fbbf601805f92ef79c82b64b4d6eb318cbca4c48668" + sha256: f2c65e21139ce2c3dad46922be8272bb5963516045659e71bb16e151c93b580e url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.2.22" path_provider_foundation: dependency: transitive description: name: path_provider_foundation - sha256: "5a7999be66e000916500be4f15a3633ebceb8302719b47b9cc49ce924125350f" + sha256: "6d13aece7b3f5c5a9731eaf553ff9dcbc2eff41087fd2df587fd0fed9a3eb0c4" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.5.1" path_provider_linux: dependency: transitive description: @@ -692,50 +732,50 @@ packages: dependency: transitive description: name: path_provider_windows - sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + sha256: bd6f00dbd873bfb70d0761682da2b3a2c2fccc2b9e84c495821639601d81afe7 url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.3.0" permission_handler: dependency: transitive description: name: permission_handler - sha256: "45ff3fbcb99040fde55c528d5e3e6ca29171298a85436274d49c6201002087d6" + sha256: "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849" url: "https://pub.dev" source: hosted - version: "11.2.0" + version: "11.4.0" permission_handler_android: dependency: transitive description: name: permission_handler_android - sha256: "758284a0976772f9c744d6384fc5dc4834aa61e3f7aa40492927f244767374eb" + sha256: d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc url: "https://pub.dev" source: hosted - version: "12.0.3" + version: "12.1.0" permission_handler_apple: dependency: transitive description: name: permission_handler_apple - sha256: c6bf440f80acd2a873d3d91a699e4cc770f86e7e6b576dda98759e8b92b39830 + sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023 url: "https://pub.dev" source: hosted - version: "9.3.0" + version: "9.4.7" permission_handler_html: dependency: transitive description: name: permission_handler_html - sha256: "54bf176b90f6eddd4ece307e2c06cf977fb3973719c35a93b85cc7093eb6070d" + sha256: "38f000e83355abb3392140f6bc3030660cfaef189e1f87824facb76300b4ff24" url: "https://pub.dev" source: hosted - version: "0.1.1" + version: "0.1.3+5" permission_handler_platform_interface: dependency: transitive description: name: permission_handler_platform_interface - sha256: "5c43148f2bfb6d14c5a8162c0a712afe891f2d847f35fcff29c406b37da43c3c" + sha256: eb99b295153abce5d683cac8c02e22faab63e50679b937fa1bf67d58bb282878 url: "https://pub.dev" source: hosted - version: "4.1.0" + version: "4.3.0" permission_handler_windows: dependency: transitive description: @@ -748,18 +788,18 @@ packages: dependency: transitive description: name: petitparser - sha256: c15605cd28af66339f8eb6fbe0e541bfe2d1b72d5825efc6598f3e0a31b9ad27 + sha256: "1a97266a94f7350d30ae522c0af07890c70b8e62c71e8e3920d1db4d23c057d1" url: "https://pub.dev" source: hosted - version: "6.0.2" + version: "7.0.1" platform: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "5d6b1b0036a5f331ebc77c850ebc8506cbc1e9416c27e59b439f917a902a4984" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.6" plugin_platform_interface: dependency: transitive description: @@ -772,367 +812,367 @@ packages: dependency: transitive description: name: pool - sha256: "20fe868b6314b322ea036ba325e6fc0711a22948856475e2c2b6306e8ab39c2a" + sha256: "978783255c543aa3586a1b3c21f6e9d720eb315376a915872c61ef8b5c20177d" url: "https://pub.dev" source: hosted - version: "1.5.1" + version: "1.5.2" + posix: + dependency: transitive + description: + name: posix + sha256: "6323a5b0fa688b6a010df4905a56b00181479e6d10534cecfecede2aa55add61" + url: "https://pub.dev" + source: hosted + version: "6.0.3" provider: dependency: transitive description: name: provider - sha256: "9a96a0a19b594dbc5bf0f1f27d2bc67d5f95957359b461cd9feb44ed6ae75096" + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" url: "https://pub.dev" source: hosted - version: "6.1.1" + version: "6.1.5+1" pub_semver: dependency: transitive description: name: pub_semver - sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + sha256: "5bfcf68ca79ef689f8990d1160781b4bad40a3bd5e5218ad4076ddb7f4081585" url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" pubspec_parse: dependency: transitive description: name: pubspec_parse - sha256: c63b2876e58e194e4b0828fcb080ad0e06d051cb607a6be51a9e084f47cb9367 + sha256: "0560ba233314abbed0a48a2956f7f022cce7c3e1e73df540277da7544cad4082" url: "https://pub.dev" source: hosted - version: "1.2.3" + version: "1.5.0" routing_client_dart: dependency: transitive description: name: routing_client_dart - sha256: b7d48ba131d9a73933855d64df911364564a367b5be222ab30eba4fc1632ebcc + sha256: "4e2acf1145bb8056e04fd93101a9f2bab2fd769c9d972f7f403f9733a670cb33" url: "https://pub.dev" source: hosted - version: "0.5.4" + version: "0.5.5" shared_preferences: dependency: "direct main" description: name: shared_preferences - sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" + sha256: "6e8bf70b7fef813df4e9a36f658ac46d107db4b4cfe1048b477d4e453a8159f5" url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.5.3" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" + sha256: "83af5c682796c0f7719c2bbf74792d113e40ae97981b8f266fa84574573556bc" url: "https://pub.dev" source: hosted - version: "2.2.1" + version: "2.4.18" shared_preferences_foundation: dependency: transitive description: name: shared_preferences_foundation - sha256: "7708d83064f38060c7b39db12aefe449cb8cdc031d6062280087bc4cdb988f5c" + sha256: "4e7eaffc2b17ba398759f1151415869a34771ba11ebbccd1b0145472a619a64f" url: "https://pub.dev" source: hosted - version: "2.3.5" + version: "2.5.6" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" + sha256: "580abfd40f415611503cae30adf626e6656dfb2f0cee8f465ece7b6defb40f2f" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - sha256: "22e2ecac9419b4246d7c22bfbbda589e3acf5c0351137d87dd2939d984d37c3b" + sha256: "57cbf196c486bc2cf1f02b85784932c6094376284b3ad5779d1b1c6c6a816b80" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - sha256: "7b15ffb9387ea3e237bb7a66b8a23d2147663d391cafc5c8f37b2e7b4bde5d21" + sha256: c49bd060261c9a3f0ff445892695d6212ff603ef3115edbb448509d407600019 url: "https://pub.dev" source: hosted - version: "2.2.2" + version: "2.4.3" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" + sha256: "94ef0f72b2d71bc3e700e025db3710911bd51a71cefb65cc609dd0d9a982e3c1" url: "https://pub.dev" source: hosted - version: "2.3.2" + version: "2.4.1" shelf: dependency: transitive description: name: shelf - sha256: ad29c505aee705f41a4d8963641f91ac4cee3c8fad5947e033390a7bd8180fa4 + sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12 url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "1.4.2" shelf_web_socket: dependency: transitive description: name: shelf_web_socket - sha256: "9ca081be41c60190ebcb4766b2486a7d50261db7bd0f5d9615f2d653637a84c1" + sha256: "3632775c8e90d6c9712f883e633716432a27758216dfb61bd86a8321c0580925" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "3.0.0" sky_engine: dependency: transitive description: flutter source: sdk - version: "0.0.99" + version: "0.0.0" source_span: dependency: transitive description: name: source_span - sha256: "53e943d4206a5e30df338fd4c6e7a077e02254531b138a15aec3bd143c1a8b3c" - url: "https://pub.dev" - source: hosted - version: "1.10.0" - sprintf: - dependency: transitive - description: - name: sprintf - sha256: "1fc9ffe69d4df602376b52949af107d8f5703b77cda567c4d7d86a0693120f23" + sha256: "254ee5351d6cb365c859e20ee823c3bb479bf4a293c22d17a9f1bf144ce86f7c" url: "https://pub.dev" source: hosted - version: "7.0.0" + version: "1.10.1" stack_trace: dependency: transitive description: name: stack_trace - sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" + sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" url: "https://pub.dev" source: hosted - version: "1.11.1" + version: "1.12.1" stream_channel: dependency: transitive description: name: stream_channel - sha256: ba2aa5d8cc609d96bbb2899c28934f9e1af5cddbd60a827822ea467161eb54e7 + sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" stream_transform: dependency: transitive description: name: stream_transform - sha256: "14a00e794c7c11aa145a170587321aedce29769c08d7f58b1d141da75e3b1c6f" + sha256: ad47125e588cfd37a9a7f86c7d6356dde8dfe89d071d293f80ca9e9273a33871 url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.4.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" url: "https://pub.dev" source: hosted - version: "1.2.1" + version: "1.2.2" test_api: dependency: transitive description: name: test_api - sha256: "5c2f730018264d276c20e4f1503fd1308dfbbae39ec8ee63c5236311ac06954b" + sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 url: "https://pub.dev" source: hosted - version: "0.6.1" + version: "0.7.7" time: dependency: transitive description: name: time - sha256: ad8e018a6c9db36cb917a031853a1aae49467a93e0d464683e029537d848c221 - url: "https://pub.dev" - source: hosted - version: "2.1.4" - timing: - dependency: transitive - description: - name: timing - sha256: "70a3b636575d4163c477e6de42f247a23b315ae20e86442bebe32d3cabf61c32" + sha256: "370572cf5d1e58adcb3e354c47515da3f7469dac3a95b447117e728e7be6f461" url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "2.1.5" typed_data: dependency: transitive description: name: typed_data - sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + sha256: f9049c039ebfeb4cf7a7104a675823cd72dba8297f264b6637062516699fa006 url: "https://pub.dev" source: hosted - version: "1.3.2" + version: "1.4.0" url_launcher: dependency: "direct main" description: name: url_launcher - sha256: "0ecc004c62fd3ed36a2ffcbe0dd9700aee63bd7532d0b642a488b1ec310f492e" + sha256: f6a7e5c4835bb4e3026a04793a4199ca2d14c739ec378fdfe23fc8075d0439f8 url: "https://pub.dev" source: hosted - version: "6.2.5" + version: "6.3.2" url_launcher_android: dependency: transitive description: name: url_launcher_android - sha256: "507dc655b1d9cb5ebc756032eb785f114e415f91557b73bf60b7e201dfedeb2f" + sha256: "767344bf3063897b5cf0db830e94f904528e6dd50a6dfaf839f0abf509009611" url: "https://pub.dev" source: hosted - version: "6.2.2" + version: "6.3.28" url_launcher_ios: dependency: transitive description: name: url_launcher_ios - sha256: "75bb6fe3f60070407704282a2d295630cab232991eb52542b18347a8a941df03" + sha256: cfde38aa257dae62ffe79c87fab20165dfdf6988c1d31b58ebf59b9106062aad url: "https://pub.dev" source: hosted - version: "6.2.4" + version: "6.3.6" url_launcher_linux: dependency: transitive description: name: url_launcher_linux - sha256: ab360eb661f8879369acac07b6bb3ff09d9471155357da8443fd5d3cf7363811 + sha256: d5e14138b3bc193a0f63c10a53c94b91d399df0512b1f29b94a043db7482384a url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.2.2" url_launcher_macos: dependency: transitive description: name: url_launcher_macos - sha256: b7244901ea3cf489c5335bdacda07264a6e960b1c1b1a9f91e4bc371d9e68234 + sha256: "368adf46f71ad3c21b8f06614adb38346f193f3a59ba8fe9a2fd74133070ba18" url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.2.5" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface - sha256: a932c3a8082e118f80a475ce692fde89dc20fddb24c57360b96bc56f7035de1f + sha256: "552f8a1e663569be95a8190206a38187b531910283c3e982193e4f2733f01029" url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "2.3.2" url_launcher_web: dependency: transitive description: name: url_launcher_web - sha256: fff0932192afeedf63cdd50ecbb1bc825d31aed259f02bb8dba0f3b729a5e88b + sha256: "4bd2b7b4dc4d4d0b94e5babfffbca8eac1a126c7f3d6ecbc1a11013faa3abba2" url: "https://pub.dev" source: hosted - version: "2.2.3" + version: "2.4.1" url_launcher_windows: dependency: transitive description: name: url_launcher_windows - sha256: ecf9725510600aa2bb6d7ddabe16357691b6d2805f66216a97d1b881e21beff7 + sha256: "712c70ab1b99744ff066053cbe3e80c73332b38d46e5e945c98689b2e66fc15f" url: "https://pub.dev" source: hosted - version: "3.1.1" + version: "3.1.5" uuid: dependency: transitive description: name: uuid - sha256: cd210a09f7c18cbe5a02511718e0334de6559871052c90a90c0cca46a4aa81c8 + sha256: a11b666489b1954e01d992f3d601b1804a33937b5a8fe677bd26b8a9f96f96e8 url: "https://pub.dev" source: hosted - version: "4.3.3" + version: "4.5.2" vector_graphics: dependency: transitive description: name: vector_graphics - sha256: "18f6690295af52d081f6808f2f7c69f0eed6d7e23a71539d75f4aeb8f0062172" + sha256: "4ac59808bbfca6da38c99f415ff2d3a5d7ca0a6b4809c71d9cf30fba5daf9752" url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.10+1" vector_graphics_codec: dependency: transitive description: name: vector_graphics_codec - sha256: "531d20465c10dfac7f5cd90b60bbe4dd9921f1ec4ca54c83ebb176dbacb7bb2d" + sha256: f3247e7ab0ec77dc759263e68394990edc608fb2b480b80db8aa86ed09279e33 url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.10+1" vector_graphics_compiler: dependency: transitive description: name: vector_graphics_compiler - sha256: "03012b0a33775c5530576b70240308080e1d5050f0faf000118c20e6463bc0ad" + sha256: "18489bdd8850de3dd7ca8a34e0c446f719ec63e2bab2e7a8cc66a9028dd76c5a" url: "https://pub.dev" source: hosted - version: "1.1.9+2" + version: "1.1.10+1" vector_math: dependency: transitive description: name: vector_math - sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b url: "https://pub.dev" source: hosted - version: "2.1.4" + version: "2.2.0" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" + url: "https://pub.dev" + source: hosted + version: "15.0.2" watcher: dependency: transitive description: name: watcher - sha256: "3d2ad6751b3c16cf07c7fca317a1413b3f26530319181b37e3b9039b84fc01d8" + sha256: "592ab6e2892f67760543fb712ff0177f4ec76c031f02f5b4ff8d3fc5eb9fb61a" url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.4" web: dependency: transitive description: name: web - sha256: afe077240a270dcfd2aafe77602b4113645af95d0ad31128cc02bce5ac5d5152 + sha256: "868d88a33d8a87b18ffc05f9f030ba328ffefba92d6c127917a2ba740f9cfe4a" url: "https://pub.dev" source: hosted - version: "0.3.0" - web_socket_channel: + version: "1.1.1" + web_socket: dependency: transitive description: - name: web_socket_channel - sha256: d88238e5eac9a42bb43ca4e721edba3c08c6354d4a53063afaa568516217621b + name: web_socket + sha256: "34d64019aa8e36bf9842ac014bb5d2f5586ca73df5e4d9bf5c936975cae6982c" url: "https://pub.dev" source: hosted - version: "2.4.0" - win32: + version: "1.0.1" + web_socket_channel: dependency: transitive description: - name: win32 - sha256: "464f5674532865248444b4c3daca12bd9bf2d7c47f759ce2617986e7229494a8" + name: web_socket_channel + sha256: d645757fb0f4773d602444000a8131ff5d48c9e47adfe9772652dd1a4f2d45c8 url: "https://pub.dev" source: hosted - version: "5.2.0" + version: "3.0.3" xdg_directories: dependency: transitive description: name: xdg_directories - sha256: faea9dee56b520b55a566385b84f2e8de55e7496104adada9962e0bd11bcff1d + sha256: "7a3f37b05d989967cdddcbb571f1ea834867ae2faa29725fd085180e0883aa15" url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "1.1.0" xml: dependency: transitive description: name: xml - sha256: b015a8ad1c488f66851d762d3090a21c600e479dc75e68328c52774040cf9226 + sha256: "971043b3a0d3da28727e40ed3e0b5d18b742fa5a68665cca88e74b7876d5e025" url: "https://pub.dev" source: hosted - version: "6.5.0" + version: "6.6.1" yaml: dependency: transitive description: name: yaml - sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + sha256: b9da305ac7c39faa3f030eccd175340f968459dae4af175130b3fc47e40d76ce url: "https://pub.dev" source: hosted - version: "3.1.2" + version: "3.1.3" sdks: - dart: ">=3.2.0 <4.0.0" - flutter: ">=3.16.0" + dart: ">=3.9.0 <4.0.0" + flutter: ">=3.35.0" diff --git a/pubspec.yaml b/pubspec.yaml index e77e09b..27f35c2 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -31,17 +31,17 @@ environment: dependencies: flutter: sdk: flutter - google_fonts: ^3.0.1 + google_fonts: ^6.3.3 # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.2 flutter_svg: ^2.0.7 - carousel_slider: ^4.2.1 + carousel_slider: 4.2.0 intl: ^0.18.1 dio: ^5.4.0 flutter_bloc: ^8.1.3 shared_preferences: ^2.2.2 - image_cropper: ^4.0.1 + image_cropper: 5.0.1 image_picker: ^1.0.7 flutter_osm_plugin: ^0.70.4 equatable: ^2.0.5 @@ -54,11 +54,11 @@ dev_dependencies: sdk: flutter build_runner: flutter_gen_runner: - # The "flutter_lints" package below contains a set of recommended lints to - # encourage good coding practices. The lint set provided by the package is - # activated in the `analysis_options.yaml` file located at the root of your - # package. See that file for information about deactivating specific lint - # rules and activating additional ones. +# The "flutter_lints" package below contains a set of recommended lints to +# encourage good coding practices. The lint set provided by the package is +# activated in the `analysis_options.yaml` file located at the root of your +# package. See that file for information about deactivating specific lint +# rules and activating additional ones. flutter_lints: ^2.0.0 # For information on the generic Dart part of this file, see the