Upgrade packages deps to major versions #213
| @ -25,7 +25,7 @@ class AlbumMockDataSourceImpl extends AlbumRemoteDataSource { | ||||
|       id: 1, | ||||
|       userId: 1, | ||||
|       title: 'Album 1', | ||||
|     ) | ||||
|     ), | ||||
|   }; | ||||
| 
 | ||||
|   @override | ||||
|  | ||||
| @ -58,8 +58,8 @@ class PhotosGridThumbnail | ||||
|                 bottom: 10, | ||||
|                 right: 10, | ||||
|                 child: Icon(Icons.favorite), | ||||
|               ) | ||||
|             ] | ||||
|               ), | ||||
|             ], | ||||
|           ], | ||||
|         ), | ||||
|       ); | ||||
|  | ||||
| @ -71,7 +71,8 @@ class App extends StatelessWidget { | ||||
|         if (authState.status != previous?.status) { | ||||
|           previous = authState; | ||||
|           // Checking if current path is onboarding or not | ||||
|           final isOnboarding = AppRouter.publicRoutes.contains(state.subloc); | ||||
|           final isOnboarding = | ||||
|               AppRouter.publicRoutes.contains(state.matchedLocation); | ||||
|           if (authState.status == AuthenticationStatus.unauthenticated) { | ||||
|             debugPrint('Not logged'); | ||||
|             if (!isOnboarding) { | ||||
|  | ||||
| @ -30,11 +30,11 @@ dependencies: | ||||
|   flutter: | ||||
|     sdk: flutter | ||||
| 
 | ||||
|   go_router: ^5.1.5 | ||||
|   go_router: ^10.1.0 | ||||
|   firebase_core: ^2.1.1 | ||||
|   flutter_bloc: ^8.1.1 | ||||
|   firebase_auth: ^4.2.0 | ||||
|   google_sign_in: ^5.4.2 | ||||
|   google_sign_in: ^6.1.4 | ||||
|   get_it: ^7.2.0 | ||||
|    | ||||
|   wyatt_authentication_bloc: | ||||
|  | ||||
| @ -33,7 +33,7 @@ abstract class Forms { | ||||
|           FormInput( | ||||
|             AuthFormField.password, | ||||
|             customPasswordValidator ?? const Password.pure(), | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|         name: AuthFormName.signInForm, | ||||
|       ); | ||||
| @ -55,7 +55,7 @@ abstract class Forms { | ||||
|             AuthFormField.password, | ||||
|             customPasswordValidator ?? const Password.pure(), | ||||
|           ), | ||||
|           ...extraSignUpInputs ?? [] | ||||
|           ...extraSignUpInputs ?? [], | ||||
|         ], | ||||
|         name: AuthFormName.signUpForm, | ||||
|       ); | ||||
| @ -93,7 +93,7 @@ abstract class Forms { | ||||
|             customPasswordValidator ?? const Password.pure(), | ||||
|             metadata: const FormInputMetadata(isRequired: false), | ||||
|           ), | ||||
|           ...extraEditAccountInputs ?? [] | ||||
|           ...extraEditAccountInputs ?? [], | ||||
|         ], | ||||
|         validationStrategy: const OnlyRequiredInputValidator(), | ||||
|         name: AuthFormName.editAccountForm, | ||||
|  | ||||
| @ -15,7 +15,7 @@ dependencies: | ||||
|   flutter_bloc: ^8.1.1 | ||||
|   equatable: ^2.0.5 | ||||
|   firebase_auth: ^4.2.0 | ||||
|   google_sign_in: ^5.4.2 | ||||
|   google_sign_in: ^6.1.4 | ||||
|   rxdart: ^0.27.7 | ||||
| 
 | ||||
|   wyatt_form_bloc: | ||||
| @ -30,12 +30,12 @@ dependencies: | ||||
|     hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/ | ||||
|     version: ^0.0.5 | ||||
|   flutter_secure_storage: ^8.0.0 | ||||
|   http: ^0.13.5 | ||||
|   http: ^1.1.0 | ||||
| 
 | ||||
| dev_dependencies: | ||||
|   flutter_test: { sdk: flutter } | ||||
|   bloc_test: ^9.1.0 | ||||
|   mocktail: ^0.3.0 | ||||
|   mocktail: ^1.0.0 | ||||
| 
 | ||||
|   wyatt_analysis: | ||||
|     hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub/ | ||||
|  | ||||
| @ -46,7 +46,7 @@ void main() { | ||||
|           AuthenticationSession.fromEvent( | ||||
|             SignedInFromCacheEvent(account: account), | ||||
|             data: 10, | ||||
|           ) | ||||
|           ), | ||||
|         ]), | ||||
|       ); | ||||
| 
 | ||||
