From 5844b0f39f2b97efcb330b5a9ad415fa52020409 Mon Sep 17 00:00:00 2001 From: Photon3009 Date: Mon, 27 Mar 2023 01:25:26 +0530 Subject: [PATCH] FIX login UI and ADD Login Form Validation --- app/google-services.json | 47 --- app/monumento-277103-9b64bd53f3b8.json | 12 - app/src/main/AndroidManifest.xml | 4 + .../authentication/authentication_state.dart | 2 +- .../login_validation_bloc.dart | 23 ++ .../login_validation_event.dart | 13 + .../login_validation_state.dart | 10 + monumento_module/lib/main.dart | 8 + .../lib/ui/screens/login/login_screen.dart | 50 ++- monumento_module/pubspec.lock | 309 ++++++++++++------ monumento_module/pubspec.yaml | 1 + 11 files changed, 297 insertions(+), 182 deletions(-) delete mode 100644 app/google-services.json delete mode 100644 app/monumento-277103-9b64bd53f3b8.json create mode 100644 monumento_module/lib/blocs/login_validation/login_validation_bloc.dart create mode 100644 monumento_module/lib/blocs/login_validation/login_validation_event.dart create mode 100644 monumento_module/lib/blocs/login_validation/login_validation_state.dart diff --git a/app/google-services.json b/app/google-services.json deleted file mode 100644 index ab6350b..0000000 --- a/app/google-services.json +++ /dev/null @@ -1,47 +0,0 @@ -{ - "project_info": { - "project_number": "23340623187", - "firebase_url": "https://monumento-277103.firebaseio.com", - "project_id": "monumento-277103", - "storage_bucket": "monumento-277103.appspot.com" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:23340623187:android:7054148e8a1dee1ff8eda6", - "android_client_info": { - "package_name": "com.jddeep.monumento" - } - }, - "oauth_client": [ - { - "client_id": "23340623187-qdin8qjrrho0916p35v01pog92mcovfb.apps.googleusercontent.com", - "client_type": 3 - } - ], - "api_key": [ - { - "current_key": "AIzaSyAAuo4k8RSXYVadVB2WTBK_gLd8bhbYSu8" - } - ], - "services": { - "appinvite_service": { - "other_platform_oauth_client": [ - { - "client_id": "23340623187-qdin8qjrrho0916p35v01pog92mcovfb.apps.googleusercontent.com", - "client_type": 3 - }, - { - "client_id": "23340623187-srpehbrmbciom06pvq4qcnarc22gkud1.apps.googleusercontent.com", - "client_type": 2, - "ios_info": { - "bundle_id": "aossie.Monumento" - } - } - ] - } - } - } - ], - "configuration_version": "1" -} \ No newline at end of file diff --git a/app/monumento-277103-9b64bd53f3b8.json b/app/monumento-277103-9b64bd53f3b8.json deleted file mode 100644 index fb089fc..0000000 --- a/app/monumento-277103-9b64bd53f3b8.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "type": "service_account", - "project_id": "monumento-277103", - "private_key_id": "9b64bd53f3b8c5e574a6171f8c8597c34a6cf962", - "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC+85aNccLYBUpX\nm3g2OPI7klbzDUsGsL9C87FLTfHcwl5RdMJoEytaRDftiGhmNDRpxLVoVm3Qgwrf\nWmpaAYzG1ugfo5W2+7AxnR7vptpwXLaRj7QPZVLUcEkmQ5SstWxHdHFH3kiOtb09\nrFNYF16NP0Lbr/cLjmK1UaWrRHA+e7oJB9lwlDjJIO2tPGAS52nfJDT4b6a3VuVK\nHYn5gQZjEP9nSFo9LInOuVyWoOf1V0qVhxr7Ak8S5n/MtmO5bHS6csnwzaJm8Cti\n+bdfPK6Aoc1OSMk0Sc0qZfM7gbaaB3yKcxvFn+SpalzIBAfzkEoiI7yPAXQfy0L9\n6sMg3zYHAgMBAAECggEAE+kPRjFZ+S9YCJl/59t5OofwRAibTZfJYaBKWMlIUlX8\nAq9ThAmXqCJb2Is0I5AG9Q5bQgVdDvRTAmYJl9f4h1UqP/5NIpbM0OeKrb9uoG+y\nY6whwMc2Y0tP/UrnqjiCkVLNawp881B06oTY7eMF62Fwxbpr3osatMBOL3UD5SfQ\nCPz8HlP63tXcxgXzYO4yTl6KCmFCoKZsXxXI+KMZ9BO2ZFXCX/n/m0LTLm2RHVa9\nuX58wquInC4PtQ/DjjEZkdkHLWu2FYJxSYBGeN9IzhOd2SW+Wm3zAbZtzNw+ezYL\nRlH+1pOYTGmgeqg8Qz1g1IPiiun/CnOPi12ATpZP/QKBgQD7ezrAMRCgNVIN+tjp\nKni8oOT/UNj3Akak5dATuybV/6KPonCmOWAMlspUGCKEjfLgHb2nStbYAM9ox/F1\ngBRbtzKA68qRrbcW25I8Hsa293XtW2U8Z9kneTSCYIPTGbLo2wFSk1mzuMeYkHrB\necJbb9WlfAIdah2tERzfitCQZQKBgQDCYe6Mc8oON2+CSdKBy5VZD/yMZu+Q3DqG\n872akP3qXUM5ikh1G0FLSjyZ+GMrkc4h+BtV3LOhfSua2DVtEt1EYKQ3K61tBdn9\nP4LnrnW3f7cNAZuyZ4rMZ1HKCvX4poqKywaGXE9DA+6J1vf2FQszIDF3dDrZfkRo\n6qYA9BVn+wKBgCDO9N06CXc9PZVBUqcouVOyke2VOJkRHPJKYRkR44ErtqOSh6vH\n9HXv/jl2ZJpygmsmtiVrKBhKEsUSwLeZnA5TGi2jlWvoA+jhgHSDd11Lb4El2VFG\nIxh5QZZ4zPnvcl3apJOHUb6WrsOCpeEz511Se8b5JLV9sJ1xjBjF3WvZAoGALV1r\nre3MBzta095kuZQIu+tmNmJDoNw08I/r/Sm/iLXRXZlvRZ1hxK+Dqy9z/ZQetoDP\n6F8EsTikN5QkC9uuNioTyShxZhNKh7cN1wI5SOUOlIN+kclmdEPcq7mZJDnB9Zhi\nYnMisHI3doXsAstwfLMTuFww69dzIcU5jtloMYcCgYBrU8ZNPm0P3XSi5h7Cu4RL\na2+d1sOoHyV6IIzGR5qK3Lv156/Cav+jOYlAWdRTrCpSr3ccLufalKqpYjytuWzM\naGq+OGdqq8DNposXiSYLa7PCrjRumMyKJk8xGP0HAWU3PaGvAx4kDyOYoSXbpgfU\nAg9cB/mohVis3S8SWG45oQ==\n-----END PRIVATE KEY-----\n", - "client_email": "monumento-service-account@monumento-277103.iam.gserviceaccount.com", - "client_id": "113300677752499556518", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/monumento-service-account%40monumento-277103.iam.gserviceaccount.com" -} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 9a1c537..0fe705b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,6 +9,10 @@ android:name="android.hardware.camera.ar" android:required="false" /> + + get props => []; -} +} \ No newline at end of file diff --git a/monumento_module/lib/blocs/login_validation/login_validation_bloc.dart b/monumento_module/lib/blocs/login_validation/login_validation_bloc.dart new file mode 100644 index 0000000..07c50f9 --- /dev/null +++ b/monumento_module/lib/blocs/login_validation/login_validation_bloc.dart @@ -0,0 +1,23 @@ +import 'package:email_validator/email_validator.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:monumento/blocs/login_validation/login_validation_event.dart'; +import 'package:monumento/blocs/login_validation/login_validation_state.dart'; + +class LoginValidationBloc + extends Bloc { + LoginValidationBloc(LoginValidationState initialState) : super(initialState) { + on((event, emit) { + if (event.emailValue == "" && EmailValidator.validate(event.emailValue)) { + emit(LoginValidationErrorState("Please enter a valid email address")); + } + else if(event.passwordValue.length<6){ + emit(LoginValidationErrorState("Please enter a vlaid password")); + } + else{ + emit(LoginValidationValidState()); + } + }); + + // on((event, emit) {}); + } +} diff --git a/monumento_module/lib/blocs/login_validation/login_validation_event.dart b/monumento_module/lib/blocs/login_validation/login_validation_event.dart new file mode 100644 index 0000000..58e35e9 --- /dev/null +++ b/monumento_module/lib/blocs/login_validation/login_validation_event.dart @@ -0,0 +1,13 @@ +abstract class LoginValidationEvent{} + +class LoginTextChangedEvent extends LoginValidationEvent{ + final String emailValue; + final String passwordValue; + LoginTextChangedEvent(this.emailValue, this.passwordValue); +} + +class LoginSubmittedEvent extends LoginValidationEvent{ +final String email; +final String password; +LoginSubmittedEvent(this.email, this.password); +} \ No newline at end of file diff --git a/monumento_module/lib/blocs/login_validation/login_validation_state.dart b/monumento_module/lib/blocs/login_validation/login_validation_state.dart new file mode 100644 index 0000000..81e9fa4 --- /dev/null +++ b/monumento_module/lib/blocs/login_validation/login_validation_state.dart @@ -0,0 +1,10 @@ +abstract class LoginValidationState{} + +class LoginValidationInitialState extends LoginValidationState{} + +class LoginValidationValidState extends LoginValidationState{} + +class LoginValidationErrorState extends LoginValidationState{ + final String errorMessage; + LoginValidationErrorState(this.errorMessage); +} \ No newline at end of file diff --git a/monumento_module/lib/main.dart b/monumento_module/lib/main.dart index 37a070e..ddd71e2 100644 --- a/monumento_module/lib/main.dart +++ b/monumento_module/lib/main.dart @@ -3,6 +3,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:monumento/blocs/feed/feed_bloc.dart'; +import 'package:monumento/blocs/login_validation/login_validation_bloc.dart'; import 'package:monumento/navigation/route_generator.dart'; import 'package:monumento/resources/authentication/authentication_repository.dart'; import 'package:monumento/resources/monuments/monument_repository.dart'; @@ -18,6 +19,8 @@ import 'package:monumento/ui/screens/app_intro/app_intro.dart'; import 'package:monumento/ui/screens/home/home_screen.dart'; import 'package:firebase_core/firebase_core.dart'; +import 'blocs/login_validation/login_validation_state.dart'; + Future main() async { WidgetsFlutterBinding.ensureInitialized(); //TODO : Remove firebase initialization for faster app startup @@ -42,6 +45,7 @@ class _MyAppState extends State { LoginRegisterBloc _loginRegisterBloc; BookmarkedMonumentsBloc _bookmarkedMonumentsBloc; FeedBloc _feedBloc; + LoginValidationBloc _loginValidationBloc; @override void initState() { @@ -56,6 +60,7 @@ class _MyAppState extends State { firebaseMonumentRepository: _monumentRepository); _feedBloc = FeedBloc(socialRepository: _socialRepository); _authenticationBloc.add(AppStarted()); + _loginValidationBloc=LoginValidationBloc(LoginValidationInitialState()); } @override @@ -82,6 +87,9 @@ class _MyAppState extends State { BlocProvider( create: (_) => _feedBloc, ), + BlocProvider( + create: (_) => _loginValidationBloc, + ) ], child: AnnotatedRegion( value: SystemUiOverlayStyle( diff --git a/monumento_module/lib/ui/screens/login/login_screen.dart b/monumento_module/lib/ui/screens/login/login_screen.dart index e752656..e1115a4 100644 --- a/monumento_module/lib/ui/screens/login/login_screen.dart +++ b/monumento_module/lib/ui/screens/login/login_screen.dart @@ -4,6 +4,8 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:monumento/blocs/authentication/authentication_bloc.dart'; import 'package:monumento/blocs/login_register/login_register_bloc.dart'; +import 'package:monumento/blocs/login_validation/login_validation_bloc.dart'; +import 'package:monumento/blocs/login_validation/login_validation_event.dart'; import 'package:monumento/navigation/arguments.dart'; import 'package:monumento/resources/authentication/models/user_model.dart'; import 'package:monumento/ui/screens/home/home_screen.dart'; @@ -11,6 +13,7 @@ import 'package:monumento/ui/screens/signup/register_screen.dart'; import 'package:monumento/utilities/constants.dart'; import 'package:monumento/utilities/utils.dart'; +import '../../../blocs/login_validation/login_validation_state.dart'; import '../profile_form/profile_form_screen.dart'; class LoginScreen extends StatefulWidget { @@ -29,6 +32,7 @@ class _LoginScreenState extends State { AuthenticationBloc _authenticationBloc; LoginRegisterBloc _loginRegisterBloc; + LoginValidationBloc _loginValidationBloc; @override void initState() { @@ -36,6 +40,7 @@ class _LoginScreenState extends State { isseen = false; _authenticationBloc = BlocProvider.of(context); _loginRegisterBloc = BlocProvider.of(context); + _loginValidationBloc = BlocProvider.of(context); } Widget _buildEmailTF() { @@ -52,9 +57,12 @@ class _LoginScreenState extends State { decoration: kBoxDecorationStyle, height: 60.0, child: TextField( - //TODO: Email Validation + keyboardType: TextInputType.emailAddress, controller: _emailController, + onChanged: (val){ + _loginValidationBloc.add(LoginTextChangedEvent(_emailController.text, _passwordController.text)); + }, style: TextStyle( color: Colors.amber, ), @@ -92,6 +100,9 @@ class _LoginScreenState extends State { obscureText: !isseen, keyboardType: TextInputType.visiblePassword, controller: _passwordController, + onChanged: (val){ + _loginValidationBloc.add(LoginTextChangedEvent(_emailController.text, _passwordController.text)); + }, style: TextStyle( color: Colors.amber, ), @@ -131,7 +142,7 @@ class _LoginScreenState extends State { onPressed: () => print('Forgot Password Button Pressed'), child: Text( 'Forgot Password?', - style: kLabelStyleAmber, + style: kLabelStyle, ), ), ); @@ -202,20 +213,18 @@ class _LoginScreenState extends State { ); } - Widget _buildSocialBtn() { return Padding( - padding: const EdgeInsets.symmetric(vertical: 30.0), - child: GestureDetector( - onTap: () {}, // Image tapped - child: Image.asset( - 'assets/google.png', - fit: BoxFit.cover, // Fixes border issues - width: 30.0, - height: 30.0, - ), - ) - ); + padding: const EdgeInsets.symmetric(vertical: 30.0), + child: GestureDetector( + onTap: () {}, // Image tapped + child: Image.asset( + 'assets/google.png', + fit: BoxFit.cover, // Fixes border issues + width: 30.0, + height: 30.0, + ), + )); } Widget _buildSignupBtn() { @@ -300,6 +309,19 @@ class _LoginScreenState extends State { width: 110.0, ), SizedBox(height: 30.0), + BlocBuilder( + builder: (context, state) { + if (state is LoginValidationErrorState) { + return Text(state.errorMessage, + style: TextStyle(color: Colors.red)); + } + else{ + return Container(); + } + }, + ), + SizedBox(height: 10.0), Container( width: double.infinity, child: Text( diff --git a/monumento_module/pubspec.lock b/monumento_module/pubspec.lock index 036d8a4..57b55b3 100644 --- a/monumento_module/pubspec.lock +++ b/monumento_module/pubspec.lock @@ -5,203 +5,232 @@ packages: dependency: transitive description: name: async - url: "https://pub.dartlang.org" + sha256: bfe67ef28df125b7dddcea62755991f807aa39a2492a23e1550161692950bbe0 + url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.10.0" bloc: dependency: transitive description: name: bloc - url: "https://pub.dartlang.org" + sha256: "6f1b87b6eca9041d5672b6e29273cd1594db48ebb66fd2471066e9f3c3a516bd" + url: "https://pub.dev" source: hosted version: "7.2.1" 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" cached_network_image: dependency: "direct main" description: name: cached_network_image - url: "https://pub.dartlang.org" + sha256: e764e48ef036cabdf84319ba7b8b5871b6b43266e14de787cb43f77639089ae5 + url: "https://pub.dev" source: hosted version: "3.2.1" cached_network_image_platform_interface: dependency: transitive description: name: cached_network_image_platform_interface - url: "https://pub.dartlang.org" + sha256: "8e2b5befefec5063bee8f209fda21751f6328d405d4237c70f21104568b2fee7" + url: "https://pub.dev" source: hosted version: "1.0.0" cached_network_image_web: dependency: transitive description: name: cached_network_image_web - url: "https://pub.dartlang.org" + sha256: d4351c7eb16767df129b0474a5ebc4e028870379c063e8ba265a56aa00831e70 + url: "https://pub.dev" source: hosted version: "1.0.1" characters: dependency: transitive description: name: characters - url: "https://pub.dartlang.org" + sha256: e6a326c8af69605aec75ed6c187d06b349707a27fbff8222ca9cc2cff167975c + url: "https://pub.dev" source: hosted 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.1" cloud_firestore: dependency: "direct main" description: name: cloud_firestore - url: "https://pub.dartlang.org" + sha256: "55cf2f03822ffc0e8bc442f6de8937674b5905b7df62e581694f3c6e906a02a1" + url: "https://pub.dev" source: hosted version: "3.3.0" cloud_firestore_platform_interface: dependency: transitive description: name: cloud_firestore_platform_interface - url: "https://pub.dartlang.org" + sha256: b4ab4e7213113976d07a22979c4a99a285e92862ebfa84646cd89c9cbdbec897 + url: "https://pub.dev" source: hosted version: "5.6.0" cloud_firestore_web: dependency: transitive description: name: cloud_firestore_web - url: "https://pub.dartlang.org" + sha256: "6c9e6e929281d2cb10f696d926154ff1eefbfe180ad5fe8fd37dbb246fbab8a2" + url: "https://pub.dev" source: hosted version: "2.7.0" collection: dependency: transitive description: name: collection - url: "https://pub.dartlang.org" + sha256: cfc915e6923fe5ce6e153b0723c753045de46de1b4d63771530504004a45fae0 + url: "https://pub.dev" source: hosted - version: "1.16.0" + version: "1.17.0" cross_file: dependency: transitive description: name: cross_file - url: "https://pub.dartlang.org" + sha256: "7632a2bcddc8cef4afde3c6f80e69b29a7060e176f01119c229fe4eb3a2a3d4f" + url: "https://pub.dev" source: hosted version: "0.3.3+1" crypto: dependency: transitive description: name: crypto - url: "https://pub.dartlang.org" + sha256: aa274aa7774f8964e4f4f38cc994db7b6158dd36e9187aaceaddc994b35c6c67 + url: "https://pub.dev" source: hosted version: "3.0.2" cupertino_icons: dependency: "direct main" description: name: cupertino_icons - url: "https://pub.dartlang.org" + sha256: a937da4c006989739ceb4d10e3bd6cce64ca85d0fe287fc5b2b9f6ee757dcee6 + url: "https://pub.dev" source: hosted version: "0.1.3" email_validator: dependency: "direct main" description: name: email_validator - url: "https://pub.dartlang.org" + sha256: "2a7a1390f64ba3897d613064b538446e073a7e1021870cab2399d217f786c720" + url: "https://pub.dev" source: hosted version: "2.0.1" equatable: dependency: "direct main" description: name: equatable - url: "https://pub.dartlang.org" + sha256: c6094fd1efad3046334a9c40bee022147e55c25401ccd89b94e373e3edadd375 + url: "https://pub.dev" source: hosted version: "2.0.3" fake_async: dependency: transitive description: name: fake_async - url: "https://pub.dartlang.org" + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" source: hosted version: "1.3.1" ffi: dependency: transitive description: name: ffi - url: "https://pub.dartlang.org" + sha256: a38574032c5f1dd06c4aee541789906c12ccaab8ba01446e800d9c5b79c4a978 + url: "https://pub.dev" source: hosted version: "2.0.1" file: - dependency: transitive + dependency: "direct main" description: name: file - url: "https://pub.dartlang.org" + sha256: "1b92bec4fc2a72f59a8e15af5f52cd441e4a7860b49499d69dfa817af20e925d" + url: "https://pub.dev" source: hosted - version: "6.1.2" + version: "6.1.4" firebase_auth: dependency: "direct main" description: name: firebase_auth - url: "https://pub.dartlang.org" + sha256: faba737a40826a62148032bf079df4625dfd349edb3f240bd848eab14ea1466c + url: "https://pub.dev" source: hosted version: "3.4.2" firebase_auth_platform_interface: dependency: transitive description: name: firebase_auth_platform_interface - url: "https://pub.dartlang.org" + sha256: "98917b36412954791e9d347c4cf111ca97408c9610bd6c3746f25265d7a2068a" + url: "https://pub.dev" source: hosted version: "6.3.2" firebase_auth_web: dependency: transitive description: name: firebase_auth_web - url: "https://pub.dartlang.org" + sha256: "28d3ea3b3c7249c453cf806b0232c221e1060b1f46c2b36a13c2a916ebecc532" + url: "https://pub.dev" source: hosted version: "4.0.0" firebase_core: dependency: transitive description: name: firebase_core - url: "https://pub.dartlang.org" + sha256: "0fee351c61e92d932cb3a8fb36b7927df947a1c4df7f00b6ce34f58b69104170" + url: "https://pub.dev" source: hosted version: "1.19.2" firebase_core_platform_interface: dependency: transitive description: name: firebase_core_platform_interface - url: "https://pub.dartlang.org" + sha256: "195560eedebc480157aa60fc75d1a81e881a5c417482387ff60be2ca4a2fe645" + url: "https://pub.dev" source: hosted version: "4.4.3" firebase_core_web: dependency: transitive description: name: firebase_core_web - url: "https://pub.dartlang.org" + sha256: "69a95a15d0452aff672214993323a7a472cbac93fe51d60f3612e26de7e75869" + url: "https://pub.dev" source: hosted version: "1.7.0" firebase_storage: dependency: "direct main" description: name: firebase_storage - url: "https://pub.dartlang.org" + sha256: "72edf136aa2c537e70cc5f794061bf5f3d7da06e43d4b891d2ddaf3b7e4e3c68" + url: "https://pub.dev" source: hosted version: "8.1.3" firebase_storage_platform_interface: dependency: transitive description: name: firebase_storage_platform_interface - url: "https://pub.dartlang.org" + sha256: "3a3f522ec552e4ba672db671e1c6ff737bee5328a780fa987b1457418927ca88" + url: "https://pub.dev" source: hosted version: "2.1.2" firebase_storage_web: dependency: transitive description: name: firebase_storage_web - url: "https://pub.dartlang.org" + sha256: "64cb876e38fe915816ceab5906dbdf45c4332a94165e9a41dc95354abfb99a91" + url: "https://pub.dev" source: hosted version: "1.1.2" flutter: @@ -213,35 +242,40 @@ packages: dependency: "direct main" description: name: flutter_bloc - url: "https://pub.dartlang.org" + sha256: cdd1351ced09eeb46cfa7946e095b7679344af927415ca9cd972928fa6d5b23f + url: "https://pub.dev" source: hosted version: "7.3.3" flutter_blurhash: dependency: transitive description: name: flutter_blurhash - url: "https://pub.dartlang.org" + sha256: "05001537bd3fac7644fa6558b09ec8c0a3f2eba78c0765f88912882b1331a5c6" + url: "https://pub.dev" source: hosted version: "0.7.0" flutter_cache_manager: dependency: transitive description: name: flutter_cache_manager - url: "https://pub.dartlang.org" + sha256: "32cd900555219333326a2d0653aaaf8671264c29befa65bbd9856d204a4c9fb3" + url: "https://pub.dev" source: hosted version: "3.3.0" flutter_plugin_android_lifecycle: dependency: transitive description: name: flutter_plugin_android_lifecycle - url: "https://pub.dartlang.org" + sha256: "60fc7b78455b94e6de2333d2f95196d32cf5c22f4b0b0520a628804cb463503b" + url: "https://pub.dev" source: hosted version: "2.0.7" flutter_svg: dependency: "direct main" description: name: flutter_svg - url: "https://pub.dartlang.org" + sha256: "9ac1967e2f72a08af11b05b39167920f90d043cf67163d13a544a358c8f31afa" + url: "https://pub.dev" source: hosted version: "0.22.0" flutter_test: @@ -258,294 +292,336 @@ packages: dependency: "direct main" description: name: font_awesome_flutter - url: "https://pub.dartlang.org" + sha256: "1f93e5799f0e6c882819e8393a05c6ca5226010f289190f2242ec19f3f0fdba5" + url: "https://pub.dev" source: hosted version: "9.2.0" geocoder: dependency: "direct main" description: name: geocoder - url: "https://pub.dartlang.org" + sha256: bd1cc3e349459b75f8baadfb00eb009b6a5c82f5167bca251e2e2b9c1f06dd0a + url: "https://pub.dev" source: hosted version: "0.2.1" google_fonts: dependency: "direct main" description: name: google_fonts - url: "https://pub.dartlang.org" + sha256: "8f099045e2f2a30e4d4d0a35f40c6bc941a8f2ca0e10ad9d214ee9edd3f37483" + url: "https://pub.dev" source: hosted version: "3.0.1" google_maps_flutter: dependency: "direct main" description: name: google_maps_flutter - url: "https://pub.dartlang.org" + sha256: d2a1f357f6ceed27486fb1af3fd6f37a997527e595d8d42b245ac95fcbb1dd88 + url: "https://pub.dev" source: hosted version: "2.1.8" google_maps_flutter_platform_interface: dependency: transitive description: name: google_maps_flutter_platform_interface - url: "https://pub.dartlang.org" + sha256: "39eb667f960064428f1db78e184fbb0f2e8a4b40e254ae0275162d6d57878322" + url: "https://pub.dev" source: hosted version: "2.2.0" google_sign_in: dependency: "direct main" description: name: google_sign_in - url: "https://pub.dartlang.org" + sha256: "2351712219828a0787cbbfc95069b5ac1fb5e17c8e08cea7a7ae1d5901084b50" + url: "https://pub.dev" source: hosted version: "4.5.1" google_sign_in_platform_interface: dependency: transitive description: name: google_sign_in_platform_interface - url: "https://pub.dartlang.org" + sha256: "165a7894a45c328c8dc92d0ad055da5786915e8f3616a80be50e1d84800ffd77" + url: "https://pub.dev" source: hosted version: "1.1.2" google_sign_in_web: dependency: transitive description: name: google_sign_in_web - url: "https://pub.dartlang.org" + sha256: "0915cae6b4565bf4deaec6f6f1b6eae6eeae46d6e125ac18a8385e790300c5ba" + url: "https://pub.dev" source: hosted version: "0.9.1+1" http: dependency: transitive description: name: http - url: "https://pub.dartlang.org" + sha256: "2ed163531e071c2c6b7c659635112f24cb64ecbebf6af46b550d536c0b1aa112" + url: "https://pub.dev" source: hosted version: "0.13.4" http_parser: dependency: transitive description: name: http_parser - url: "https://pub.dartlang.org" + sha256: db3060f22889f3d9d55f6a217565486737037eec3609f7f3eca4d0c67ee0d8a0 + url: "https://pub.dev" source: hosted version: "4.0.1" image_cropper: dependency: "direct main" description: name: image_cropper - url: "https://pub.dartlang.org" + sha256: "60542ffd03436e6f80a1d7c9839f75b6a62b0a290cd98624fa29d150fdf672c8" + url: "https://pub.dev" source: hosted version: "1.5.1" image_picker: dependency: "direct main" description: name: image_picker - url: "https://pub.dartlang.org" + sha256: b4f02353277b39f350093a2460b32b43eafaa3bfc4f92e8d90926698d8d78df6 + url: "https://pub.dev" source: hosted version: "0.7.5+4" image_picker_for_web: dependency: transitive description: name: image_picker_for_web - url: "https://pub.dartlang.org" + sha256: "60f306ffbdcada4bc8b2691acc420258a1b758e102c87c4f94fb568d640f0e0e" + url: "https://pub.dev" source: hosted version: "2.1.8" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface - url: "https://pub.dartlang.org" + sha256: b5cfa6b0364979411dfbd3a68bd874452eff22344f184f92af79bddc4acf4742 + url: "https://pub.dev" source: hosted version: "2.5.0" intl: dependency: transitive description: name: intl - url: "https://pub.dartlang.org" + sha256: "910f85bce16fb5c6f614e117efa303e85a1731bb0081edf3604a2ae6e9a3cc91" + url: "https://pub.dev" source: hosted version: "0.17.0" intro_views_flutter: dependency: "direct main" description: name: intro_views_flutter - url: "https://pub.dartlang.org" + sha256: "08dfee202ad72efc2d32377ccd3cab1c42d4c68863e877a311491af628ac24dd" + url: "https://pub.dev" source: hosted version: "3.2.0" js: dependency: transitive description: name: js - url: "https://pub.dartlang.org" + sha256: "5528c2f391ededb7775ec1daa69e65a2d61276f7552de2b5f7b8d34ee9fd4ab7" + url: "https://pub.dev" source: hosted - version: "0.6.4" + version: "0.6.5" lazy_load_scrollview: dependency: "direct main" description: name: lazy_load_scrollview - url: "https://pub.dartlang.org" + sha256: "230c827d6f7ec5e461f0674ef332daae2f78190bf1e4cd84977e51de04b231e3" + url: "https://pub.dev" source: hosted version: "1.3.0" matcher: dependency: transitive description: name: matcher - url: "https://pub.dartlang.org" + sha256: "16db949ceee371e9b99d22f88fa3a73c4e59fd0afed0bd25fc336eb76c198b72" + url: "https://pub.dev" source: hosted - version: "0.12.12" + 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.5" + version: "0.2.0" meta: dependency: "direct main" description: name: meta - url: "https://pub.dartlang.org" + sha256: "6c268b42ed578a53088d834796959e4a1814b5e9e164f147f580a386e5decf42" + url: "https://pub.dev" source: hosted version: "1.8.0" nested: dependency: transitive description: name: nested - url: "https://pub.dartlang.org" + sha256: "03bac4c528c64c95c722ec99280375a6f2fc708eec17c7b3f07253b626cd2a20" + url: "https://pub.dev" source: hosted version: "1.0.0" octo_image: dependency: transitive description: name: octo_image - url: "https://pub.dartlang.org" + sha256: "107f3ed1330006a3bea63615e81cf637433f5135a52466c7caa0e7152bca9143" + url: "https://pub.dev" source: hosted version: "1.0.2" path: dependency: transitive description: name: path - url: "https://pub.dartlang.org" + sha256: db9d4f58c908a4ba5953fcee2ae317c94889433e5024c27ce74a37f94267945b + url: "https://pub.dev" source: hosted version: "1.8.2" path_drawing: dependency: transitive description: name: path_drawing - url: "https://pub.dartlang.org" + sha256: "3bdd251dae9ffaef944450b73f168610db7e968e7b20daf0c3907f8b4aafc8a2" + url: "https://pub.dev" source: hosted version: "0.5.1+1" path_parsing: dependency: transitive description: name: path_parsing - url: "https://pub.dartlang.org" + sha256: ee5c47c1058ad66b4a41746ec3996af9593d0858872807bcd64ac118f0700337 + url: "https://pub.dev" source: hosted version: "0.2.1" path_provider: dependency: transitive description: name: path_provider - url: "https://pub.dartlang.org" + sha256: "050e8e85e4b7fecdf2bb3682c1c64c4887a183720c802d323de8a5fd76d372dd" + url: "https://pub.dev" source: hosted version: "2.0.11" path_provider_android: dependency: transitive description: name: path_provider_android - url: "https://pub.dartlang.org" + sha256: cf7c403a541fc68cd398fb91a7eea8ec234813547d5b55245eed644d1246c5d8 + url: "https://pub.dev" source: hosted version: "2.0.16" path_provider_ios: dependency: transitive description: name: path_provider_ios - url: "https://pub.dartlang.org" + sha256: "641df59948e0fda05ca71f1dd6768d6da7f0ceb52aab734bf9050db54fca7f4c" + url: "https://pub.dev" source: hosted version: "2.0.10" path_provider_linux: dependency: transitive description: name: path_provider_linux - url: "https://pub.dartlang.org" + sha256: ab0987bf95bc591da42dffb38c77398fc43309f0b9b894dcc5d6f40c4b26c379 + url: "https://pub.dev" source: hosted version: "2.1.7" path_provider_macos: dependency: transitive description: name: path_provider_macos - url: "https://pub.dartlang.org" + sha256: "2a97e7fbb7ae9dcd0dfc1220a78e9ec3e71da691912e617e8715ff2a13086ae8" + url: "https://pub.dev" source: hosted version: "2.0.6" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface - url: "https://pub.dartlang.org" + sha256: "27dc7a224fcd07444cb5e0e60423ccacea3e13cf00fc5282ac2c918132da931d" + url: "https://pub.dev" source: hosted version: "2.0.4" path_provider_windows: dependency: transitive description: name: path_provider_windows - url: "https://pub.dartlang.org" + sha256: "999d3dc2ac03ca3f8433018efa40b73558fa4f9759bf8383a217861d120c7d74" + url: "https://pub.dev" source: hosted version: "2.1.0" pedantic: dependency: transitive description: name: pedantic - url: "https://pub.dartlang.org" + sha256: "67fc27ed9639506c856c840ccce7594d0bdcd91bc8d53d6e52359449a1d50602" + url: "https://pub.dev" source: hosted version: "1.11.1" petitparser: dependency: transitive description: name: petitparser - url: "https://pub.dartlang.org" + sha256: "2ebb289dc4764ec397f5cd3ca9881c6d17196130a7d646ed022a0dd9c2e25a71" + url: "https://pub.dev" source: hosted version: "5.0.0" platform: dependency: transitive description: name: platform - url: "https://pub.dartlang.org" + sha256: "4a451831508d7d6ca779f7ac6e212b4023dd5a7d08a27a63da33756410e32b76" + url: "https://pub.dev" source: hosted version: "3.1.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface - url: "https://pub.dartlang.org" + sha256: "075f927ebbab4262ace8d0b283929ac5410c0ac4e7fc123c76429564facfb757" + url: "https://pub.dev" source: hosted version: "2.1.2" process: dependency: transitive description: name: process - url: "https://pub.dartlang.org" + sha256: "53fd8db9cec1d37b0574e12f07520d582019cb6c44abf5479a01505099a34a09" + url: "https://pub.dev" source: hosted version: "4.2.4" provider: dependency: transitive description: name: provider - url: "https://pub.dartlang.org" + sha256: "8d7d4c2df46d6a6270a4e10404bfecb18a937e3e00f710c260d0a10415ce6b7b" + url: "https://pub.dev" source: hosted version: "6.0.3" quiver: dependency: transitive description: name: quiver - url: "https://pub.dartlang.org" + sha256: "16169b1cc79f01d9c47fe05b5670b87cbf7f5cfc77757369f245c36a6ae2b290" + url: "https://pub.dev" source: hosted version: "2.1.3" rxdart: dependency: transitive description: name: rxdart - url: "https://pub.dartlang.org" + sha256: "5d22055fd443806c03ef24a02000637cf51eae49c2a0168d38a43fc166b0209c" + url: "https://pub.dev" source: hosted version: "0.27.5" shimmer: dependency: "direct main" description: name: shimmer - url: "https://pub.dartlang.org" + sha256: "1f1009b5845a1f88f1c5630212279540486f97409e9fc3f63883e71070d107bf" + url: "https://pub.dev" source: hosted version: "2.0.0" sky_engine: @@ -557,121 +633,138 @@ packages: dependency: transitive description: name: source_span - url: "https://pub.dartlang.org" + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 + url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" sqflite: dependency: transitive description: name: sqflite - url: "https://pub.dartlang.org" + sha256: "871add98426a67a41bf4768d3130f2b67fd551e21f34196f96ccedee8dd1dc23" + url: "https://pub.dev" source: hosted version: "2.0.3" sqflite_common: dependency: transitive description: name: sqflite_common - url: "https://pub.dartlang.org" + sha256: b504fc5b4576a05586a0bb99d9bcc0d37a78d9d5ed68b96c361d5d3a8e538275 + url: "https://pub.dev" source: hosted version: "2.2.1+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" stream_transform: dependency: transitive description: name: stream_transform - url: "https://pub.dartlang.org" + sha256: ed464977cb26a1f41537e177e190c67223dbd9f4f683489b6ab2e5d211ec564e + url: "https://pub.dev" source: hosted version: "2.0.0" string_scanner: dependency: transitive description: name: string_scanner - url: "https://pub.dartlang.org" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" + url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" synchronized: dependency: transitive description: name: synchronized - url: "https://pub.dartlang.org" + sha256: a7f0790927c0806ae0d5eb061c713748fa6070ef0037e391a2d53c3844c09dc2 + url: "https://pub.dev" source: hosted version: "3.0.0+2" term_glyph: dependency: transitive description: name: term_glyph - url: "https://pub.dartlang.org" + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 + url: "https://pub.dev" source: hosted 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.12" + version: "0.4.16" typed_data: dependency: transitive description: name: typed_data - url: "https://pub.dartlang.org" + sha256: "26f87ade979c47a150c9eaab93ccd2bebe70a27dc0b4b29517f2904f04eb11a5" + url: "https://pub.dev" source: hosted version: "1.3.1" uuid: dependency: "direct main" description: name: uuid - url: "https://pub.dartlang.org" + sha256: "2469694ad079893e3b434a627970c33f2fa5adc46dfe03c9617546969a9a8afc" + url: "https://pub.dev" source: hosted version: "3.0.6" vector_math: dependency: transitive description: name: vector_math - url: "https://pub.dartlang.org" + sha256: "80b3257d1492ce4d091729e3a67a60407d227c27241d6927be0130c98e741803" + url: "https://pub.dev" source: hosted - version: "2.1.2" + version: "2.1.4" webview_flutter: dependency: "direct main" description: name: webview_flutter - url: "https://pub.dartlang.org" + sha256: "055385927555b78567a7a2850092fc7a42e153b7bc9e45a1db7c501cdc17bcf8" + url: "https://pub.dev" source: hosted version: "0.3.22+1" win32: dependency: transitive description: name: win32 - url: "https://pub.dartlang.org" + sha256: "6b75ac2ddd42f5c226fdaf4498a2b04071c06f1f2b8f7ab1c3f77cc7f2285ff1" + url: "https://pub.dev" source: hosted version: "2.7.0" xdg_directories: dependency: transitive description: name: xdg_directories - url: "https://pub.dartlang.org" + sha256: "060b6e1c891d956f72b5ac9463466c37cce3fa962a921532fc001e86fe93438e" + url: "https://pub.dev" source: hosted version: "0.2.0+1" xml: dependency: transitive description: name: xml - url: "https://pub.dartlang.org" + sha256: "80d494c09849dc3f899d227a78c30c5b949b985ededf884cb3f3bcd39f4b447a" + url: "https://pub.dev" source: hosted version: "5.4.1" sdks: - dart: ">=2.17.0 <3.0.0" + dart: ">=2.18.0 <3.0.0" flutter: ">=3.0.0" diff --git a/monumento_module/pubspec.yaml b/monumento_module/pubspec.yaml index 7cfa6fb..c54e866 100644 --- a/monumento_module/pubspec.yaml +++ b/monumento_module/pubspec.yaml @@ -45,6 +45,7 @@ dependencies: shimmer: ^2.0.0 flutter_svg: ^0.22.0 email_validator: ^2.0.1 + file: ^6.1.4 dev_dependencies: flutter_test: