From a097bd30e51265d5c3cc1bf9c00ae4a3c4c0db6f Mon Sep 17 00:00:00 2001 From: FlutterFlow <140657486+FlutterFlowEng@users.noreply.github.com> Date: Thu, 25 Jul 2024 15:04:38 +0000 Subject: [PATCH] fix: Form de Login do APP --- ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Podfile | 2 +- ios/Runner.xcodeproj/project.pbxproj | 6 +- .../sign_in_template_component_model.dart | 4 +- .../sign_in_template_component_widget.dart | 62 ++++++++++++++----- lib/flutter_flow/flutter_flow_util.dart | 11 +++- lib/flutter_flow/internationalization.dart | 26 +++----- 7 files changed, 71 insertions(+), 42 deletions(-) diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index ff0dcf11..748aee74 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 14.0 + 14.0.0 diff --git a/ios/Podfile b/ios/Podfile index a43aebd4..8f4bfd94 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -1,5 +1,5 @@ # Uncomment this line to define a global platform for your project -platform :ios, '14.0' +platform :ios, '14.0.0' # CocoaPods analytics sends network stats synchronously affecting flutter build latency. ENV['COCOAPODS_DISABLE_STATS'] = 'true' diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 9ace6cd2..cc3d86e0 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -363,7 +363,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; @@ -458,7 +458,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -507,7 +507,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 14.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; SUPPORTED_PLATFORMS = iphoneos; diff --git a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_model.dart b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_model.dart index 5c89397f..fd542965 100644 --- a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_model.dart +++ b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_model.dart @@ -21,7 +21,9 @@ class SignInTemplateComponentModel } if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) { - return 'Has to be a valid email address.'; + return FFLocalizations.of(context).getText( + 's3j1hjqx' /* E-mail Inv */, + ); } return null; } diff --git a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart index 59612d43..ae8cc9df 100644 --- a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart +++ b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart @@ -4,6 +4,7 @@ import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_widgets.dart'; import '/actions/actions.dart' as action_blocks; +import 'package:easy_debounce/easy_debounce.dart'; import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; @@ -219,7 +220,16 @@ class _SignInTemplateComponentWidgetState .emailAddressTextController, focusNode: _model .emailAddressFocusNode, - autofocus: false, + onChanged: (_) => + EasyDebounce.debounce( + '_model.emailAddressTextController', + const Duration(milliseconds: 500), + () => setState(() {}), + ), + autofocus: true, + autofillHints: const [ + AutofillHints.email + ], textCapitalization: TextCapitalization.none, textInputAction: @@ -351,7 +361,16 @@ class _SignInTemplateComponentWidgetState .passwordTextController, focusNode: _model.passwordFocusNode, - autofocus: false, + onChanged: (_) => + EasyDebounce.debounce( + '_model.passwordTextController', + const Duration(milliseconds: 500), + () => setState(() {}), + ), + autofocus: true, + autofillHints: const [ + AutofillHints.password + ], textInputAction: TextInputAction.send, obscureText: !_model @@ -499,19 +518,26 @@ class _SignInTemplateComponentWidgetState .fromSTEB( 0.0, 0.0, 0.0, 16.0), child: FFButtonWidget( - onPressed: () async { - await action_blocks - .singInLoginAction( - context, - emailAdress: _model - .emailAddressTextController - .text, - password: _model - .passwordTextController - .text, - ); - setState(() {}); - }, + onPressed: ((_model.emailAddressTextController + .text == + '') && + (_model.passwordTextController + .text == + '')) + ? null + : () async { + await action_blocks + .singInLoginAction( + context, + emailAdress: _model + .emailAddressTextController + .text, + password: _model + .passwordTextController + .text, + ); + setState(() {}); + }, text: FFLocalizations.of( context) .getText( @@ -568,6 +594,12 @@ class _SignInTemplateComponentWidgetState borderRadius: BorderRadius.circular( 12.0), + disabledColor: + FlutterFlowTheme.of( + context) + .customColor5, + disabledTextColor: + Colors.white, ), showLoadingIndicator: false, ), diff --git a/lib/flutter_flow/flutter_flow_util.dart b/lib/flutter_flow/flutter_flow_util.dart index ba7e763b..e66e26b7 100644 --- a/lib/flutter_flow/flutter_flow_util.dart +++ b/lib/flutter_flow/flutter_flow_util.dart @@ -395,8 +395,15 @@ extension FFTextEditingControllerExt on TextEditingController? { } extension IterableExt on Iterable { - List sortedList([S Function(T)? keyOf]) => toList() - ..sort(keyOf == null ? null : ((a, b) => keyOf(a).compareTo(keyOf(b)))); + List sortedList( + {S Function(T)? keyOf, bool desc = false}) { + final sortedAscending = toList() + ..sort(keyOf == null ? null : ((a, b) => keyOf(a).compareTo(keyOf(b)))); + if (desc) { + return sortedAscending.reversed.toList(); + } + return sortedAscending; + } List mapIndexed(S Function(int, T) func) => toList() .asMap() diff --git a/lib/flutter_flow/internationalization.dart b/lib/flutter_flow/internationalization.dart index af72217d..9123791e 100644 --- a/lib/flutter_flow/internationalization.dart +++ b/lib/flutter_flow/internationalization.dart @@ -241,10 +241,6 @@ final kTranslationsMap = >>[ 'pt': 'Qual o período de validade da visita?', 'en': 'Visit Validity Period', }, - 'qygj6ra5': { - 'pt': 'Inicio da Visita', - 'en': 'Start of Visit', - }, 'bv2edxku': { 'pt': '', 'en': 'End of Visit', @@ -253,10 +249,6 @@ final kTranslationsMap = >>[ 'pt': 'Quando você inicia a visita?', 'en': 'When do you start the visit?', }, - 'p4ws3t66': { - 'pt': 'Fim da Visita', - 'en': 'End of Visit', - }, 'yw6d2jj8': { 'pt': '', 'en': 'End of Visit', @@ -269,10 +261,6 @@ final kTranslationsMap = >>[ 'pt': 'Quais são os motivos da visita?', 'en': 'What are the reasons for the visit?', }, - '2f68zi9t': { - 'pt': 'Motivo da Visita', - 'en': 'End of Visit', - }, '6p3e0bzr': { 'pt': 'Escolha um motivo aqui', 'en': 'Choose a reason here', @@ -281,10 +269,6 @@ final kTranslationsMap = >>[ 'pt': 'Search for an item...', 'en': '', }, - 'il4di4ln': { - 'pt': 'Nível de Acesso', - 'en': 'End of Visit', - }, '2wun8p6c': { 'pt': 'Escolha um nível de acesso aqui', 'en': 'Choose an access level here', @@ -496,7 +480,7 @@ final kTranslationsMap = >>[ 'pt': 'Preferencias', 'en': '', }, - 'uv1iug83': { + 'sejj3t8w': { 'pt': '', 'en': '', }, @@ -507,7 +491,7 @@ final kTranslationsMap = >>[ 'pt': 'Preferencias', 'en': '', }, - '8fgc7z33': { + 'sejj3t8w': { 'pt': '', 'en': '', }, @@ -900,6 +884,10 @@ final kTranslationsMap = >>[ 'pt': 'Campo é necessário', 'en': 'Field is required', }, + 's3j1hjqx': { + 'pt': 'E-mail Inv', + 'en': '', + }, '2ib9bf67': { 'pt': 'Please choose an option from the dropdown', 'en': '', @@ -934,7 +922,7 @@ final kTranslationsMap = >>[ }, 'p5c6d54y': { 'pt': ' Recupere aqui', - 'en': 'recover here', + 'en': ' recover here', }, 'olf967cj': { 'pt': 'Termo de Uso',