| @ -113,7 +113,7 @@ void main() { | ||||
|           ), | ||||
|           const EmailVerificationState( | ||||
|             status: FormStatus.submissionSuccess, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
| 
 | ||||
| @ -135,7 +135,7 @@ void main() { | ||||
|           const EmailVerificationState( | ||||
|             errorMessage: 'erreur', | ||||
|             status: FormStatus.submissionFailure, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
|     }); | ||||
| @ -192,7 +192,7 @@ void main() { | ||||
|           const EmailVerificationState( | ||||
|             isVerified: true, | ||||
|             status: FormStatus.submissionSuccess, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
| 
 | ||||
| @ -214,7 +214,7 @@ void main() { | ||||
|           ), | ||||
|           const EmailVerificationState( | ||||
|             status: FormStatus.submissionSuccess, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
| 
 | ||||
| @ -236,7 +236,7 @@ void main() { | ||||
|           const EmailVerificationState( | ||||
|             errorMessage: 'erreur', | ||||
|             status: FormStatus.submissionFailure, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
|     }); | ||||
|  | ||||
| @ -41,7 +41,7 @@ void main() { | ||||
|     final WyattForm form = WyattFormImpl( | ||||
|       [ | ||||
|         FormInput(AuthFormField.email, const Email.pure()), | ||||
|         FormInput(AuthFormField.password, const Password.pure()) | ||||
|         FormInput(AuthFormField.password, const Password.pure()), | ||||
|       ], | ||||
|       name: AuthFormName.passwordResetForm, | ||||
|     ); | ||||
| @ -260,7 +260,7 @@ void main() { | ||||
|               name: AuthFormName.passwordResetForm, | ||||
|             ), | ||||
|             status: FormStatus.submissionSuccess, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
| 
 | ||||
| @ -327,7 +327,7 @@ void main() { | ||||
|               name: AuthFormName.passwordResetForm, | ||||
|             ), | ||||
|             status: FormStatus.submissionFailure, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
|     }); | ||||
|  | ||||
| @ -46,7 +46,7 @@ void main() { | ||||
|     final WyattForm form = WyattFormImpl( | ||||
|       [ | ||||
|         FormInput(AuthFormField.email, const Email.pure()), | ||||
|         FormInput(AuthFormField.password, const Password.pure()) | ||||
|         FormInput(AuthFormField.password, const Password.pure()), | ||||
|       ], | ||||
|       name: AuthFormName.signInForm, | ||||
|     ); | ||||
| @ -102,7 +102,7 @@ void main() { | ||||
|                   AuthFormField.email, | ||||
|                   const Email.dirty(invalidEmailString), | ||||
|                 ), | ||||
|                 FormInput(AuthFormField.password, const Password.pure()) | ||||
|                 FormInput(AuthFormField.password, const Password.pure()), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -126,7 +126,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -145,7 +145,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -163,7 +163,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -191,7 +191,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(invalidPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -215,7 +215,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.pure(), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -234,7 +234,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.pure(), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -252,7 +252,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -287,7 +287,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -312,7 +312,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -331,7 +331,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -364,7 +364,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -383,7 +383,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -401,7 +401,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -417,12 +417,12 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
|             status: FormStatus.submissionSuccess, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
| 
 | ||||
| @ -448,7 +448,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -467,7 +467,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -485,7 +485,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -501,12 +501,12 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
|             status: FormStatus.submissionFailure, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
|     }); | ||||
| @ -527,7 +527,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -566,7 +566,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -584,7 +584,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.pure(), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -600,12 +600,12 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.pure(), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
|             status: FormStatus.submissionSuccess, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
| 
 | ||||
| @ -630,7 +630,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signInForm, | ||||
|           ), | ||||
| @ -648,7 +648,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.pure(), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
| @ -664,12 +664,12 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.pure(), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signInForm, | ||||
|             ), | ||||
|             status: FormStatus.submissionFailure, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
|     }); | ||||
|  | ||||
| @ -22,7 +22,7 @@ void main() { | ||||
|   final WyattForm form = WyattFormImpl( | ||||
|     [ | ||||
|       FormInput(AuthFormField.email, const Email.pure()), | ||||
|       FormInput(AuthFormField.password, const Password.pure()) | ||||
|       FormInput(AuthFormField.password, const Password.pure()), | ||||
|     ], | ||||
|     name: AuthFormName.signInForm, | ||||
|   ); | ||||
|  | ||||
| @ -46,7 +46,7 @@ void main() { | ||||
|     final WyattForm form = WyattFormImpl( | ||||
|       [ | ||||
|         FormInput(AuthFormField.email, const Email.pure()), | ||||
|         FormInput(AuthFormField.password, const Password.pure()) | ||||
|         FormInput(AuthFormField.password, const Password.pure()), | ||||
|       ], | ||||
|       name: AuthFormName.signUpForm, | ||||
|     ); | ||||
| @ -98,7 +98,7 @@ void main() { | ||||
|                   AuthFormField.email, | ||||
|                   const Email.dirty(invalidEmailString), | ||||
|                 ), | ||||
|                 FormInput(AuthFormField.password, const Password.pure()) | ||||
|                 FormInput(AuthFormField.password, const Password.pure()), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -122,7 +122,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -141,7 +141,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signUpForm, | ||||
|           ), | ||||
| @ -159,7 +159,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -187,7 +187,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(invalidPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -211,7 +211,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.pure(), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -230,7 +230,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.pure(), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signUpForm, | ||||
|           ), | ||||
| @ -248,7 +248,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -283,7 +283,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -302,7 +302,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signUpForm, | ||||
|           ), | ||||
| @ -335,7 +335,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -354,7 +354,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signUpForm, | ||||
|           ), | ||||
| @ -372,7 +372,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -388,12 +388,12 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
|             status: FormStatus.submissionSuccess, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
| 
 | ||||
