fix: Form de Login do APP

This commit is contained in:
FlutterFlow 2024-07-25 15:04:38 +00:00
parent 074d465185
commit 8e9f9ed589
9 changed files with 76 additions and 203 deletions

View File

@ -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>

View File

@ -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'

View File

@ -44,8 +44,8 @@
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
6436409127A31CD300820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409227A31CD300820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409627A31CD000820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409B27A31CD100820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -225,8 +225,8 @@
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
6436409127A31CD300820AF7 /* pt */,
6436409227A31CD300820AF7 /* en */,
6436409627A31CD000820AF7 /* pt */,
6436409B27A31CD100820AF7 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
@ -291,7 +291,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;
@ -373,7 +373,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;
@ -422,7 +422,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;

View File

@ -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;
}

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_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,7 +518,14 @@ class _SignInTemplateComponentWidgetState
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
onPressed: ((_model.emailAddressTextController
.text ==
'') &&
(_model.passwordTextController
.text ==
''))
? null
: () async {
await action_blocks
.singInLoginAction(
context,
@ -568,6 +594,12 @@ class _SignInTemplateComponentWidgetState
borderRadius:
BorderRadius.circular(
12.0),
disabledColor:
FlutterFlowTheme.of(
context)
.customColor5,
disabledTextColor:
Colors.white,
),
showLoadingIndicator: false,
),

View File

@ -396,8 +396,15 @@ extension FFTextEditingControllerExt on TextEditingController? {
}
extension IterableExt<T> on Iterable<T> {
List<T> sortedList<S extends Comparable>([S Function(T)? keyOf]) => toList()
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()

View File

@ -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': '',
},
@ -892,6 +876,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': '',

View File

@ -182,7 +182,7 @@ class _NavBarPageState extends State<NavBarPage> {
size: 24.0,
),
label: FFLocalizations.of(context).getText(
'8fgc7z33' /* */,
'sejj3t8w' /* */,
),
tooltip: '',
)

View File

@ -650,45 +650,6 @@ class _ScheduleCompleteVisitPageWidgetState
Row(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
20.0, 0.0, 0.0, 0.0),
child: Container(
width: 100.0,
height: 40.0,
decoration: const BoxDecoration(),
child: Align(
alignment:
const AlignmentDirectional(
0.0, 0.0),
child: Text(
FFLocalizations.of(
context)
.getText(
'qygj6ra5' /* Inicio da Visita */,
),
style:
FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(
context)
.bodyMediumFamily,
fontSize: 14.0,
letterSpacing:
0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
),
),
),
Expanded(
child: Container(
width: 100.0,
@ -1044,45 +1005,6 @@ class _ScheduleCompleteVisitPageWidgetState
Row(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
20.0, 0.0, 0.0, 0.0),
child: Container(
width: 100.0,
height: 40.0,
decoration: const BoxDecoration(),
child: Align(
alignment:
const AlignmentDirectional(
0.0, 0.0),
child: Text(
FFLocalizations.of(
context)
.getText(
'p4ws3t66' /* Fim da Visita */,
),
style:
FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(
context)
.bodyMediumFamily,
fontSize: 14.0,
letterSpacing:
0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
),
),
),
Expanded(
child: Container(
width: 100.0,
@ -1477,45 +1399,6 @@ class _ScheduleCompleteVisitPageWidgetState
Row(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
20.0, 0.0, 0.0, 0.0),
child: Container(
width: 100.0,
height: 42.0,
decoration: const BoxDecoration(),
child: Align(
alignment:
const AlignmentDirectional(
0.0, 0.0),
child: Text(
FFLocalizations.of(
context)
.getText(
'2f68zi9t' /* Motivo da Visita */,
),
style:
FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(
context)
.bodyMediumFamily,
fontSize: 14.0,
letterSpacing:
0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
),
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
@ -1651,45 +1534,6 @@ class _ScheduleCompleteVisitPageWidgetState
Row(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
20.0, 0.0, 0.0, 0.0),
child: Container(
width: 100.0,
height: 42.0,
decoration: const BoxDecoration(),
child: Align(
alignment:
const AlignmentDirectional(
0.0, 0.0),
child: Text(
FFLocalizations.of(
context)
.getText(
'il4di4ln' /* Nível de Acesso */,
),
style:
FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(
context)
.bodyMediumFamily,
fontSize: 14.0,
letterSpacing:
0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
),
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional