fix: Form de Login do APP
This commit is contained in:
parent
a4a389854c
commit
a097bd30e5
|
@ -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>
|
||||||
|
|
|
@ -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'
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
||||||
),
|
),
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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',
|
||||||
|
|
Loading…
Reference in New Issue