fix: Form de Login do APP

This commit is contained in:
FlutterFlow 2024-07-25 15:04:38 +00:00 committed by jantunesmesias
parent a4a389854c
commit a097bd30e5
7 changed files with 71 additions and 42 deletions

View File

@ -21,6 +21,6 @@
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.0</string> <string>1.0</string>
<key>MinimumOSVersion</key> <key>MinimumOSVersion</key>
<string>14.0</string> <string>14.0.0</string>
</dict> </dict>
</plist> </plist>

View File

@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project # 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. # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true' ENV['COCOAPODS_DISABLE_STATS'] = 'true'

View File

@ -363,7 +363,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0.0;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos; SUPPORTED_PLATFORMS = iphoneos;
@ -458,7 +458,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0.0;
MTL_ENABLE_DEBUG_INFO = YES; MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos; SDKROOT = iphoneos;
@ -507,7 +507,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 14.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0.0;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos; SUPPORTED_PLATFORMS = iphoneos;

View File

@ -21,7 +21,9 @@ class SignInTemplateComponentModel
} }
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) { if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
return 'Has to be a valid email address.'; return FFLocalizations.of(context).getText(
's3j1hjqx' /* E-mail Inv */,
);
} }
return null; return null;
} }

View File

@ -4,6 +4,7 @@ import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart'; import '/flutter_flow/flutter_flow_widgets.dart';
import '/actions/actions.dart' as action_blocks; import '/actions/actions.dart' as action_blocks;
import 'package:easy_debounce/easy_debounce.dart';
import 'package:flutter/gestures.dart'; import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart'; import 'package:flutter_animate/flutter_animate.dart';
@ -219,7 +220,16 @@ class _SignInTemplateComponentWidgetState
.emailAddressTextController, .emailAddressTextController,
focusNode: _model focusNode: _model
.emailAddressFocusNode, .emailAddressFocusNode,
autofocus: false, onChanged: (_) =>
EasyDebounce.debounce(
'_model.emailAddressTextController',
const Duration(milliseconds: 500),
() => setState(() {}),
),
autofocus: true,
autofillHints: const [
AutofillHints.email
],
textCapitalization: textCapitalization:
TextCapitalization.none, TextCapitalization.none,
textInputAction: textInputAction:
@ -351,7 +361,16 @@ class _SignInTemplateComponentWidgetState
.passwordTextController, .passwordTextController,
focusNode: focusNode:
_model.passwordFocusNode, _model.passwordFocusNode,
autofocus: false, onChanged: (_) =>
EasyDebounce.debounce(
'_model.passwordTextController',
const Duration(milliseconds: 500),
() => setState(() {}),
),
autofocus: true,
autofillHints: const [
AutofillHints.password
],
textInputAction: textInputAction:
TextInputAction.send, TextInputAction.send,
obscureText: !_model obscureText: !_model
@ -499,19 +518,26 @@ class _SignInTemplateComponentWidgetState
.fromSTEB( .fromSTEB(
0.0, 0.0, 0.0, 16.0), 0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget( child: FFButtonWidget(
onPressed: () async { onPressed: ((_model.emailAddressTextController
await action_blocks .text ==
.singInLoginAction( '') &&
context, (_model.passwordTextController
emailAdress: _model .text ==
.emailAddressTextController ''))
.text, ? null
password: _model : () async {
.passwordTextController await action_blocks
.text, .singInLoginAction(
); context,
setState(() {}); emailAdress: _model
}, .emailAddressTextController
.text,
password: _model
.passwordTextController
.text,
);
setState(() {});
},
text: FFLocalizations.of( text: FFLocalizations.of(
context) context)
.getText( .getText(
@ -568,6 +594,12 @@ class _SignInTemplateComponentWidgetState
borderRadius: borderRadius:
BorderRadius.circular( BorderRadius.circular(
12.0), 12.0),
disabledColor:
FlutterFlowTheme.of(
context)
.customColor5,
disabledTextColor:
Colors.white,
), ),
showLoadingIndicator: false, showLoadingIndicator: false,
), ),

View File

@ -395,8 +395,15 @@ extension FFTextEditingControllerExt on TextEditingController? {
} }
extension IterableExt<T> on Iterable<T> { extension IterableExt<T> on Iterable<T> {
List<T> sortedList<S extends Comparable>([S Function(T)? keyOf]) => toList() List<T> sortedList<S extends Comparable>(
..sort(keyOf == null ? null : ((a, b) => keyOf(a).compareTo(keyOf(b)))); {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<S> mapIndexed<S>(S Function(int, T) func) => toList() List<S> mapIndexed<S>(S Function(int, T) func) => toList()
.asMap() .asMap()

View File

@ -241,10 +241,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': 'Qual o período de validade da visita?', 'pt': 'Qual o período de validade da visita?',
'en': 'Visit Validity Period', 'en': 'Visit Validity Period',
}, },
'qygj6ra5': {
'pt': 'Inicio da Visita',
'en': 'Start of Visit',
},
'bv2edxku': { 'bv2edxku': {
'pt': '', 'pt': '',
'en': 'End of Visit', 'en': 'End of Visit',
@ -253,10 +249,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': 'Quando você inicia a visita?', 'pt': 'Quando você inicia a visita?',
'en': 'When do you start the visit?', 'en': 'When do you start the visit?',
}, },
'p4ws3t66': {
'pt': 'Fim da Visita',
'en': 'End of Visit',
},
'yw6d2jj8': { 'yw6d2jj8': {
'pt': '', 'pt': '',
'en': 'End of Visit', 'en': 'End of Visit',
@ -269,10 +261,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': 'Quais são os motivos da visita?', 'pt': 'Quais são os motivos da visita?',
'en': 'What are the reasons for the visit?', 'en': 'What are the reasons for the visit?',
}, },
'2f68zi9t': {
'pt': 'Motivo da Visita',
'en': 'End of Visit',
},
'6p3e0bzr': { '6p3e0bzr': {
'pt': 'Escolha um motivo aqui', 'pt': 'Escolha um motivo aqui',
'en': 'Choose a reason here', 'en': 'Choose a reason here',
@ -281,10 +269,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': 'Search for an item...', 'pt': 'Search for an item...',
'en': '', 'en': '',
}, },
'il4di4ln': {
'pt': 'Nível de Acesso',
'en': 'End of Visit',
},
'2wun8p6c': { '2wun8p6c': {
'pt': 'Escolha um nível de acesso aqui', 'pt': 'Escolha um nível de acesso aqui',
'en': 'Choose an access level here', 'en': 'Choose an access level here',
@ -496,7 +480,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': 'Preferencias', 'pt': 'Preferencias',
'en': '', 'en': '',
}, },
'uv1iug83': { 'sejj3t8w': {
'pt': '', 'pt': '',
'en': '', 'en': '',
}, },
@ -507,7 +491,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': 'Preferencias', 'pt': 'Preferencias',
'en': '', 'en': '',
}, },
'8fgc7z33': { 'sejj3t8w': {
'pt': '', 'pt': '',
'en': '', 'en': '',
}, },
@ -900,6 +884,10 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': 'Campo é necessário', 'pt': 'Campo é necessário',
'en': 'Field is required', 'en': 'Field is required',
}, },
's3j1hjqx': {
'pt': 'E-mail Inv',
'en': '',
},
'2ib9bf67': { '2ib9bf67': {
'pt': 'Please choose an option from the dropdown', 'pt': 'Please choose an option from the dropdown',
'en': '', 'en': '',
@ -934,7 +922,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
}, },
'p5c6d54y': { 'p5c6d54y': {
'pt': ' Recupere aqui', 'pt': ' Recupere aqui',
'en': 'recover here', 'en': ' recover here',
}, },
'olf967cj': { 'olf967cj': {
'pt': 'Termo de Uso', 'pt': 'Termo de Uso',