fix: Form de Login do APP
This commit is contained in:
parent
a4a389854c
commit
a097bd30e5
|
@ -21,6 +21,6 @@
|
|||
<key>CFBundleVersion</key>
|
||||
<string>1.0</string>
|
||||
<key>MinimumOSVersion</key>
|
||||
<string>14.0</string>
|
||||
<string>14.0.0</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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,
|
||||
),
|
||||
|
|
|
@ -395,8 +395,15 @@ extension FFTextEditingControllerExt on TextEditingController? {
|
|||
}
|
||||
|
||||
extension IterableExt<T> on Iterable<T> {
|
||||
List<T> sortedList<S extends Comparable>([S Function(T)? keyOf]) => toList()
|
||||
..sort(keyOf == null ? null : ((a, b) => keyOf(a).compareTo(keyOf(b))));
|
||||
List<T> sortedList<S extends Comparable>(
|
||||
{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()
|
||||
.asMap()
|
||||
|
|
|
@ -241,10 +241,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
'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 = <Map<String, Map<String, String>>>[
|
|||
'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 = <Map<String, Map<String, String>>>[
|
|||
'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 = <Map<String, Map<String, String>>>[
|
|||
'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 = <Map<String, Map<String, String>>>[
|
|||
'pt': 'Preferencias',
|
||||
'en': '',
|
||||
},
|
||||
'uv1iug83': {
|
||||
'sejj3t8w': {
|
||||
'pt': '',
|
||||
'en': '',
|
||||
},
|
||||
|
@ -507,7 +491,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
'pt': 'Preferencias',
|
||||
'en': '',
|
||||
},
|
||||
'8fgc7z33': {
|
||||
'sejj3t8w': {
|
||||
'pt': '',
|
||||
'en': '',
|
||||
},
|
||||
|
@ -900,6 +884,10 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
'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 = <Map<String, Map<String, String>>>[
|
|||
},
|
||||
'p5c6d54y': {
|
||||
'pt': ' Recupere aqui',
|
||||
'en': 'recover here',
|
||||
'en': ' recover here',
|
||||
},
|
||||
'olf967cj': {
|
||||
'pt': 'Termo de Uso',
|
||||
|
|
Loading…
Reference in New Issue