| @ -419,7 +419,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -438,7 +438,7 @@ void main() { | ||||
|               FormInput( | ||||
|                 AuthFormField.password, | ||||
|                 const Password.dirty(validPasswordString), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             name: AuthFormName.signUpForm, | ||||
|           ), | ||||
| @ -456,7 +456,7 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
| @ -472,12 +472,12 @@ void main() { | ||||
|                 FormInput( | ||||
|                   AuthFormField.password, | ||||
|                   const Password.dirty(validPasswordString), | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               name: AuthFormName.signUpForm, | ||||
|             ), | ||||
|             status: FormStatus.submissionFailure, | ||||
|           ) | ||||
|           ), | ||||
|         ], | ||||
|       ); | ||||
|     }); | ||||
| @ -487,7 +487,7 @@ void main() { | ||||
|           FormInput<dynamic, FormInputValidator<dynamic, ValidationError>, | ||||
|               dynamic>>[ | ||||
|         FormInput(AuthFormField.email, const Email.pure()), | ||||
|         FormInput(AuthFormField.password, const Password.pure()) | ||||
|         FormInput(AuthFormField.password, const Password.pure()), | ||||
|       ]; | ||||
| 
 | ||||
|       final inputsB = < | ||||
|  | ||||
| @ -22,7 +22,7 @@ void main() { | ||||
|   final WyattForm form = WyattFormImpl( | ||||
|     [ | ||||
|       FormInput(AuthFormField.email, const Email.pure()), | ||||
|       FormInput(AuthFormField.password, const Password.pure()) | ||||
|       FormInput(AuthFormField.password, const Password.pure()), | ||||
|     ], | ||||
|     name: AuthFormName.signInForm, | ||||
|   ); | ||||
|  | ||||
| @ -31,7 +31,7 @@ class ExampleCubit extends Cubit<CrudState> { | ||||
|           'DATA LOADED 1', | ||||
|           'DATA LOADED 2', | ||||
|           'DATA LOADED 3', | ||||
|           'DATA LOADED 4' | ||||
|           'DATA LOADED 4', | ||||
|         ]), | ||||
|       ); | ||||
|       await Future<void>.delayed(const Duration(seconds: 1)); | ||||
|  | ||||
| @ -53,7 +53,8 @@ class DefaultFirebaseOptions { | ||||
|     messagingSenderId: '100151285458', | ||||
|     projectId: 'wyatt-notification-example', | ||||
|     storageBucket: 'wyatt-notification-example.appspot.com', | ||||
|     iosClientId: '100151285458-a9notq1k1padf0vk9ove8ll3amjgi7mn.apps.googleusercontent.com', | ||||
|     iosClientId: | ||||
|         '100151285458-a9notq1k1padf0vk9ove8ll3amjgi7mn.apps.googleusercontent.com', | ||||
|     iosBundleId: 'com.example.notificationBlocExample', | ||||
|   ); | ||||
| } | ||||
|  | ||||
| @ -22,11 +22,10 @@ import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_me | ||||
| import 'package:wyatt_type_utils/wyatt_type_utils.dart'; | ||||
| 
 | ||||
