diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..f23eee8 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,47 @@ +# AGENTS.md + +## Cursor Cloud specific instructions + +### What this repo is +`flexus_framework` is a **Flutter library/package** (`pubspec.yaml` → `project_type: package`), +not a standalone application. It has no `android/`, `ios/`, or `web/` runner directory and no +app `main()` — it is consumed by other Flutter apps. The normal development workflow is therefore +`flutter pub get` → `flutter analyze` → `flutter test`. + +### Toolchain (already installed in the VM snapshot) +- **Flutter 3.7.12 / Dart 2.19.6** at `~/flutter` (on `PATH` via `~/.bashrc`). This is the newest + stable Flutter whose Dart is `< 3.0.0`, which is required by `pubspec.yaml` + (`sdk: ">=2.12.0 <3.0.0"`) and `pubspec.lock` (`dart: ">=2.14.0 <3.0.0"`, `flutter: ">=2.10.0-0"`). + Do not upgrade to a Dart 3 Flutter — `pub get` will reject it. +- **Android SDK** at `~/android-sdk` (platform `android-33`, `build-tools;33.0.2`, `platform-tools`). + `flutter config --android-sdk ~/android-sdk` is already set. +- **JDK 17** at `/usr/lib/jvm/java-17-openjdk-amd64` (exported as `JAVA_HOME` in `~/.bashrc`). + JDK 17 is required: the Gradle wrapper that Flutter 3.7 generates does **not** support the VM's + default JDK 21, so Android Gradle tasks fail under JDK 21. +- `~/.bashrc` exports `JAVA_HOME`, `ANDROID_SDK_ROOT`, `ANDROID_HOME` and adds Flutter + Android + tools to `PATH`. Non-login/non-interactive shells may not source it, so when scripting use the + absolute binary path `~/flutter/bin/flutter` if `flutter` is not found. + +### Lint / test (these work) +- Lint: `flutter analyze` (clean — no issues). +- Test: `flutter test` (the only test, `test/flexus_framework_test.dart`, has an empty `main()`, so + it reports "No tests ran" but the harness compiles and runs). + +### Building this package into an app +`flexus_framework` is a library, so it is built/run through a host app (e.g. a small example app +with a path dependency on this repo). The dependencies were upgraded to versions that compile under +Flutter 3.7.12 / Dart 2.19 (`network_to_file_image 4.x`, `firebase_* 4.x/10.x/11.x`, +`image_cropper 4.x`, `flutter_form_builder`/`form_builder_validators 8.x`, `carousel_slider 5.x`, +etc.). `sizer` is intentionally kept at `2.0.15`: 3.x changes `DeviceType` to OS-based values +(no `mobile`/`tablet`) and re-exports `ScreenType`, which clashes with `get`. + +Known build caveats for a consuming/host app (not the package itself): +- The host app's `android/app/build.gradle` must set `minSdkVersion 21` (cloud_firestore requires + `>= 19`); the Flutter default (`flutter.minSdkVersion`) is too low. +- After changing `package_info_plus` major versions, run `flutter clean` in the host app before a + web build, otherwise a stale `web_plugin_registrant.dart` references the removed + `package_info_plus_web` package. + +### iOS +iOS builds **cannot run on Linux**: `flutter build ios` is not a registered subcommand here +(only `aar/apk/appbundle/bundle/web` are). iOS requires macOS + Xcode. diff --git a/lib/screens/front/front_controller.dart b/lib/screens/front/front_controller.dart index f34b928..aef135a 100644 --- a/lib/screens/front/front_controller.dart +++ b/lib/screens/front/front_controller.dart @@ -14,10 +14,11 @@ import '../../imports.dart'; import '../../services/auth_service.dart'; class FxFrontController extends GetxController { - CarouselController sliderController = CarouselController(); + CarouselSliderController sliderController = CarouselSliderController(); var isLoading = false.obs; var currentSlider = 0.obs; - final CarouselController loginSliderController = CarouselController(); + final CarouselSliderController loginSliderController = + CarouselSliderController(); Future signInWithGoogle() async { isLoading.value = true; diff --git a/lib/screens/front/front_screen.dart b/lib/screens/front/front_screen.dart index 6499d0d..8fdd3a8 100644 --- a/lib/screens/front/front_screen.dart +++ b/lib/screens/front/front_screen.dart @@ -132,8 +132,9 @@ class FxFrontScreen extends ScreenMaster { child: ElevatedButton( key: const ValueKey("logInButton"), style: ElevatedButton.styleFrom( - primary: Get.theme.colorScheme.secondary, - onPrimary: Get.theme.colorScheme.onSecondary), + backgroundColor: Get.theme.colorScheme.secondary, + foregroundColor: + Get.theme.colorScheme.onSecondary), child: Text(Trns.signIn.val), onPressed: () { Get.to( diff --git a/lib/screens/log_in/log_in_controller.dart b/lib/screens/log_in/log_in_controller.dart index dab6f2f..b628513 100644 --- a/lib/screens/log_in/log_in_controller.dart +++ b/lib/screens/log_in/log_in_controller.dart @@ -19,7 +19,8 @@ import '../../services/auth_service.dart'; class FxLogInController extends GetxController { var isLoading = false.obs; - final CarouselController loginSliderController = CarouselController(); + final CarouselSliderController loginSliderController = + CarouselSliderController(); Future signInWithEmailAndPassword(String email, String password) async { try { diff --git a/lib/screens/log_in/log_in_screen.dart b/lib/screens/log_in/log_in_screen.dart index b27b82c..a0ff572 100644 --- a/lib/screens/log_in/log_in_screen.dart +++ b/lib/screens/log_in/log_in_screen.dart @@ -19,7 +19,6 @@ class FxLoginScreen extends ScreenMaster { return ScaffoldMaster(Trns.signIn.val, body: Obx( () => LoadingOverlay( - opacity: 0.0, isLoading: controller.isLoading.value, child: SingleChildScrollView( child: Column(children: [ diff --git a/lib/screens/log_in/sliders/forgot_password_slider.dart b/lib/screens/log_in/sliders/forgot_password_slider.dart index ffc8ce3..2f4e246 100644 --- a/lib/screens/log_in/sliders/forgot_password_slider.dart +++ b/lib/screens/log_in/sliders/forgot_password_slider.dart @@ -35,9 +35,9 @@ class FxForgotPasswordSlider extends GetView { icon: Icons.email_outlined, obscureText: false, validator: FormBuilderValidators.compose([ - FormBuilderValidators.required(context), - FormBuilderValidators.email(context), - FormBuilderValidators.maxLength(context, 50), + FormBuilderValidators.required(), + FormBuilderValidators.email(), + FormBuilderValidators.maxLength(50), ])), const SizedBox(height: 32), ConstrainedBox( diff --git a/lib/screens/log_in/sliders/login_slider.dart b/lib/screens/log_in/sliders/login_slider.dart index c09f44f..6ea84f5 100644 --- a/lib/screens/log_in/sliders/login_slider.dart +++ b/lib/screens/log_in/sliders/login_slider.dart @@ -33,9 +33,9 @@ class FxLoginSlider extends GetView { icon: Icons.email_outlined, obscureText: false, validator: FormBuilderValidators.compose([ - FormBuilderValidators.required(context), - FormBuilderValidators.email(context), - FormBuilderValidators.maxLength(context, 50), + FormBuilderValidators.required(), + FormBuilderValidators.email(), + FormBuilderValidators.maxLength(50), ])), TextInput( name: 'password', @@ -43,8 +43,8 @@ class FxLoginSlider extends GetView { icon: Icons.vpn_key, obscureText: true, validator: FormBuilderValidators.compose([ - FormBuilderValidators.required(context), - FormBuilderValidators.maxLength(context, 50), + FormBuilderValidators.required(), + FormBuilderValidators.maxLength(50), ])), const SizedBox(height: 16), ConstrainedBox( diff --git a/lib/screens/log_in/sliders/sign_up_slider.dart b/lib/screens/log_in/sliders/sign_up_slider.dart index a0bee23..df07717 100644 --- a/lib/screens/log_in/sliders/sign_up_slider.dart +++ b/lib/screens/log_in/sliders/sign_up_slider.dart @@ -33,8 +33,8 @@ class FxSignUpSlider extends GetView { icon: Icons.person_outline, obscureText: false, validator: FormBuilderValidators.compose([ - FormBuilderValidators.required(Get.context!), - FormBuilderValidators.maxLength(Get.context!, 50), + FormBuilderValidators.required(), + FormBuilderValidators.maxLength(50), ])), TextInput( name: 'email', @@ -42,9 +42,9 @@ class FxSignUpSlider extends GetView { icon: Icons.email_outlined, obscureText: false, validator: FormBuilderValidators.compose([ - FormBuilderValidators.required(Get.context!), - FormBuilderValidators.email(Get.context!), - FormBuilderValidators.maxLength(Get.context!, 50), + FormBuilderValidators.required(), + FormBuilderValidators.email(), + FormBuilderValidators.maxLength(50), ])), TextInput( name: 'password', @@ -52,9 +52,9 @@ class FxSignUpSlider extends GetView { icon: Icons.vpn_key, obscureText: true, validator: FormBuilderValidators.compose([ - FormBuilderValidators.required(Get.context!), - FormBuilderValidators.maxLength(Get.context!, 50), - FormBuilderValidators.minLength(Get.context!, 8), + FormBuilderValidators.required(), + FormBuilderValidators.maxLength(50), + FormBuilderValidators.minLength(8), ])), TextInput( name: 'confirm_password', @@ -62,9 +62,9 @@ class FxSignUpSlider extends GetView { icon: Icons.vpn_key, obscureText: true, validator: FormBuilderValidators.compose([ - FormBuilderValidators.required(Get.context!), - FormBuilderValidators.maxLength(Get.context!, 50), - FormBuilderValidators.minLength(Get.context!, 8), + FormBuilderValidators.required(), + FormBuilderValidators.maxLength(50), + FormBuilderValidators.minLength(8), (val) { if (_formKey.currentState!.fields['password']?.value != val) { diff --git a/lib/screens/log_in/sliders/verify_email_slider.dart b/lib/screens/log_in/sliders/verify_email_slider.dart index 1aa4640..38163a7 100644 --- a/lib/screens/log_in/sliders/verify_email_slider.dart +++ b/lib/screens/log_in/sliders/verify_email_slider.dart @@ -47,7 +47,6 @@ class FxVerifyEmailSlider extends GetView { constraints: BoxConstraints.tightFor(width: Get.width, height: 48), child: ElevatedButton( - child: Text(Trns.next.val), onPressed: AuthService.to.isEmailVerified.value ? () { AuthService.to.authUser.value.isEmailVerified = true; @@ -55,6 +54,7 @@ class FxVerifyEmailSlider extends GetView { Get.off(() => Util.to.getHomeScreen())); } : null, + child: Text(Trns.next.val), ), ), ]), diff --git a/lib/screens/log_in/widgets/login_slider_master.dart b/lib/screens/log_in/widgets/login_slider_master.dart index b2fbeb0..12b01d7 100644 --- a/lib/screens/log_in/widgets/login_slider_master.dart +++ b/lib/screens/log_in/widgets/login_slider_master.dart @@ -33,7 +33,7 @@ class FxLoginSliderMaster extends GetView { heightFactor: 2, child: Text( title!, - style: Theme.of(context).textTheme.headline6, + style: Theme.of(context).textTheme.titleLarge, ), ), ], diff --git a/lib/screens/profile/profile_screen.dart b/lib/screens/profile/profile_screen.dart index 8173ca9..8b28df8 100644 --- a/lib/screens/profile/profile_screen.dart +++ b/lib/screens/profile/profile_screen.dart @@ -33,7 +33,6 @@ class FxProfileScreen extends ScreenMaster { return ScaffoldMaster(Trns.updateProfile.val, body: Obx( () => LoadingOverlay( - opacity: 0.0, isLoading: profileController.isLoading.value, child: Builder(builder: (context) { return SingleChildScrollView( @@ -59,16 +58,16 @@ class FxProfileScreen extends ScreenMaster { padding: const EdgeInsets.only(left: 100), child: ElevatedButton( onPressed: _readPhoto, + style: ElevatedButton.styleFrom( + shape: const CircleBorder(), + backgroundColor: + Theme.of(context).colorScheme.primary, + ), child: const Icon( Icons.add_a_photo, color: Colors.white, size: 16, ), - style: ElevatedButton.styleFrom( - shape: const CircleBorder(), - primary: - Theme.of(context).colorScheme.primary, - ), ), ) ], @@ -89,8 +88,8 @@ class FxProfileScreen extends ScreenMaster { icon: Icons.person_outline, obscureText: false, validator: FormBuilderValidators.compose([ - FormBuilderValidators.required(context), - FormBuilderValidators.maxLength(context, 50), + FormBuilderValidators.required(), + FormBuilderValidators.maxLength(50), ])), _getGenderTextField(context), TextDateTimePicker( @@ -104,7 +103,7 @@ class FxProfileScreen extends ScreenMaster { ? false : true, validator: FormBuilderValidators.compose( - [FormBuilderValidators.required(context)]), + [FormBuilderValidators.required()]), ), /* @@ -119,7 +118,7 @@ class FxProfileScreen extends ScreenMaster { enabled: AuthService.to.authUser.value.authType == AuthType.email, validator: FormBuilderValidators.compose([ - FormBuilderValidators.maxLength(context, 50), + FormBuilderValidators.maxLength(50), (val) { if (val != null && val.length < 8) { return Trns.warningMinimumPasswordLength.val; @@ -135,7 +134,7 @@ class FxProfileScreen extends ScreenMaster { AuthType.email, obscureText: true, validator: FormBuilderValidators.compose([ - FormBuilderValidators.maxLength(context, 50), + FormBuilderValidators.maxLength(50), (val) { if (_formKey.currentState!.fields['password'] ?.value != @@ -172,7 +171,7 @@ class FxProfileScreen extends ScreenMaster { var items = ["male", "female"]; var enabled = gender != null ? false : true; String? Function(dynamic) validator = FormBuilderValidators.compose( - [FormBuilderValidators.required(context)]); + [FormBuilderValidators.required()]); if (gender != null) { return TextDropdown( name: name, @@ -215,15 +214,16 @@ class FxProfileScreen extends ScreenMaster { const BoxConstraints(minWidth: 64, minHeight: 64), child: ElevatedButton( onPressed: () => _getImage(ImageSource.camera), + style: ElevatedButton.styleFrom( + shape: const CircleBorder(), + backgroundColor: + Theme.of(Get.context!).colorScheme.primary, + ), child: const Icon( Icons.camera_alt, color: Colors.white, size: 40, ), - style: ElevatedButton.styleFrom( - shape: const CircleBorder(), - primary: Theme.of(Get.context!).colorScheme.primary, - ), ), ), const SizedBox(height: 8), @@ -238,15 +238,16 @@ class FxProfileScreen extends ScreenMaster { const BoxConstraints(minWidth: 64, minHeight: 64), child: ElevatedButton( onPressed: () => _getImage(ImageSource.gallery), + style: ElevatedButton.styleFrom( + shape: const CircleBorder(), + backgroundColor: + Theme.of(Get.context!).colorScheme.primary, + ), child: const Icon( Icons.photo, color: Colors.white, size: 40, ), - style: ElevatedButton.styleFrom( - shape: const CircleBorder(), - primary: Theme.of(Get.context!).colorScheme.primary, - ), ), ), const SizedBox(height: 8), @@ -262,22 +263,24 @@ class FxProfileScreen extends ScreenMaster { _getImage(ImageSource imageSource) async { Get.back(); final pickedFile = await (imagePicker.pickImage(source: imageSource)); - File? croppedFile = await (ImageCropper.cropImage( + CroppedFile? croppedFile = await ImageCropper().cropImage( sourcePath: pickedFile!.path, maxWidth: 512, maxHeight: 512, aspectRatioPresets: [ CropAspectRatioPreset.square, ], - androidUiSettings: const AndroidUiSettings( - toolbarTitle: "Crop Image", - toolbarColor: Colors.black, - toolbarWidgetColor: Colors.white, - initAspectRatio: CropAspectRatioPreset.square, - lockAspectRatio: true), - iosUiSettings: const IOSUiSettings( - minimumAspectRatio: 1.0, - ))); + uiSettings: [ + AndroidUiSettings( + toolbarTitle: "Crop Image", + toolbarColor: Colors.black, + toolbarWidgetColor: Colors.white, + initAspectRatio: CropAspectRatioPreset.square, + lockAspectRatio: true), + IOSUiSettings( + minimumAspectRatio: 1.0, + ), + ]); controller.imageFile.value = File(croppedFile!.path); } } diff --git a/lib/screens/sign_up/sign_up_screen.dart b/lib/screens/sign_up/sign_up_screen.dart index 2cb0199..2971c05 100644 --- a/lib/screens/sign_up/sign_up_screen.dart +++ b/lib/screens/sign_up/sign_up_screen.dart @@ -20,7 +20,6 @@ class FxSignUpScreen extends ScreenMaster { return ScaffoldMaster(Trns.signUp.val, body: Obx( () => LoadingOverlay( - opacity: 0.0, isLoading: controller.isLoading.value, child: SingleChildScrollView( child: Column(children: [ diff --git a/lib/screens/splash/splash_controller.dart b/lib/screens/splash/splash_controller.dart index 5552057..76a9fba 100644 --- a/lib/screens/splash/splash_controller.dart +++ b/lib/screens/splash/splash_controller.dart @@ -5,7 +5,6 @@ import 'package:firebase_auth/firebase_auth.dart'; import '../../../../consts/login_sliders.dart'; import '../../../../flexus_framework.dart'; -import '../../../../screens/front/front_screen.dart'; import '../../../../screens/log_in/log_in_screen.dart'; import '../../imports.dart'; import '../../services/auth_service.dart'; diff --git a/lib/util.dart b/lib/util.dart index 8456819..135ff44 100644 --- a/lib/util.dart +++ b/lib/util.dart @@ -26,7 +26,7 @@ class Util extends GetxController { lineLength: 50, colors: true, printEmojis: true, - printTime: false, + dateTimeFormat: DateTimeFormat.none, )); Logger logger() { diff --git a/lib/widgets/appbar_action_button.dart b/lib/widgets/appbar_action_button.dart index e3e6d57..31daf74 100644 --- a/lib/widgets/appbar_action_button.dart +++ b/lib/widgets/appbar_action_button.dart @@ -16,17 +16,17 @@ class AppBarActionButton extends StatelessWidget { return Padding( padding: const EdgeInsets.all(4.0), child: ElevatedButton( - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [icon, Text(title)], - ), style: ElevatedButton.styleFrom( minimumSize: const Size(20.0, 20.0), side: null, elevation: 0, - primary: Colors.transparent, + backgroundColor: Colors.transparent, padding: const EdgeInsets.only(left: 8.0, right: 8.0)), onPressed: onPressed, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [icon, Text(title)], + ), ), ); } diff --git a/lib/widgets/dialog_box_button.dart b/lib/widgets/dialog_box_button.dart index 28509f5..a7a61a5 100644 --- a/lib/widgets/dialog_box_button.dart +++ b/lib/widgets/dialog_box_button.dart @@ -16,8 +16,8 @@ class DialogBoxButton extends StatelessWidget { child: ElevatedButton( onPressed: onPressed, style: ElevatedButton.styleFrom( - primary: Get.theme.colorScheme.primary, - onPrimary: Get.theme.colorScheme.onPrimary, + backgroundColor: Get.theme.colorScheme.primary, + foregroundColor: Get.theme.colorScheme.onPrimary, elevation: 1, ), child: Text( diff --git a/lib/widgets/login_button.dart b/lib/widgets/login_button.dart index a2ad0c6..da5e6be 100644 --- a/lib/widgets/login_button.dart +++ b/lib/widgets/login_button.dart @@ -17,13 +17,14 @@ class LoginButton extends StatelessWidget { height: 48, child: ElevatedButton( style: ElevatedButton.styleFrom( - primary: Get.theme.colorScheme.surface, + backgroundColor: Get.theme.colorScheme.surface, shape: RoundedRectangleBorder( side: BorderSide( width: 1.0, color: Get.theme.colorScheme.onBackground), borderRadius: BorderRadius.circular(8.0), ), ), + onPressed: onClick, child: Stack( children: [ Align(alignment: Alignment.centerLeft, child: icon), @@ -33,8 +34,7 @@ class LoginButton extends StatelessWidget { style: TextStyle(color: Get.theme.colorScheme.onSurface))), ], - ), - onPressed: onClick), + )), ), ); } diff --git a/lib/widgets/text_dropdown.dart b/lib/widgets/text_dropdown.dart index c480c86..94a4b5a 100644 --- a/lib/widgets/text_dropdown.dart +++ b/lib/widgets/text_dropdown.dart @@ -40,6 +40,7 @@ class TextDropdown extends StatelessWidget { : Get.theme.disabledColor, ), labelText: label, + hintText: hint, focusedBorder: OutlineInputBorder( borderSide: BorderSide(color: Get.theme.colorScheme.secondary), ), @@ -52,11 +53,6 @@ class TextDropdown extends StatelessWidget { color: enabled ? Get.theme.colorScheme.onBackground : Get.theme.disabledColor)), - allowClear: allowClear, - hint: Text( - hint!, - style: TextStyle(color: Get.theme.colorScheme.onBackground), - ), style: TextStyle( color: Get.theme.colorScheme.onBackground, ), diff --git a/pubspec.lock b/pubspec.lock index a8cb5d7..9f54928 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -1,209 +1,310 @@ # Generated by pub # See https://dart.dev/tools/pub/glossary#lockfile packages: + _fe_analyzer_shared: + dependency: transitive + description: + name: _fe_analyzer_shared + sha256: ae92f5d747aee634b87f89d9946000c2de774be1d6ac3e58268224348cd0101a + url: "https://pub.dev" + source: hosted + version: "61.0.0" + _flutterfire_internals: + dependency: transitive + description: + name: _flutterfire_internals + sha256: f5628cd9c92ed11083f425fd1f8f1bc60ecdda458c81d73b143aeda036c35fe7 + url: "https://pub.dev" + source: hosted + version: "1.3.16" + analyzer: + dependency: transitive + description: + name: analyzer + sha256: ea3d8652bda62982addfd92fdc2d0214e5f82e43325104990d4f4c4a2a313562 + url: "https://pub.dev" + source: hosted + version: "5.13.0" + args: + dependency: transitive + description: + name: args + sha256: eef6c46b622e0494a36c5a12d10d77fb4e855501a91c1b9ef9339326e58f0596 + url: "https://pub.dev" + source: hosted + version: "2.4.2" async: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.8.2" + version: "2.10.0" boolean_selector: dependency: transitive description: name: boolean_selector - url: "https://pub.dartlang.org" + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" carousel_slider: dependency: "direct main" description: name: carousel_slider - url: "https://pub.dartlang.org" + sha256: febf4b0163e0242adc13d7a863b04965351f59e7dfea56675c7c2caa7bcd7476 + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.1.2" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" - source: hosted - version: "1.2.0" - charcode: - dependency: transitive - description: - name: charcode - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted - version: "1.3.1" + version: "1.2.1" clock: dependency: transitive description: name: clock - url: "https://pub.dartlang.org" + sha256: cb6d7f03e1de671e34607e909a7213e31d7752be4fb66a86d29fe1eb14bfb5cf + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.1.1" cloud_firestore: dependency: "direct main" description: name: cloud_firestore - url: "https://pub.dartlang.org" + sha256: "8bfbb5a2edbc6052452326d60de0113fea2bcbf081d34a3f8e45c8b38307b31c" + url: "https://pub.dev" source: hosted - version: "3.1.7" + version: "4.14.0" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface - url: "https://pub.dartlang.org" + sha256: "73ff438fe46028f0e19f55da18b6ddc6906ab750562cd7d9ffab77ff8c0c4307" + url: "https://pub.dev" source: hosted - version: "5.4.12" + version: "6.1.0" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web - url: "https://pub.dartlang.org" + sha256: "232e45e95970d3a6baab8f50f9c3a6e2838d145d9d91ec9a7392837c44296397" + url: "https://pub.dev" source: hosted - version: "2.6.7" + version: "3.9.0" collection: dependency: "direct main" description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" + source: hosted + version: "1.17.0" + convert: + dependency: transitive + description: + name: convert + sha256: "0f08b14755d163f6e2134cb58222dd25ea2a2ee8a195e53983d57c075324d592" + url: "https://pub.dev" source: hosted - version: "1.15.0" + version: "3.1.1" cross_file: dependency: transitive description: name: cross_file - url: "https://pub.dartlang.org" + sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c" + url: "https://pub.dev" source: hosted - version: "0.3.1+5" + version: "0.3.3+6" crypto: - dependency: transitive + dependency: "direct main" description: name: crypto - url: "https://pub.dartlang.org" + sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "3.0.3" device_frame: dependency: transitive description: name: device_frame - url: "https://pub.dartlang.org" + sha256: afe76182aec178d171953d9b4a50a43c57c7cf3c77d8b09a48bf30c8fa04dd9d + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.1.0" device_preview: dependency: "direct main" description: name: device_preview - url: "https://pub.dartlang.org" + sha256: "2f097bf31b929e15e6756dbe0ec1bcb63952ab9ed51c25dc5a2c722d2b21fdaf" + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "1.1.0" + facebook_auth_desktop: + dependency: transitive + description: + name: facebook_auth_desktop + sha256: "35ff7b8c62ad37c4bc08eed7d58cf301ab8770a2f4eed46573843ae1e1a1aac3" + url: "https://pub.dev" + source: hosted + version: "0.0.9" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.3.1" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: ed5337a5660c506388a9f012be0288fb38b49020ce2b45fe1f8b8323fe429f99 + url: "https://pub.dev" source: hosted - version: "1.1.2" + version: "2.0.2" file: dependency: transitive description: name: file - url: "https://pub.dartlang.org" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" + source: hosted + version: "6.1.4" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + url: "https://pub.dev" + source: hosted + version: "0.9.2+1" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + url: "https://pub.dev" + source: hosted + version: "0.9.3+3" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + url: "https://pub.dev" + source: hosted + version: "2.6.1" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "0.9.3+1" firebase_analytics: dependency: "direct main" description: name: firebase_analytics - url: "https://pub.dartlang.org" + sha256: "0240076090d77045d757aecb090616066d23b343840d4c21074094d6fe40a184" + url: "https://pub.dev" source: hosted - version: "9.1.0" + version: "10.8.0" firebase_analytics_platform_interface: dependency: transitive description: name: firebase_analytics_platform_interface - url: "https://pub.dartlang.org" + sha256: "6d9baa077d16b47ef5f19d982c4fc475597991aa53b0c601216faa3e1cdab45f" + url: "https://pub.dev" source: hosted - version: "3.0.5" + version: "3.9.0" firebase_analytics_web: dependency: transitive description: name: firebase_analytics_web - url: "https://pub.dartlang.org" + sha256: "89a740249bce9d52a99db4e501be6087ca6749c73c47cff2b174802be10abd81" + url: "https://pub.dev" source: hosted - version: "0.4.0+6" + version: "0.5.5+12" firebase_auth: dependency: "direct main" description: name: firebase_auth - url: "https://pub.dartlang.org" + sha256: "279b2773ff61afd9763202cb5582e2b995ee57419d826b9af6517302a59b672f" + url: "https://pub.dev" source: hosted - version: "3.3.6" + version: "4.16.0" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface - url: "https://pub.dartlang.org" + sha256: "3c9cfaccb7549492edf5b0c67c6dd1c6727c7830891aa6727f2fb225f0226626" + url: "https://pub.dev" source: hosted - version: "6.1.11" + version: "7.0.9" firebase_auth_web: dependency: transitive description: name: firebase_auth_web - url: "https://pub.dartlang.org" + sha256: c7b1379ccef7abf4b6816eede67a868c44142198e42350f51c01d8fc03f95a7d + url: "https://pub.dev" source: hosted - version: "3.3.7" + version: "5.8.13" firebase_core: dependency: transitive description: name: firebase_core - url: "https://pub.dartlang.org" + sha256: "96607c0e829a581c2a483c658f04e8b159964c3bae2730f73297070bc85d40bb" + url: "https://pub.dev" source: hosted - version: "1.10.6" + version: "2.24.2" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - url: "https://pub.dartlang.org" + sha256: "1003a5a03a61fc9a22ef49f37cbcb9e46c86313a7b2e7029b9390cf8c6fc32cb" + url: "https://pub.dev" source: hosted - version: "4.2.4" + version: "5.1.0" firebase_core_web: dependency: transitive description: name: firebase_core_web - url: "https://pub.dartlang.org" + sha256: d585bdf3c656c3f7821ba1bd44da5f13365d22fcecaf5eb75c4295246aaa83c0 + url: "https://pub.dev" source: hosted - version: "1.5.4" + version: "2.10.0" firebase_storage: dependency: "direct main" description: name: firebase_storage - url: "https://pub.dartlang.org" + sha256: "75e6cb6bed65138b5bbd86bfd7cf9bc9a175fb0c31aacc400e9203df117ffbe6" + url: "https://pub.dev" source: hosted - version: "10.2.7" + version: "11.6.0" firebase_storage_platform_interface: dependency: transitive description: name: firebase_storage_platform_interface - url: "https://pub.dartlang.org" + sha256: "545a3a8edf337850403bb0fa03c8074a53deb87c0107d19755c77a82ce07919e" + url: "https://pub.dev" source: hosted - version: "4.0.14" + version: "5.1.3" firebase_storage_web: dependency: transitive description: name: firebase_storage_web - url: "https://pub.dartlang.org" + sha256: ee6870ff79aa304b8996ba18a4aefe1e8b3fc31fd385eab6574180267aa8d393 + url: "https://pub.dev" source: hosted - version: "3.2.8" + version: "3.6.17" flutter: dependency: "direct main" description: flutter @@ -213,44 +314,50 @@ packages: dependency: "direct main" description: name: flutter_facebook_auth - url: "https://pub.dartlang.org" + sha256: "2ed18ea374919fbca4c85383957662674d23f6f3901dfbf603f8d54cab10d050" + url: "https://pub.dev" source: hosted - version: "4.0.1" + version: "5.0.11" flutter_facebook_auth_platform_interface: dependency: transitive description: name: flutter_facebook_auth_platform_interface - url: "https://pub.dartlang.org" + sha256: "0bc5fefc89b012635c4424a34334215e81e0ff38c5b413f869fd9c14a10c6135" + url: "https://pub.dev" source: hosted - version: "3.0.1" + version: "4.1.1" flutter_facebook_auth_web: dependency: transitive description: name: flutter_facebook_auth_web - url: "https://pub.dartlang.org" + sha256: "6dfd4a3844137fbf7eb4c8d753add1ca15233b280a73a3360d9af46b87680678" + url: "https://pub.dev" source: hosted - version: "3.0.0+1" + version: "4.1.1" flutter_flavor: dependency: "direct main" description: name: flutter_flavor - url: "https://pub.dartlang.org" + sha256: "7740f2b15598ba67f9306ef41ad462ef92036d7cb7928d9da16908e139a7f618" + url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.1.1" flutter_form_builder: dependency: "direct main" description: name: flutter_form_builder - url: "https://pub.dartlang.org" + sha256: "236c96dad143a0e67c0f11522606d6b17b6510e97530cb73af355b018ded7c10" + url: "https://pub.dev" source: hosted - version: "7.1.0" + version: "8.0.0" flutter_lints: dependency: "direct dev" description: name: flutter_lints - url: "https://pub.dartlang.org" + sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + url: "https://pub.dev" source: hosted - version: "1.0.4" + version: "2.0.3" flutter_localizations: dependency: transitive description: flutter @@ -260,9 +367,58 @@ packages: dependency: transitive description: name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" + sha256: b068ffc46f82a55844acfa4fdbb61fad72fa2aef0905548419d97f0f95c456da + url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "2.0.17" + flutter_secure_storage: + dependency: transitive + description: + name: flutter_secure_storage + sha256: "22dbf16f23a4bcf9d35e51be1c84ad5bb6f627750565edd70dab70f3ff5fff8f" + url: "https://pub.dev" + source: hosted + version: "8.1.0" + flutter_secure_storage_linux: + dependency: transitive + description: + name: flutter_secure_storage_linux + sha256: be76c1d24a97d0b98f8b54bce6b481a380a6590df992d0098f868ad54dc8f688 + url: "https://pub.dev" + source: hosted + version: "1.2.3" + flutter_secure_storage_macos: + dependency: transitive + description: + name: flutter_secure_storage_macos + sha256: "6c0a2795a2d1de26ae202a0d78527d163f4acbb11cde4c75c670f3a0fc064247" + url: "https://pub.dev" + source: hosted + version: "3.1.3" + flutter_secure_storage_platform_interface: + dependency: transitive + description: + name: flutter_secure_storage_platform_interface + sha256: cf91ad32ce5adef6fba4d736a542baca9daf3beac4db2d04be350b87f69ac4a8 + url: "https://pub.dev" + source: hosted + version: "1.1.2" + flutter_secure_storage_web: + dependency: transitive + description: + name: flutter_secure_storage_web + sha256: f4ebff989b4f07b2656fb16b47852c0aab9fed9b4ec1c70103368337bc1886a9 + url: "https://pub.dev" + source: hosted + version: "1.2.1" + flutter_secure_storage_windows: + dependency: transitive + description: + name: flutter_secure_storage_windows + sha256: "38f9501c7cb6f38961ef0e1eacacee2b2d4715c63cc83fe56449c4d3d0b47255" + url: "https://pub.dev" + source: hosted + version: "2.1.1" flutter_test: dependency: "direct dev" description: flutter @@ -277,406 +433,520 @@ packages: dependency: "direct main" description: name: focus_detector - url: "https://pub.dartlang.org" + sha256: "05e32d9dd378cd54f1a3f9ce813c05156f28eb83f8e68f5bf1a37e9cdb21af1c" + url: "https://pub.dev" source: hosted version: "2.0.1" font_awesome_flutter: dependency: "direct main" description: name: font_awesome_flutter - url: "https://pub.dartlang.org" + sha256: "959ef4add147753f990b4a7c6cccb746d5792dbdc81b1cde99e62e7edb31b206" + url: "https://pub.dev" source: hosted - version: "9.2.0" + version: "10.4.0" form_builder_validators: dependency: "direct main" description: name: form_builder_validators - url: "https://pub.dartlang.org" + sha256: f2d90439c56345c23ad8d0c2912e4002cd02563d816f4387c9495051c10d3321 + url: "https://pub.dev" source: hosted - version: "7.4.0" + version: "8.6.1" freezed_annotation: dependency: transitive description: name: freezed_annotation - url: "https://pub.dartlang.org" + sha256: c3fd9336eb55a38cc1bbd79ab17573113a8deccd0ecbbf926cca3c62803b5c2d + url: "https://pub.dev" source: hosted - version: "1.0.0" + version: "2.4.1" get: dependency: "direct main" description: name: get - url: "https://pub.dartlang.org" + sha256: "2ba20a47c8f1f233bed775ba2dd0d3ac97b4cf32fc17731b3dfc672b06b0e92a" + url: "https://pub.dev" + source: hosted + version: "4.6.5" + glob: + dependency: transitive + description: + name: glob + sha256: "0e7014b3b7d4dac1ca4d6114f82bf1782ee86745b9b42a92c9289c23d8a0ab63" + url: "https://pub.dev" source: hosted - version: "4.6.1" + version: "2.1.2" google_fonts: dependency: "direct main" description: name: google_fonts - url: "https://pub.dartlang.org" + sha256: "6b6f10f0ce3c42f6552d1c70d2c28d764cf22bb487f50f66cca31dcd5194f4d6" + url: "https://pub.dev" source: hosted - version: "2.3.1" + version: "4.0.4" + google_identity_services_web: + dependency: transitive + description: + name: google_identity_services_web + sha256: "000b7a31e1fa17ee04b6c0553a2b2ea18f9f9352e4dcc0c9fcc785cf10f2484e" + url: "https://pub.dev" + source: hosted + version: "0.2.2" google_sign_in: dependency: "direct main" description: name: google_sign_in - url: "https://pub.dartlang.org" + sha256: "8f8b94880f2753ccb796744259da529674e49b9af2e372abf6978c590c0ebfef" + url: "https://pub.dev" + source: hosted + version: "6.1.6" + google_sign_in_android: + dependency: transitive + description: + name: google_sign_in_android + sha256: "6031f59074a337fdd81be821aba84cee3a41338c6e958499a5cd34d3e1db80ef" + url: "https://pub.dev" + source: hosted + version: "6.1.20" + google_sign_in_ios: + dependency: transitive + description: + name: google_sign_in_ios + sha256: "81495441405c138e3c638f5097bebaa0db644567b3976e08944cfb8926ff2e6d" + url: "https://pub.dev" source: hosted - version: "5.2.3" + version: "5.6.5" google_sign_in_platform_interface: dependency: transitive description: name: google_sign_in_platform_interface - url: "https://pub.dartlang.org" + sha256: "35ceee5f0eadc1c07b0b4af7553246e315c901facbb7d3dadf734ba2693ceec4" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.4.2" google_sign_in_web: dependency: transitive description: name: google_sign_in_web - url: "https://pub.dartlang.org" + sha256: b48263e47f9493ba4120ccdfffe7412549ee297e82b97be9b8fa16ea8919ffbe + url: "https://pub.dev" source: hosted - version: "0.10.0+3" + version: "0.12.0+4" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "5895291c13fa8a3bd82e76d5627f69e0d85ca6a30dcac95c4ea19a5d555879c2" + url: "https://pub.dev" source: hosted - version: "0.13.4" + version: "0.13.6" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: "2aa08ce0341cc9b354a498388e30986515406668dbcc4f7c950c3e715496693b" + url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "4.0.2" image_cropper: dependency: "direct main" description: name: image_cropper - url: "https://pub.dartlang.org" + sha256: "542c3453109d16bcc388e43ae2276044d2cd6a6d20c68bdcff2c94ab9363ea15" + url: "https://pub.dev" source: hosted - version: "1.4.1" + version: "4.0.1" + image_cropper_for_web: + dependency: transitive + description: + name: image_cropper_for_web + sha256: "89c936aa772a35b69ca67b78049ae9fa163a4fb8da2f6dee3893db8883fb49d2" + url: "https://pub.dev" + source: hosted + version: "2.0.0" + image_cropper_platform_interface: + dependency: transitive + description: + name: image_cropper_platform_interface + sha256: b232175c132b2f7ede3e1f101652bcd635cb4079a77c6dded8e6d32e6578d685 + url: "https://pub.dev" + source: hosted + version: "4.0.0" image_picker: dependency: "direct main" description: name: image_picker - url: "https://pub.dartlang.org" + sha256: "7d7f2768df2a8b0a3cefa5ef4f84636121987d403130e70b17ef7e2cf650ba84" + url: "https://pub.dev" source: hosted - version: "0.8.4+7" + version: "1.0.4" + image_picker_android: + dependency: transitive + description: + name: image_picker_android + sha256: d6a6e78821086b0b737009b09363018309bbc6de3fd88cc5c26bc2bb44a4957f + url: "https://pub.dev" + source: hosted + version: "0.8.8+2" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - url: "https://pub.dartlang.org" + sha256: "50bc9ae6a77eea3a8b11af5eb6c661eeb858fdd2f734c2a4fd17086922347ef7" + url: "https://pub.dev" source: hosted - version: "2.1.3" + version: "3.0.1" + image_picker_ios: + dependency: transitive + description: + name: image_picker_ios + sha256: "76ec722aeea419d03aa915c2c96bf5b47214b053899088c9abb4086ceecf97a7" + url: "https://pub.dev" + source: hosted + version: "0.8.8+4" + image_picker_linux: + dependency: transitive + description: + name: image_picker_linux + sha256: "4ed1d9bb36f7cd60aa6e6cd479779cc56a4cb4e4de8f49d487b1aaad831300fa" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" + image_picker_macos: + dependency: transitive + description: + name: image_picker_macos + sha256: "3f5ad1e8112a9a6111c46d0b57a7be2286a9a07fc6e1976fdf5be2bd31d4ff62" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface - url: "https://pub.dartlang.org" + sha256: ed9b00e63977c93b0d2d2b343685bed9c324534ba5abafbb3dfbd6a780b1b514 + url: "https://pub.dev" source: hosted - version: "2.4.1" + version: "2.9.1" + image_picker_windows: + dependency: transitive + description: + name: image_picker_windows + sha256: "6ad07afc4eb1bc25f3a01084d28520496c4a3bb0cb13685435838167c9dcedeb" + url: "https://pub.dev" + source: hosted + version: "0.2.1+1" intl: dependency: "direct main" description: name: intl - url: "https://pub.dartlang.org" + sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91" + url: "https://pub.dev" source: hosted version: "0.17.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted - version: "0.6.3" + version: "0.6.5" json_annotation: dependency: transitive description: name: json_annotation - url: "https://pub.dartlang.org" + sha256: b10a7b2ff83d83c777edba3c6a0f97045ddadd56c944e1a23a3fdf43a1bf4467 + url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "4.8.1" lints: dependency: transitive description: name: lints - url: "https://pub.dartlang.org" + sha256: "5e4a9cd06d447758280a8ac2405101e0e2094d2a1dbdd3756aec3fe7775ba593" + url: "https://pub.dev" source: hosted - version: "1.0.1" + version: "2.0.1" loading_overlay: dependency: "direct main" description: name: loading_overlay - url: "https://pub.dartlang.org" + sha256: "3f8ac2ceec2188ebb4704bd3036c9425f726fb4b67edab9f20db894274eef7dc" + url: "https://pub.dev" source: hosted - version: "0.3.0" + version: "0.5.0" logger: dependency: "direct main" description: name: logger - url: "https://pub.dartlang.org" + sha256: "25aee487596a6257655a1e091ec2ae66bc30e7af663592cc3a27e6591e05035c" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "2.7.0" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.11" + version: "0.12.13" material_color_utilities: dependency: transitive description: name: material_color_utilities - url: "https://pub.dartlang.org" + sha256: d92141dc6fe1dad30722f9aa826c7fbc896d021d792f80678280601aff8cf724 + url: "https://pub.dev" source: hosted - version: "0.1.3" + version: "0.2.0" meta: dependency: transitive description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" + source: hosted + version: "1.8.0" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" source: hosted - version: "1.7.0" + version: "1.0.4" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" network_to_file_image: dependency: "direct main" description: name: network_to_file_image - url: "https://pub.dartlang.org" - source: hosted - version: "3.1.0" - package_info_plus: - dependency: "direct main" - description: - name: package_info_plus - url: "https://pub.dartlang.org" + sha256: "47528730539abf61ea9b5edf30fe2803b5f8212b2049e1a6cb3b564acadc46dc" + url: "https://pub.dev" source: hosted - version: "1.3.0" - package_info_plus_linux: + version: "4.0.1" + package_config: dependency: transitive description: - name: package_info_plus_linux - url: "https://pub.dartlang.org" + name: package_config + sha256: "1c5b77ccc91e4823a5af61ee74e6b972db1ef98c2ff5a18d3161c982a55448bd" + url: "https://pub.dev" source: hosted - version: "1.0.3" - package_info_plus_macos: - dependency: transitive + version: "2.1.0" + package_info_plus: + dependency: "direct main" description: - name: package_info_plus_macos - url: "https://pub.dartlang.org" + name: package_info_plus + sha256: "7e76fad405b3e4016cd39d08f455a4eb5199723cf594cd1b8916d47140d93017" + url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "4.2.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.2" - package_info_plus_web: - dependency: transitive - description: - name: package_info_plus_web - url: "https://pub.dartlang.org" + sha256: "9bc8ba46813a4cc42c66ab781470711781940780fd8beddd0c3da62506d3a6c6" + url: "https://pub.dev" source: hosted - version: "1.0.4" - package_info_plus_windows: - dependency: transitive - description: - name: package_info_plus_windows - url: "https://pub.dartlang.org" - source: hosted - version: "1.0.4" + version: "2.0.1" path: - dependency: transitive + dependency: "direct main" description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted - version: "1.8.0" + version: "1.8.2" path_provider: dependency: "direct main" description: name: path_provider - url: "https://pub.dartlang.org" + sha256: a1aa8aaa2542a6bc57e381f132af822420216c80d4781f7aa085ca3229208aaa + url: "https://pub.dev" source: hosted - version: "2.0.8" + version: "2.1.1" path_provider_android: dependency: transitive description: name: path_provider_android - url: "https://pub.dartlang.org" + sha256: e595b98692943b4881b219f0a9e3945118d3c16bd7e2813f98ec6e532d905f72 + url: "https://pub.dev" source: hosted - version: "2.0.8" - path_provider_ios: + version: "2.2.1" + path_provider_foundation: dependency: transitive description: - name: path_provider_ios - url: "https://pub.dartlang.org" + name: path_provider_foundation + sha256: "19314d595120f82aca0ba62787d58dde2cc6b5df7d2f0daf72489e38d1b57f2d" + url: "https://pub.dev" source: hosted - version: "2.0.7" + version: "2.3.1" path_provider_linux: dependency: transitive description: name: path_provider_linux - url: "https://pub.dartlang.org" - source: hosted - version: "2.1.0" - path_provider_macos: - dependency: transitive - description: - name: path_provider_macos - url: "https://pub.dartlang.org" + sha256: f7a1fe3a634fe7734c8d3f2766ad746ae2a2884abe22e241a8b301bf5cac3279 + url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.2.1" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - url: "https://pub.dartlang.org" + sha256: "94b1e0dd80970c1ce43d5d4e050a9918fce4f4a775e6142424c30a29a363265c" + url: "https://pub.dev" source: hosted - version: "2.0.1" + version: "2.1.1" path_provider_windows: dependency: transitive description: name: path_provider_windows - url: "https://pub.dartlang.org" + sha256: "8bc9f22eee8690981c22aa7fc602f5c85b497a6fb2ceb35ee5a5e5ed85ad8170" + url: "https://pub.dev" source: hosted - version: "2.0.3" - petitparser: + version: "2.2.1" + pigeon: dependency: transitive description: - name: petitparser - url: "https://pub.dartlang.org" + name: pigeon + sha256: "5a79fd0b10423f6b5705525e32015597f861c31220b522a67d1e6b580da96719" + url: "https://pub.dev" source: hosted - version: "4.4.0" + version: "11.0.1" platform: dependency: transitive description: name: platform - url: "https://pub.dartlang.org" + sha256: "0a279f0707af40c890e80b1e9df8bb761694c074ba7e1d4ab1bc4b728e200b59" + url: "https://pub.dev" source: hosted - version: "3.0.2" + version: "3.1.3" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: da3fdfeccc4d4ff2da8f8c556704c08f912542c5fb3cf2233ed75372384a034d + url: "https://pub.dev" source: hosted - version: "2.0.2" - process: + version: "2.1.6" + provider: dependency: transitive description: - name: process - url: "https://pub.dartlang.org" + name: provider + sha256: "4e82183fa20e5ca25703ead7e05de9e4cceed1fbd1eadc1ac3cb6f565a09f272" + url: "https://pub.dev" source: hosted - version: "4.2.4" - provider: + version: "6.1.5+1" + pub_semver: dependency: transitive description: - name: provider - url: "https://pub.dartlang.org" + name: pub_semver + sha256: "40d3ab1bbd474c4c2328c91e3a7df8c6dd629b79ece4c4bd04bee496a224fb0c" + url: "https://pub.dev" source: hosted - version: "6.0.1" + version: "2.1.4" quiver: dependency: transitive description: name: quiver - url: "https://pub.dartlang.org" + sha256: ea0b925899e64ecdfbf9c7becb60d5b50e706ade44a85b2363be2a22d88117d2 + url: "https://pub.dev" source: hosted - version: "3.0.1+1" + version: "3.2.2" shared_preferences: dependency: transitive description: name: shared_preferences - url: "https://pub.dartlang.org" + sha256: "81429e4481e1ccfb51ede496e916348668fd0921627779233bd24cc3ff6abd02" + url: "https://pub.dev" source: hosted - version: "2.0.9" + version: "2.2.2" shared_preferences_android: dependency: transitive description: name: shared_preferences_android - url: "https://pub.dartlang.org" + sha256: "8568a389334b6e83415b6aae55378e158fbc2314e074983362d20c562780fb06" + url: "https://pub.dev" source: hosted - version: "2.0.9" - shared_preferences_ios: + version: "2.2.1" + shared_preferences_foundation: dependency: transitive description: - name: shared_preferences_ios - url: "https://pub.dartlang.org" + name: shared_preferences_foundation + sha256: "7bf53a9f2d007329ee6f3df7268fd498f8373602f943c975598bbb34649b62a7" + url: "https://pub.dev" source: hosted - version: "2.0.8" + version: "2.3.4" shared_preferences_linux: dependency: transitive description: name: shared_preferences_linux - url: "https://pub.dartlang.org" + sha256: "9f2cbcf46d4270ea8be39fa156d86379077c8a5228d9dfdb1164ae0bb93f1faa" + url: "https://pub.dev" source: hosted - version: "2.0.2" - shared_preferences_macos: - dependency: transitive - description: - name: shared_preferences_macos - url: "https://pub.dartlang.org" - source: hosted - version: "2.0.2" + version: "2.3.2" shared_preferences_platform_interface: dependency: transitive description: name: shared_preferences_platform_interface - url: "https://pub.dartlang.org" + sha256: d4ec5fc9ebb2f2e056c617112aa75dcf92fc2e4faaf2ae999caa297473f75d8a + url: "https://pub.dev" source: hosted - version: "2.0.0" + version: "2.3.1" shared_preferences_web: dependency: transitive description: name: shared_preferences_web - url: "https://pub.dartlang.org" + sha256: d762709c2bbe80626ecc819143013cc820fa49ca5e363620ee20a8b15a3e3daf + url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.2.1" shared_preferences_windows: dependency: transitive description: name: shared_preferences_windows - url: "https://pub.dartlang.org" + sha256: "841ad54f3c8381c480d0c9b508b89a34036f512482c407e6df7a9c4aa2ef8f59" + url: "https://pub.dev" source: hosted - version: "2.0.2" + version: "2.3.2" sign_in_with_apple: dependency: "direct main" description: name: sign_in_with_apple - url: "https://pub.dartlang.org" + sha256: "0975c23b9f8b30a80e27d5659a75993a093d4cb5f4eb7d23a9ccc586fea634e0" + url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "5.0.0" sign_in_with_apple_platform_interface: dependency: transitive description: name: sign_in_with_apple_platform_interface - url: "https://pub.dartlang.org" + sha256: a5883edee09ed6be19de19e7d9f618a617fe41a6fa03f76d082dfb787e9ea18d + url: "https://pub.dev" source: hosted version: "1.0.0" sign_in_with_apple_web: dependency: transitive description: name: sign_in_with_apple_web - url: "https://pub.dartlang.org" + sha256: "44b66528f576e77847c14999d5e881e17e7223b7b0625a185417829e5306f47a" + url: "https://pub.dev" source: hosted version: "1.0.1" sizer: dependency: "direct main" description: name: sizer - url: "https://pub.dartlang.org" + sha256: d2b3cb6cbc4a637f508dacd786bae55df31e5fc088044248a43e4fd1e050c117 + url: "https://pub.dev" source: hosted version: "2.0.15" sky_engine: @@ -688,100 +958,114 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.8.1" + version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - url: "https://pub.dartlang.org" + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 + url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" stream_channel: dependency: transitive description: name: stream_channel - url: "https://pub.dartlang.org" + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.0" + version: "1.2.0" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" test_api: dependency: transitive description: name: test_api - url: "https://pub.dartlang.org" + sha256: ad540f65f92caa91bf21dfc8ffb8c589d6e4dc0c2267818b4cc2792857706206 + url: "https://pub.dev" source: hosted - version: "0.4.8" + version: "0.4.16" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: facc8d6582f16042dd49f2463ff1bd6e2c9ef9f3d5da3d9b087e244a7b564b3c + url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.3.2" universal_io: dependency: transitive description: name: universal_io - url: "https://pub.dartlang.org" + sha256: "06866290206d196064fd61df4c7aea1ffe9a4e7c4ccaa8fcded42dd41948005d" + url: "https://pub.dev" source: hosted - version: "2.0.4" + version: "2.2.0" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "2.1.4" visibility_detector: dependency: "direct main" description: name: visibility_detector - url: "https://pub.dartlang.org" + sha256: ec932527913f32f65aa01d3a393504240b9e9021ecc77123f017755605e48832 + url: "https://pub.dev" source: hosted version: "0.2.2" + watcher: + dependency: transitive + description: + name: watcher + sha256: "6a7f46926b01ce81bfc339da6a7f20afbe7733eff9846f6d6a5466aa4c6667c0" + url: "https://pub.dev" + source: hosted + version: "1.0.2" win32: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" + sha256: "5a751eddf9db89b3e5f9d50c20ab8612296e4e8db69009788d6c8b060a84191c" + url: "https://pub.dev" source: hosted - version: "2.2.9" + version: "4.1.4" xdg_directories: dependency: transitive description: name: xdg_directories - url: "https://pub.dartlang.org" - source: hosted - version: "0.2.0" - xml: - dependency: transitive - description: - name: xml - url: "https://pub.dartlang.org" + sha256: "589ada45ba9e39405c198fe34eb0f607cddb2108527e658136120892beac46d2" + url: "https://pub.dev" source: hosted - version: "5.3.1" + version: "1.0.3" yaml: dependency: transitive description: name: yaml - url: "https://pub.dartlang.org" + sha256: "75769501ea3489fca56601ff33454fe45507ea3bfb014161abc3b43ae25989d5" + url: "https://pub.dev" source: hosted - version: "3.1.0" + version: "3.1.2" sdks: - dart: ">=2.14.0 <3.0.0" - flutter: ">=2.10.0-0" + dart: ">2.19.0 <3.0.0" + flutter: ">=3.7.6" diff --git a/pubspec.yaml b/pubspec.yaml index 1e4125c..5dd6bb7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,42 +14,44 @@ dependencies: get: ^4.6.1 flutter_flavor: ^3.0.3 intl: ^0.17.0 - logger: ^1.1.0 + logger: ^2.7.0 collection: ^1.15.0 - network_to_file_image: ^3.1.0 + crypto: ^3.0.1 + path: ^1.8.0 + network_to_file_image: ^4.0.1 path_provider: ^2.0.9 device_preview: ^1.0.0 - package_info_plus: ^1.3.1 + package_info_plus: ^4.2.0 #UI - carousel_slider: ^4.0.0 - google_fonts: ^2.3.1 - font_awesome_flutter: ^9.2.0 + carousel_slider: ^5.1.2 + google_fonts: ^4.0.4 + font_awesome_flutter: ^10.4.0 - loading_overlay: ^0.3.0 + loading_overlay: ^0.5.0 visibility_detector: ^0.2.2 focus_detector: ^2.0.1 - image_picker: ^0.8.4+9 - image_cropper: ^1.4.1 + image_picker: ^1.0.4 + image_cropper: ^4.0.1 sizer: ^2.0.15 #Form: - flutter_form_builder: ^7.1.0 - form_builder_validators: ^7.4.0 + flutter_form_builder: ^8.0.0 + form_builder_validators: ^8.6.1 #Firebase - firebase_auth: ^3.3.7 - cloud_firestore: ^3.1.8 - firebase_storage: ^10.2.7 - firebase_analytics: ^9.1.0 + firebase_auth: ^4.16.0 + cloud_firestore: ^4.14.0 + firebase_storage: ^11.6.0 + firebase_analytics: ^10.8.0 #Auth - google_sign_in: ^5.2.3 - flutter_facebook_auth: ^4.0.1 - sign_in_with_apple: ^3.3.0 + google_sign_in: ^6.1.6 + flutter_facebook_auth: ^5.0.11 + sign_in_with_apple: ^5.0.0 dev_dependencies: - flutter_lints: ^1.0.4 + flutter_lints: ^2.0.3 flutter_test: sdk: flutter