| class CloudMessagingRepositoryImpl extends CloudMessagingRepository { | ||||
|   final CloudMessagingRemoteDataSource _notificationRemoteDataSource; | ||||
| 
 | ||||
|   CloudMessagingRepositoryImpl({ | ||||
|     required CloudMessagingRemoteDataSource notificationRemoteDataSource, | ||||
|   }) : _notificationRemoteDataSource = notificationRemoteDataSource; | ||||
|   final CloudMessagingRemoteDataSource _notificationRemoteDataSource; | ||||
| 
 | ||||
|   @override | ||||
|   FutureOrResult<String?> getToken() => Result.tryCatchAsync( | ||||
|  | ||||
| @ -18,11 +18,10 @@ import 'package:wyatt_architecture/wyatt_architecture.dart'; | ||||
| import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_messaging_repository.dart'; | ||||
| 
 | ||||
| class GetCloudMessagingTokenUseCase extends AsyncUseCase<void, String?> { | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   GetCloudMessagingTokenUseCase({ | ||||
|     required CloudMessagingRepository notificationRepository, | ||||
|   }) : _notificationRepository = notificationRepository; | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   @override | ||||
|   FutureOrResult<String?> execute(void params) => | ||||
|  | ||||
| @ -18,11 +18,10 @@ import 'package:wyatt_architecture/wyatt_architecture.dart'; | ||||
| import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_messaging_repository.dart'; | ||||
| 
 | ||||
| class InitCloudmessagingUseCase extends AsyncUseCase<NoParam, void> { | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   InitCloudmessagingUseCase({ | ||||
|     required CloudMessagingRepository notificationRepository, | ||||
|   }) : _notificationRepository = notificationRepository; | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
|   @override | ||||
|   FutureOrResult<void> execute(NoParam? params) => | ||||
|       _notificationRepository.init(); | ||||
|  | ||||
| @ -25,11 +25,10 @@ import 'package:wyatt_type_utils/wyatt_type_utils.dart'; | ||||
| 
 | ||||
| class ListenNotificationUseCase | ||||
|     extends StreamUseCase<NoParam, RemoteNotification> { | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   ListenNotificationUseCase({ | ||||
|     required CloudMessagingRepository notificationRepository, | ||||
|   }) : _notificationRepository = notificationRepository; | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
|   @override | ||||
|   FutureOrResult<Stream<RemoteNotification>> execute(NoParam? params) async { | ||||
|     Stream<RemoteNotification>? notificationStream; | ||||
|  | ||||
| @ -18,11 +18,10 @@ import 'package:wyatt_architecture/wyatt_architecture.dart'; | ||||
| import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_messaging_repository.dart'; | ||||
| 
 | ||||
| class RequestCloudMessagingPermissionUseCase extends AsyncUseCase<void, void> { | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   RequestCloudMessagingPermissionUseCase({ | ||||
|     required CloudMessagingRepository notificationRepository, | ||||
|   }) : _notificationRepository = notificationRepository; | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   @override | ||||
|   FutureOrResult<void> execute(void params) => | ||||
|  | ||||
| @ -20,11 +20,10 @@ import 'package:wyatt_architecture/wyatt_architecture.dart'; | ||||
| import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_messaging_repository.dart'; | ||||
| 
 | ||||
| class SubscribeToNotificationTopicUseCase extends AsyncUseCase<String, void> { | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   SubscribeToNotificationTopicUseCase({ | ||||
|     required CloudMessagingRepository notificationRepository, | ||||
|   }) : _notificationRepository = notificationRepository; | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   @override | ||||
|   FutureOr<void> onStart(String? params) { | ||||
|  | ||||
| @ -21,11 +21,10 @@ import 'package:wyatt_cloud_messaging_bloc_base/src/domain/repositories/cloud_me | ||||
| 
 | ||||
| class UnsubscribeFromNotificationTopicUseCase | ||||
|     extends AsyncUseCase<String, void> { | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   UnsubscribeFromNotificationTopicUseCase({ | ||||
|     required CloudMessagingRepository notificationRepository, | ||||
|   }) : _notificationRepository = notificationRepository; | ||||
|   final CloudMessagingRepository _notificationRepository; | ||||
| 
 | ||||
|   @override | ||||
|   FutureOr<void> onStart(String? params) { | ||||
|  | ||||
| @ -30,11 +30,6 @@ part 'cloud_messaging_state.dart'; | ||||
| typedef OnNotification = void Function(RemoteNotification); | ||||
| 
 | ||||
| class CloudMessagingCubit extends Cubit<CloudmessagingState> { | ||||
|   final ListenNotificationUseCase _listenNotification; | ||||
|   final SubscribeToNotificationTopicUseCase? _subscribe; | ||||
|   final UnsubscribeFromNotificationTopicUseCase? _unsubscribe; | ||||
| 
 | ||||
|   final OnNotification? handleNotification; | ||||
|   CloudMessagingCubit({ | ||||
|     required ListenNotificationUseCase listenNotification, | ||||
|     SubscribeToNotificationTopicUseCase? subscribe, | ||||
| @ -44,6 +39,11 @@ class CloudMessagingCubit extends Cubit<CloudmessagingState> { | ||||
|         _subscribe = subscribe, | ||||
|         _unsubscribe = unsubscribe, | ||||
|         super(const CloudmessagingState()); | ||||
|   final ListenNotificationUseCase _listenNotification; | ||||
|   final SubscribeToNotificationTopicUseCase? _subscribe; | ||||
|   final UnsubscribeFromNotificationTopicUseCase? _unsubscribe; | ||||
| 
 | ||||
|   final OnNotification? handleNotification; | ||||
| 
 | ||||
|   Future<void> listenNotification() async { | ||||
|     final notificaitons = await _listenNotification.execute(const NoParam()); | ||||
|  | ||||
| @ -17,9 +17,8 @@ | ||||
| part of 'cloud_messaging_cubit.dart'; | ||||
| 
 | ||||
| class CloudmessagingState extends Equatable { | ||||
|   final RemoteNotification? remoteNotification; | ||||
| 
 | ||||
|   const CloudmessagingState([this.remoteNotification]); | ||||
|   final RemoteNotification? remoteNotification; | ||||
| 
 | ||||
|   @override | ||||
|   List<Object?> get props => [remoteNotification]; | ||||
|  | ||||
| @ -11,7 +11,7 @@ environment: | ||||
| dependencies: | ||||
|   build: ^2.3.1 | ||||
|   source_gen: ^1.2.7 | ||||
|   analyzer: ^5.4.0 | ||||
|   analyzer: ^6.2.0 | ||||
| 
 | ||||
|   wyatt_component_copy_with_extension: | ||||
|     hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub | ||||
|  | ||||
| @ -33,8 +33,7 @@ class CrudFirestoreDataSourceImpl<Model extends ObjectModel, Entity> | ||||
|     required Model Function( | ||||
|       DocumentSnapshot<Map<String, dynamic>>, | ||||
|       SnapshotOptions?, | ||||
|     ) | ||||
|         fromFirestore, | ||||
|     ) fromFirestore, | ||||
| 
 | ||||
|     /// The function that converts a [Model] to a [Map<String, Object?>]. | ||||
|     required Map<String, Object?> Function(Model, SetOptions?) toFirestore, | ||||
|  | ||||
| @ -289,7 +289,7 @@ abstract class CrudAdvancedCubit<Model extends ObjectModel> | ||||
|                 WhereQueryType.whereIn, | ||||
|                 'id', | ||||
|                 ids, | ||||
|               ) | ||||
|               ), | ||||
|             ]); | ||||
|             if (result.isOk) { | ||||
|               return CrudListLoaded<Model?>(result.ok ?? []); | ||||
|  | ||||
| @ -353,7 +353,7 @@ abstract class CrudCubit<Model extends ObjectModel> extends CrudBaseCubit { | ||||
|                 WhereQueryType.whereIn, | ||||
|                 'id', | ||||
|                 ids, | ||||
|               ) | ||||
|               ), | ||||
|             ]); | ||||
|             if (result.isOk) { | ||||
|               return CrudListLoaded<Model?>(result.ok ?? []); | ||||
|  | ||||
| @ -26,9 +26,8 @@ class FormDifference extends FormOperation { | ||||
| 
 | ||||
|   @override | ||||
|   WyattForm call(WyattForm a, WyattForm b) { | ||||
|     final inputs = < | ||||
|         FormInput<dynamic, FormInputValidator<dynamic, ValidationError>, | ||||
|             dynamic>>[]; | ||||
|     final inputs = <FormInput<dynamic, | ||||
|         FormInputValidator<dynamic, ValidationError>, dynamic>>[]; | ||||
| 
 | ||||
|     for (final i in a.inputs) { | ||||
|       if (!b.containsKey(i.key)) { | ||||
|  | ||||
| @ -26,9 +26,8 @@ class FormIntersection extends FormOperation { | ||||
| 
 | ||||
|   @override | ||||
|   WyattForm call(WyattForm a, WyattForm b) { | ||||
|     final inputs = < | ||||
|         FormInput<dynamic, FormInputValidator<dynamic, ValidationError>, | ||||
|             dynamic>>[]; | ||||
|     final inputs = <FormInput<dynamic, | ||||
|         FormInputValidator<dynamic, ValidationError>, dynamic>>[]; | ||||
| 
 | ||||
|     for (final i in a.inputs) { | ||||
|       if (b.containsKey(i.key)) { | ||||
|  | ||||
| @ -26,9 +26,8 @@ class FormUnion extends FormOperation { | ||||
| 
 | ||||
|   @override | ||||
|   WyattForm call(WyattForm a, WyattForm b) { | ||||
|     final inputs = < | ||||
|         FormInput<dynamic, FormInputValidator<dynamic, ValidationError>, | ||||
|             dynamic>>[]; | ||||
|     final inputs = <FormInput<dynamic, | ||||
|         FormInputValidator<dynamic, ValidationError>, dynamic>>[]; | ||||
| 
 | ||||
|     for (final i in a.inputs) { | ||||
|       inputs.add(i); | ||||
|  | ||||
| @ -46,7 +46,7 @@ abstract class Convert { | ||||
|     map.forEach( | ||||
|       (key, value) => pairs.add([ | ||||
|         Uri.encodeQueryComponent(key, encoding: encoding ?? utf8), | ||||
|         Uri.encodeQueryComponent(value, encoding: encoding ?? utf8) | ||||
|         Uri.encodeQueryComponent(value, encoding: encoding ?? utf8), | ||||
|       ]), | ||||
|     ); | ||||
|     return pairs.map((pair) => '${pair[0]}=${pair[1]}').join('&'); | ||||
|  | ||||
| @ -10,7 +10,7 @@ environment: | ||||
| 
 | ||||
| dependencies:  | ||||
|   crypto: ^3.0.2 | ||||
|   http: ^0.13.4 | ||||
|   http: ^1.1.0 | ||||
| 
 | ||||
| dev_dependencies: | ||||
|   wyatt_analysis: | ||||
|  | ||||
| @ -44,7 +44,7 @@ class App extends StatelessWidget { | ||||
|             ), | ||||
|           ), | ||||
|           GlobalMaterialLocalizations.delegate, | ||||
|           GlobalWidgetsLocalizations.delegate | ||||
|           GlobalWidgetsLocalizations.delegate, | ||||
|         ], | ||||
|         home: Scaffold( | ||||
|           appBar: AppBar( | ||||
|  | ||||
| @ -93,7 +93,7 @@ class I18nFileParser extends Parser<String, String> { | ||||
| 
 | ||||
|   String selectToString(Select token) { | ||||
|     final Map<Object, String> cases = { | ||||
|       for (var e in token.options.map( | ||||
|       for (final e in token.options.map( | ||||
|         (o) => MapEntry( | ||||
|           o.name, | ||||
|           o.value.map(parsedElementToString).join(), | ||||
|  | ||||
| @ -27,7 +27,7 @@ environment: | ||||
| # the latest version available on pub.dev. To see which dependencies have newer | ||||
| # versions available, run `flutter pub outdated`. | ||||
| dependencies: | ||||
|   http: ^0.13.4 | ||||
|   http: ^1.1.0 | ||||
| 
 | ||||
|   wyatt_type_utils: | ||||
|     path: "../" | ||||
|  | ||||
| @ -27,7 +27,7 @@ class Bars extends DemoPage { | ||||
|               ), | ||||
|             ), | ||||
|             actions: [ | ||||
|               IconButton(onPressed: () {}, icon: const Icon(Icons.menu)) | ||||
|               IconButton(onPressed: () {}, icon: const Icon(Icons.menu)), | ||||
|             ], | ||||
|           ), | ||||
|           const Gap(20), | ||||
| @ -54,13 +54,13 @@ class Bars extends DemoPage { | ||||
|               ), | ||||
|               ListTile( | ||||
|                 title: Text('Votre programme'), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|             actions: [ | ||||
|               IconButton( | ||||
|                 onPressed: () {}, | ||||
|                 icon: const Icon(Icons.clear), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|           ), | ||||
|           const Gap(20), | ||||
| @ -81,7 +81,7 @@ class Bars extends DemoPage { | ||||
|               TextWrapper('ACCUEIL'), | ||||
|               TextWrapper('VOTRE PROGRAMME'), | ||||
|               TextWrapper('LE STUDIO'), | ||||
|               TextWrapper('SAVOIR FAIRE') | ||||
|               TextWrapper('SAVOIR FAIRE'), | ||||
|             ], | ||||
|           ), | ||||
|         ], | ||||
|  | ||||
| @ -50,7 +50,7 @@ class Buttons extends DemoPage { | ||||
|               Gap(20), | ||||
|               SimpleIconButtons(), | ||||
|               Gap(20), | ||||
|               FileSelectionButtons() | ||||
|               FileSelectionButtons(), | ||||
|             ], | ||||
|           ), | ||||
|         ], | ||||
|  | ||||
| @ -43,12 +43,12 @@ class PortfolioCards extends StatelessWidget { | ||||
|                     'assets/images/mockup_1.png', | ||||
|                     alignment: Alignment.topCenter, | ||||
|                     fit: BoxFit.cover, | ||||
|                   ) | ||||
|                   ), | ||||
|                 ], | ||||
|                 keywords: const [ | ||||
|                   TextWrapper('UI Design'), | ||||
|                   TextWrapper('Developpement'), | ||||
|                   TextWrapper('Deploiement') | ||||
|                   TextWrapper('Deploiement'), | ||||
|                 ], | ||||
|               ), | ||||
|               const Gap(20), | ||||
| @ -78,9 +78,9 @@ class PortfolioCards extends StatelessWidget { | ||||
|                     'assets/images/mockup_1.png', | ||||
|                     alignment: Alignment.topCenter, | ||||
|                     fit: BoxFit.cover, | ||||
|                   ) | ||||
|                   ), | ||||
|                 ], | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|           ), | ||||
|           const Gap(20), | ||||
| @ -118,12 +118,12 @@ class PortfolioCards extends StatelessWidget { | ||||
|                     'assets/images/mockup_1.png', | ||||
|                     alignment: Alignment.topCenter, | ||||
|                     fit: BoxFit.cover, | ||||
|                   ) | ||||
|                   ), | ||||
|                 ], | ||||
|                 keywords: const [ | ||||
|                   TextWrapper('UI Design'), | ||||
|                   TextWrapper('Developpement'), | ||||
|                   TextWrapper('Deploiement') | ||||
|                   TextWrapper('Deploiement'), | ||||
|                 ], | ||||
|               ), | ||||
|               const Gap(20), | ||||
| @ -168,12 +168,12 @@ class PortfolioCards extends StatelessWidget { | ||||
|                     'assets/images/mockup_1.png', | ||||
|                     alignment: Alignment.topCenter, | ||||
|                     fit: BoxFit.cover, | ||||
|                   ) | ||||
|                   ), | ||||
|                 ], | ||||
|                 keywords: const [ | ||||
|                   TextWrapper('UI Design'), | ||||
|                   TextWrapper('Developpement'), | ||||
|                   TextWrapper('Deploiement') | ||||
|                   TextWrapper('Deploiement'), | ||||
|                 ], | ||||
|               ), | ||||
|             ], | ||||
|  | ||||
| @ -47,7 +47,7 @@ class SkillCards extends StatelessWidget { | ||||
|                       gradientColors: | ||||
|                           const MultiColor([Colors.red, Colors.orange]), | ||||
|                     ), | ||||
|                   ) | ||||
|                   ), | ||||
|                 ], | ||||
|                 bulletColors: const MultiColor([Colors.red, Colors.orange]), | ||||
|                 title: const TextWrapper('Lorem Ipsum'), | ||||
| @ -78,7 +78,7 @@ class SkillCards extends StatelessWidget { | ||||
|                       gradientColors: | ||||
|                           const MultiColor([Colors.blue, Colors.green]), | ||||
|                     ), | ||||
|                   ) | ||||
|                   ), | ||||
|                 ], | ||||
|                 bulletColors: const MultiColor([Colors.blue, Colors.green]), | ||||
|                 title: const TextWrapper('Lorem Ipsum'), | ||||
|  | ||||
| @ -15,8 +15,8 @@ dependencies: | ||||
| 
 | ||||
|   flutter_bloc: ^8.1.2 | ||||
|   flutter_localizations: { sdk: flutter } | ||||
|   gap: ^2.0.1 | ||||
|   google_fonts: ^4.0.3 | ||||
|   gap: ^3.0.1 | ||||
|   google_fonts: ^5.1.0 | ||||
| 
 | ||||
|   wyatt_ui_components: | ||||
|     hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub | ||||
|  | ||||
| @ -63,7 +63,7 @@ class NavigationItem extends StatelessWidget { | ||||
|                         .themeExtension<TopBarThemeExtension>() | ||||
|                         ?.selectedIndicatorColors, | ||||
|                     TopBarThemeExtensionDefault.from(Theme.of(context)) | ||||
|                         .selectedIndicatorColors | ||||
|                         .selectedIndicatorColors, | ||||
|                   ], | ||||
|                   valueValidator: (value) => value?.isGradient, | ||||
|                   transform: (value) => | ||||
| @ -75,7 +75,7 @@ class NavigationItem extends StatelessWidget { | ||||
|                         .themeExtension<TopBarThemeExtension>() | ||||
|                         ?.selectedIndicatorColors, | ||||
|                     TopBarThemeExtensionDefault.from(Theme.of(context)) | ||||
|                         .selectedIndicatorColors | ||||
|                         .selectedIndicatorColors, | ||||
|                   ], | ||||
|                   valueValidator: (value) => value?.isColor, | ||||
|                   transform: (value) => value?.color, | ||||
|  | ||||
| @ -177,7 +177,7 @@ class FileSelectionButtonScreen | ||||
|                       ) | ||||
|                     : null, | ||||
|                 boxShadow: [ | ||||
|                   if (style.shadow != null) ...[style.shadow!] | ||||
|                   if (style.shadow != null) ...[style.shadow!], | ||||
|                 ], | ||||
|                 borderRadius: style.radius, | ||||
|               ), | ||||
| @ -214,7 +214,7 @@ class FileSelectionButtonScreen | ||||
|                             GradientText.fromWrapper( | ||||
|                               title!, | ||||
|                               gradientColors: style.foregroundColors, | ||||
|                             ) | ||||
|                             ), | ||||
|                           ], | ||||
| 
 | ||||
|                           /// Choose color | ||||
|  | ||||
| @ -156,7 +156,7 @@ class FlatButtonScreen extends CubitScreen<ButtonCubit, ButtonState> { | ||||
|                   : null, | ||||
| 
 | ||||
|               boxShadow: [ | ||||
|                 if (style.shadow != null) ...[style.shadow!] | ||||
|                 if (style.shadow != null) ...[style.shadow!], | ||||
|               ], | ||||
|               borderRadius: style.radius, | ||||
|             ), | ||||
| @ -174,7 +174,7 @@ class FlatButtonScreen extends CubitScreen<ButtonCubit, ButtonState> { | ||||
|                     if (prefix != null && | ||||
|                         (prefix is Icon?) && | ||||
|                         ((prefix as Icon?)?.color != null)) ...[ | ||||
|                       prefix! | ||||
|                       prefix!, | ||||
|                     ] else if (style.foregroundColors?.color != null && | ||||
|                         prefix != null) ...[ | ||||
|                       ColorFiltered( | ||||
| @ -183,9 +183,9 @@ class FlatButtonScreen extends CubitScreen<ButtonCubit, ButtonState> { | ||||
|                           BlendMode.srcIn, | ||||
|                         ), | ||||
|                         child: prefix, | ||||
|                       ) | ||||
|                       ), | ||||
|                     ] else ...[ | ||||
|                       prefix ?? const SizedBox.shrink() | ||||
|                       prefix ?? const SizedBox.shrink(), | ||||
|                     ], | ||||
|                     Gap(style.padding?.vertical ?? 10), | ||||
| 
 | ||||
| @ -204,13 +204,13 @@ class FlatButtonScreen extends CubitScreen<ButtonCubit, ButtonState> { | ||||
|                         label!, | ||||
|                         style: style.labelStyle, | ||||
|                         gradientColors: style.foregroundColors, | ||||
|                       ) | ||||
|                       ), | ||||
|                     ], | ||||
|                     Gap(style.padding?.vertical ?? 10), | ||||
|                     if (suffix != null && | ||||
|                         (suffix is Icon?) && | ||||
|                         ((suffix as Icon?)?.color != null)) ...[ | ||||
|                       suffix! | ||||
|                       suffix!, | ||||
|                     ] else if (style.foregroundColors?.colors != null && | ||||
|                         style.foregroundColors!.colors.isNotEmpty && | ||||
|                         suffix != null) ...[ | ||||
| @ -220,7 +220,7 @@ class FlatButtonScreen extends CubitScreen<ButtonCubit, ButtonState> { | ||||
|                           BlendMode.srcIn, | ||||
|                         ), | ||||
|                         child: suffix, | ||||
|                       ) | ||||
|                       ), | ||||
|                     ] else if (style.foregroundColors?.color != null && | ||||
|                         suffix != null) ...[ | ||||
|                       ColorFiltered( | ||||
| @ -229,9 +229,9 @@ class FlatButtonScreen extends CubitScreen<ButtonCubit, ButtonState> { | ||||
|                           BlendMode.srcIn, | ||||
|                         ), | ||||
|                         child: suffix, | ||||
|                       ) | ||||
|                       ), | ||||
|                     ] else ...[ | ||||
|                       suffix ?? const SizedBox.shrink() | ||||
|                       suffix ?? const SizedBox.shrink(), | ||||
|                     ], | ||||
|                   ], | ||||
|                 ), | ||||
|  | ||||
| @ -152,7 +152,7 @@ class SimpleIconButtonScreen extends CubitScreen<ButtonCubit, ButtonState> { | ||||
|                         ) | ||||
|                       : null, | ||||
|                   boxShadow: [ | ||||
|                     if (style.shadow != null) ...[style.shadow!] | ||||
|                     if (style.shadow != null) ...[style.shadow!], | ||||
|                   ], | ||||
|                   borderRadius: style.radius, | ||||
|                 ), | ||||
|  | ||||
| @ -181,7 +181,7 @@ class SymbolButtonScreen | ||||
|                             ) | ||||
|                           : null, | ||||
|                       boxShadow: [ | ||||
|                         if (style.shadow != null) ...[style.shadow!] | ||||
|                         if (style.shadow != null) ...[style.shadow!], | ||||
|                       ], | ||||
|                       borderRadius: style.radius, | ||||
|                     ), | ||||
|  | ||||
| @ -102,7 +102,7 @@ class PricingCardTitles extends StatelessWidget { | ||||
|               ], | ||||
|             ), | ||||
|             const Gap(_bodyTopSpacing), | ||||
|           ] | ||||
|           ], | ||||
|         ], | ||||
|         RichText( | ||||
|           text: TextSpan( | ||||
| @ -111,7 +111,7 @@ class PricingCardTitles extends StatelessWidget { | ||||
|                 TextSpan( | ||||
|                   text: price.text.data, | ||||
|                   style: price.text.style, | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|               if (pricing?.hasAsterisk ?? false) ...[ | ||||
|                 WidgetSpan( | ||||
| @ -128,7 +128,7 @@ class PricingCardTitles extends StatelessWidget { | ||||
|                 TextSpan( | ||||
|                   text: period.text.data, | ||||
|                   style: period.text.style, | ||||
|                 ) | ||||
|                 ), | ||||
|               ], | ||||
|             ], | ||||
|           ), | ||||
|  | ||||
| @ -134,7 +134,7 @@ class QuoteCard extends QuoteCardComponent with $QuoteCardCWMixin { | ||||
|                     ], | ||||
|                   ], | ||||
|                 ), | ||||
|               ) | ||||
|               ), | ||||
|             ], | ||||
|           ), | ||||
|         ], | ||||
|  | ||||
| @ -147,7 +147,7 @@ class CardWrapper extends StatelessWidget { | ||||
|       [ | ||||
|         radius, | ||||
|         Theme.of(context).extension<CardThemeExtension>()?.radius, | ||||
|         CardThemeExtensionDefault.from(Theme.of(context)).radius | ||||
|         CardThemeExtensionDefault.from(Theme.of(context)).radius, | ||||
|       ], | ||||
|     ); | ||||
| 
 | ||||
| @ -155,7 +155,7 @@ class CardWrapper extends StatelessWidget { | ||||
|       [ | ||||
|         minSize, | ||||
|         Theme.of(context).extension<CardThemeExtension>()?.minSize, | ||||
|         CardThemeExtensionDefault.from(Theme.of(context)).minSize | ||||
|         CardThemeExtensionDefault.from(Theme.of(context)).minSize, | ||||
|       ], | ||||
|     ); | ||||
| 
 | ||||
| @ -163,7 +163,7 @@ class CardWrapper extends StatelessWidget { | ||||
|       [ | ||||
|         maxSize, | ||||
|         Theme.of(context).extension<CardThemeExtension>()?.maxSize, | ||||
|         CardThemeExtensionDefault.from(Theme.of(context)).maxSize | ||||
|         CardThemeExtensionDefault.from(Theme.of(context)).maxSize, | ||||
|       ], | ||||
|     ); | ||||
| 
 | ||||
| @ -178,7 +178,8 @@ class CardWrapper extends StatelessWidget { | ||||
|               Theme.of(context) | ||||
|                   .extension<CardThemeExtension>() | ||||
|                   ?.backgroundColors, | ||||
|               CardThemeExtensionDefault.from(Theme.of(context)).backgroundColors | ||||
|               CardThemeExtensionDefault.from(Theme.of(context)) | ||||
|                   .backgroundColors, | ||||
|             ], | ||||
|             valueValidator: (multiColor) => multiColor?.isGradient, | ||||
|             transform: (multiColor) => | ||||
|  | ||||
| @ -12,9 +12,9 @@ dependencies: | ||||
|   dotted_border: ^2.0.0+3 | ||||
|   equatable: ^2.0.5 | ||||
|   flutter: { sdk: flutter } | ||||
|   flutter_animate: ^3.0.0 | ||||
|   flutter_animate: ^4.2.0+1 | ||||
|   flutter_bloc: ^8.1.2 | ||||
|   gap: ^2.0.1 | ||||
|   gap: ^3.0.1 | ||||
|   meta: ^1.8.0 | ||||
|   wyatt_bloc_helper: | ||||
|     hosted: | ||||
|  | ||||
| @ -32,7 +32,7 @@ dependencies: | ||||
|   wyatt_ui_layout: | ||||
|     path: "../" | ||||
| 
 | ||||
|   go_router: ^5.0.1 | ||||
|   go_router: ^10.1.0 | ||||
| 
 | ||||
|   wyatt_ui_components: | ||||
|     hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub | ||||
|  | ||||
| @ -10,7 +10,7 @@ environment: | ||||
| 
 | ||||
| dependencies: | ||||
|   flutter: { sdk: flutter } | ||||
|   gap: ^2.0.1 | ||||
|   gap: ^3.0.1 | ||||
| 
 | ||||
|   wyatt_ui_components: | ||||
|     hosted: https://git.wyatt-studio.fr/api/packages/Wyatt-FOSS/pub | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user