Updating to latest
This commit is contained in:
parent
d2807fdaa6
commit
162d3729a0
|
@ -44,8 +44,8 @@
|
||||||
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
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>"; };
|
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>"; };
|
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
6436409627A31CD500820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
6436409227A31CD100820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
6436409C27A31CD700820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
6436409227A31CD000820AF7 /* 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>"; };
|
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
@ -225,8 +225,8 @@
|
||||||
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
|
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
|
||||||
isa = PBXVariantGroup;
|
isa = PBXVariantGroup;
|
||||||
children = (
|
children = (
|
||||||
6436409627A31CD500820AF7 /* pt */,
|
6436409227A31CD100820AF7 /* pt */,
|
||||||
6436409C27A31CD700820AF7 /* en */,
|
6436409227A31CD000820AF7 /* en */,
|
||||||
);
|
);
|
||||||
name = InfoPlist.strings;
|
name = InfoPlist.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
|
|
@ -1140,6 +1140,8 @@ class GetVisitsCall {
|
||||||
String? userUUID = '',
|
String? userUUID = '',
|
||||||
String? cliID = '',
|
String? cliID = '',
|
||||||
String? atividade = '',
|
String? atividade = '',
|
||||||
|
int? pageSize,
|
||||||
|
int? pageNumber,
|
||||||
}) async {
|
}) async {
|
||||||
final baseUrl = PhpGroup.getBaseUrl();
|
final baseUrl = PhpGroup.getBaseUrl();
|
||||||
|
|
||||||
|
@ -1155,6 +1157,8 @@ class GetVisitsCall {
|
||||||
'userUUID': userUUID,
|
'userUUID': userUUID,
|
||||||
'cliID': cliID,
|
'cliID': cliID,
|
||||||
'atividade': atividade,
|
'atividade': atividade,
|
||||||
|
'pageSize': pageSize,
|
||||||
|
'pageNumber': pageNumber,
|
||||||
},
|
},
|
||||||
bodyType: BodyType.X_WWW_FORM_URL_ENCODED,
|
bodyType: BodyType.X_WWW_FORM_URL_ENCODED,
|
||||||
returnBody: true,
|
returnBody: true,
|
||||||
|
|
|
@ -53,6 +53,12 @@ class _ForgotPasswordTemplateComponentWidgetState
|
||||||
),
|
),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: FlutterFlowTheme.of(context).primaryBackground,
|
color: FlutterFlowTheme.of(context).primaryBackground,
|
||||||
|
borderRadius: const BorderRadius.only(
|
||||||
|
bottomLeft: Radius.circular(0.0),
|
||||||
|
bottomRight: Radius.circular(0.0),
|
||||||
|
topLeft: Radius.circular(15.0),
|
||||||
|
topRight: Radius.circular(15.0),
|
||||||
|
),
|
||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.max,
|
mainAxisSize: MainAxisSize.max,
|
||||||
|
@ -151,6 +157,7 @@ class _ForgotPasswordTemplateComponentWidgetState
|
||||||
autofillHints: const [AutofillHints.email],
|
autofillHints: const [AutofillHints.email],
|
||||||
obscureText: false,
|
obscureText: false,
|
||||||
decoration: InputDecoration(
|
decoration: InputDecoration(
|
||||||
|
isDense: true,
|
||||||
labelText: FFLocalizations.of(context).getText(
|
labelText: FFLocalizations.of(context).getText(
|
||||||
'mtz8l7ft' /* Email */,
|
'mtz8l7ft' /* Email */,
|
||||||
),
|
),
|
||||||
|
|
|
@ -7,19 +7,45 @@ class SignInTemplateComponentModel
|
||||||
extends FlutterFlowModel<SignInTemplateComponentWidget> {
|
extends FlutterFlowModel<SignInTemplateComponentWidget> {
|
||||||
/// State fields for stateful widgets in this component.
|
/// State fields for stateful widgets in this component.
|
||||||
|
|
||||||
|
final formKey = GlobalKey<FormState>();
|
||||||
// State field(s) for emailAddress widget.
|
// State field(s) for emailAddress widget.
|
||||||
FocusNode? emailAddressFocusNode;
|
FocusNode? emailAddressFocusNode;
|
||||||
TextEditingController? emailAddressTextController;
|
TextEditingController? emailAddressTextController;
|
||||||
String? Function(BuildContext, String?)? emailAddressTextControllerValidator;
|
String? Function(BuildContext, String?)? emailAddressTextControllerValidator;
|
||||||
|
String? _emailAddressTextControllerValidator(
|
||||||
|
BuildContext context, String? val) {
|
||||||
|
if (val == null || val.isEmpty) {
|
||||||
|
return FFLocalizations.of(context).getText(
|
||||||
|
'xhnawzcb' /* Campo é necessário */,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
|
||||||
|
return 'Has to be a valid email address.';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// State field(s) for password widget.
|
// State field(s) for password widget.
|
||||||
FocusNode? passwordFocusNode;
|
FocusNode? passwordFocusNode;
|
||||||
TextEditingController? passwordTextController;
|
TextEditingController? passwordTextController;
|
||||||
late bool passwordVisibility;
|
late bool passwordVisibility;
|
||||||
String? Function(BuildContext, String?)? passwordTextControllerValidator;
|
String? Function(BuildContext, String?)? passwordTextControllerValidator;
|
||||||
|
String? _passwordTextControllerValidator(BuildContext context, String? val) {
|
||||||
|
if (val == null || val.isEmpty) {
|
||||||
|
return FFLocalizations.of(context).getText(
|
||||||
|
'9cs5wlmc' /* Campo é necessário */,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState(BuildContext context) {
|
void initState(BuildContext context) {
|
||||||
|
emailAddressTextControllerValidator = _emailAddressTextControllerValidator;
|
||||||
passwordVisibility = false;
|
passwordVisibility = false;
|
||||||
|
passwordTextControllerValidator = _passwordTextControllerValidator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -202,236 +202,288 @@ class _SignInTemplateComponentWidgetState
|
||||||
crossAxisAlignment:
|
crossAxisAlignment:
|
||||||
CrossAxisAlignment.center,
|
CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Padding(
|
Form(
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
key: _model.formKey,
|
||||||
0.0, 0.0, 0.0, 16.0),
|
autovalidateMode:
|
||||||
child: SizedBox(
|
AutovalidateMode.always,
|
||||||
width: double.infinity,
|
child: Column(
|
||||||
child: TextFormField(
|
mainAxisSize: MainAxisSize.max,
|
||||||
controller: _model
|
children: [
|
||||||
.emailAddressTextController,
|
Padding(
|
||||||
focusNode:
|
padding: const EdgeInsetsDirectional
|
||||||
_model.emailAddressFocusNode,
|
.fromSTEB(
|
||||||
autofocus: false,
|
0.0, 0.0, 0.0, 16.0),
|
||||||
textCapitalization:
|
child: SizedBox(
|
||||||
TextCapitalization.none,
|
width: double.infinity,
|
||||||
textInputAction:
|
child: TextFormField(
|
||||||
TextInputAction.next,
|
controller: _model
|
||||||
obscureText: false,
|
.emailAddressTextController,
|
||||||
decoration: InputDecoration(
|
focusNode: _model
|
||||||
labelText:
|
.emailAddressFocusNode,
|
||||||
FFLocalizations.of(context)
|
autofocus: false,
|
||||||
.getText(
|
textCapitalization:
|
||||||
'1ltg0ylb' /* Email */,
|
TextCapitalization.none,
|
||||||
),
|
textInputAction:
|
||||||
labelStyle: FlutterFlowTheme.of(
|
TextInputAction.next,
|
||||||
context)
|
obscureText: false,
|
||||||
.labelLarge
|
decoration: InputDecoration(
|
||||||
.override(
|
isDense: true,
|
||||||
fontFamily:
|
labelText:
|
||||||
'Plus Jakarta Sans',
|
FFLocalizations.of(
|
||||||
color: FlutterFlowTheme.of(
|
context)
|
||||||
context)
|
.getText(
|
||||||
.primaryText,
|
'1ltg0ylb' /* Email */,
|
||||||
fontSize: 16.0,
|
),
|
||||||
letterSpacing: 0.0,
|
labelStyle: FlutterFlowTheme
|
||||||
fontWeight: FontWeight.w500,
|
.of(context)
|
||||||
useGoogleFonts: GoogleFonts
|
.labelLarge
|
||||||
.asMap()
|
.override(
|
||||||
.containsKey(
|
fontFamily:
|
||||||
'Plus Jakarta Sans'),
|
'Plus Jakarta Sans',
|
||||||
|
color: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.primaryText,
|
||||||
|
fontSize: 16.0,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.w500,
|
||||||
|
useGoogleFonts:
|
||||||
|
GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
'Plus Jakarta Sans'),
|
||||||
|
),
|
||||||
|
enabledBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.customColor1,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
focusedBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.success,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
errorBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.error,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
focusedErrorBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.error,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
suffixIcon: Icon(
|
||||||
|
Icons.email,
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.accent1,
|
||||||
|
size: 22.0,
|
||||||
|
),
|
||||||
),
|
),
|
||||||
enabledBorder: OutlineInputBorder(
|
style: FlutterFlowTheme.of(
|
||||||
borderSide: BorderSide(
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
context)
|
||||||
.customColor1,
|
.bodyLarge
|
||||||
width: 0.5,
|
.override(
|
||||||
),
|
fontFamily:
|
||||||
borderRadius:
|
'Plus Jakarta Sans',
|
||||||
BorderRadius.circular(12.0),
|
color:
|
||||||
),
|
FlutterFlowTheme.of(
|
||||||
focusedBorder: OutlineInputBorder(
|
context)
|
||||||
borderSide: BorderSide(
|
.primaryText,
|
||||||
color: FlutterFlowTheme.of(
|
fontSize: 16.0,
|
||||||
context)
|
letterSpacing: 0.0,
|
||||||
.success,
|
fontWeight:
|
||||||
width: 0.5,
|
FontWeight.w500,
|
||||||
),
|
useGoogleFonts: GoogleFonts
|
||||||
borderRadius:
|
.asMap()
|
||||||
BorderRadius.circular(12.0),
|
.containsKey(
|
||||||
),
|
'Plus Jakarta Sans'),
|
||||||
errorBorder: OutlineInputBorder(
|
),
|
||||||
borderSide: BorderSide(
|
keyboardType: TextInputType
|
||||||
color: FlutterFlowTheme.of(
|
.emailAddress,
|
||||||
context)
|
validator: _model
|
||||||
.error,
|
.emailAddressTextControllerValidator
|
||||||
width: 0.5,
|
.asValidator(context),
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
focusedErrorBorder:
|
|
||||||
OutlineInputBorder(
|
|
||||||
borderSide: BorderSide(
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.error,
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
suffixIcon: Icon(
|
|
||||||
Icons.email,
|
|
||||||
color:
|
|
||||||
FlutterFlowTheme.of(context)
|
|
||||||
.accent1,
|
|
||||||
size: 22.0,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
style: FlutterFlowTheme.of(context)
|
|
||||||
.bodyLarge
|
|
||||||
.override(
|
|
||||||
fontFamily:
|
|
||||||
'Plus Jakarta Sans',
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.primaryText,
|
|
||||||
fontSize: 16.0,
|
|
||||||
letterSpacing: 0.0,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
useGoogleFonts: GoogleFonts
|
|
||||||
.asMap()
|
|
||||||
.containsKey(
|
|
||||||
'Plus Jakarta Sans'),
|
|
||||||
),
|
|
||||||
keyboardType:
|
|
||||||
TextInputType.emailAddress,
|
|
||||||
validator: _model
|
|
||||||
.emailAddressTextControllerValidator
|
|
||||||
.asValidator(context),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
|
||||||
0.0, 0.0, 0.0, 16.0),
|
|
||||||
child: SizedBox(
|
|
||||||
width: double.infinity,
|
|
||||||
child: TextFormField(
|
|
||||||
controller:
|
|
||||||
_model.passwordTextController,
|
|
||||||
focusNode: _model.passwordFocusNode,
|
|
||||||
autofocus: false,
|
|
||||||
textInputAction:
|
|
||||||
TextInputAction.send,
|
|
||||||
obscureText:
|
|
||||||
!_model.passwordVisibility,
|
|
||||||
decoration: InputDecoration(
|
|
||||||
labelText:
|
|
||||||
FFLocalizations.of(context)
|
|
||||||
.getText(
|
|
||||||
'2x19ce8k' /* Senha */,
|
|
||||||
),
|
|
||||||
labelStyle: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.labelLarge
|
|
||||||
.override(
|
|
||||||
fontFamily:
|
|
||||||
'Plus Jakarta Sans',
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.primaryText,
|
|
||||||
fontSize: 16.0,
|
|
||||||
letterSpacing: 0.0,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
useGoogleFonts: GoogleFonts
|
|
||||||
.asMap()
|
|
||||||
.containsKey(
|
|
||||||
'Plus Jakarta Sans'),
|
|
||||||
),
|
|
||||||
enabledBorder: OutlineInputBorder(
|
|
||||||
borderSide: BorderSide(
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.customColor1,
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
focusedBorder: OutlineInputBorder(
|
|
||||||
borderSide: const BorderSide(
|
|
||||||
color: Color(0xFF1AAB5F),
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
errorBorder: OutlineInputBorder(
|
|
||||||
borderSide: const BorderSide(
|
|
||||||
color: Color(0xFFFF5963),
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
focusedErrorBorder:
|
|
||||||
OutlineInputBorder(
|
|
||||||
borderSide: const BorderSide(
|
|
||||||
color: Color(0xFFFF5963),
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
filled: true,
|
|
||||||
fillColor:
|
|
||||||
FlutterFlowTheme.of(context)
|
|
||||||
.primaryBackground,
|
|
||||||
suffixIcon: InkWell(
|
|
||||||
onTap: () => setState(
|
|
||||||
() => _model
|
|
||||||
.passwordVisibility =
|
|
||||||
!_model
|
|
||||||
.passwordVisibility,
|
|
||||||
),
|
|
||||||
focusNode: FocusNode(
|
|
||||||
skipTraversal: true),
|
|
||||||
child: Icon(
|
|
||||||
_model.passwordVisibility
|
|
||||||
? Icons
|
|
||||||
.visibility_outlined
|
|
||||||
: Icons
|
|
||||||
.visibility_off_outlined,
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.accent1,
|
|
||||||
size: 24.0,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
style: FlutterFlowTheme.of(context)
|
Padding(
|
||||||
.bodyLarge
|
padding: const EdgeInsetsDirectional
|
||||||
.override(
|
.fromSTEB(
|
||||||
fontFamily:
|
0.0, 0.0, 0.0, 16.0),
|
||||||
'Plus Jakarta Sans',
|
child: SizedBox(
|
||||||
color: FlutterFlowTheme.of(
|
width: double.infinity,
|
||||||
|
child: TextFormField(
|
||||||
|
controller: _model
|
||||||
|
.passwordTextController,
|
||||||
|
focusNode:
|
||||||
|
_model.passwordFocusNode,
|
||||||
|
autofocus: false,
|
||||||
|
textInputAction:
|
||||||
|
TextInputAction.send,
|
||||||
|
obscureText: !_model
|
||||||
|
.passwordVisibility,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
isDense: true,
|
||||||
|
labelText:
|
||||||
|
FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getText(
|
||||||
|
'2x19ce8k' /* Senha */,
|
||||||
|
),
|
||||||
|
labelStyle: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.labelLarge
|
||||||
|
.override(
|
||||||
|
fontFamily:
|
||||||
|
'Plus Jakarta Sans',
|
||||||
|
color: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.primaryText,
|
||||||
|
fontSize: 16.0,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.w500,
|
||||||
|
useGoogleFonts:
|
||||||
|
GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
'Plus Jakarta Sans'),
|
||||||
|
),
|
||||||
|
enabledBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.customColor1,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
focusedBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: const BorderSide(
|
||||||
|
color:
|
||||||
|
Color(0xFF1AAB5F),
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
errorBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: const BorderSide(
|
||||||
|
color:
|
||||||
|
Color(0xFFFF5963),
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
focusedErrorBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: const BorderSide(
|
||||||
|
color:
|
||||||
|
Color(0xFFFF5963),
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
filled: true,
|
||||||
|
fillColor:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primaryBackground,
|
||||||
|
suffixIcon: InkWell(
|
||||||
|
onTap: () => setState(
|
||||||
|
() => _model
|
||||||
|
.passwordVisibility =
|
||||||
|
!_model
|
||||||
|
.passwordVisibility,
|
||||||
|
),
|
||||||
|
focusNode: FocusNode(
|
||||||
|
skipTraversal: true),
|
||||||
|
child: Icon(
|
||||||
|
_model.passwordVisibility
|
||||||
|
? Icons
|
||||||
|
.visibility_outlined
|
||||||
|
: Icons
|
||||||
|
.visibility_off_outlined,
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.accent1,
|
||||||
|
size: 24.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
style: FlutterFlowTheme.of(
|
||||||
context)
|
context)
|
||||||
.primaryText,
|
.bodyLarge
|
||||||
fontSize: 16.0,
|
.override(
|
||||||
letterSpacing: 0.0,
|
fontFamily:
|
||||||
fontWeight: FontWeight.w500,
|
'Plus Jakarta Sans',
|
||||||
useGoogleFonts: GoogleFonts
|
color:
|
||||||
.asMap()
|
FlutterFlowTheme.of(
|
||||||
.containsKey(
|
context)
|
||||||
'Plus Jakarta Sans'),
|
.primaryText,
|
||||||
|
fontSize: 16.0,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.w500,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
'Plus Jakarta Sans'),
|
||||||
|
),
|
||||||
|
validator: _model
|
||||||
|
.passwordTextControllerValidator
|
||||||
|
.asValidator(context),
|
||||||
),
|
),
|
||||||
validator: _model
|
),
|
||||||
.passwordTextControllerValidator
|
),
|
||||||
.asValidator(context),
|
],
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Builder(
|
Builder(
|
||||||
|
@ -448,12 +500,21 @@ 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: ((_model.emailAddressTextController
|
onPressed: (((_model.emailAddressTextController
|
||||||
.text ==
|
.text ==
|
||||||
'') &&
|
'') ||
|
||||||
(_model.passwordTextController
|
((_model.emailAddressFocusNode
|
||||||
.text ==
|
?.hasFocus ??
|
||||||
''))
|
false) !=
|
||||||
|
null)) &&
|
||||||
|
((_model.emailAddressTextController
|
||||||
|
.text ==
|
||||||
|
'') ||
|
||||||
|
((_model.passwordTextController.text ==
|
||||||
|
'') ||
|
||||||
|
((_model.passwordFocusNode?.hasFocus ??
|
||||||
|
false) !=
|
||||||
|
null))))
|
||||||
? null
|
? null
|
||||||
: () async {
|
: () async {
|
||||||
await action_blocks
|
await action_blocks
|
||||||
|
@ -525,7 +586,7 @@ class _SignInTemplateComponentWidgetState
|
||||||
BorderRadius.circular(
|
BorderRadius.circular(
|
||||||
12.0),
|
12.0),
|
||||||
disabledColor:
|
disabledColor:
|
||||||
const Color(0x951AAB5F),
|
const Color(0xE81AAB5F),
|
||||||
),
|
),
|
||||||
showLoadingIndicator: false,
|
showLoadingIndicator: false,
|
||||||
),
|
),
|
||||||
|
@ -617,10 +678,35 @@ class _SignInTemplateComponentWidgetState
|
||||||
.fromSTEB(0.0, 0.0,
|
.fromSTEB(0.0, 0.0,
|
||||||
0.0, 16.0),
|
0.0, 16.0),
|
||||||
child: FFButtonWidget(
|
child: FFButtonWidget(
|
||||||
onPressed: () {
|
onPressed: (((_model.emailAddressTextController
|
||||||
print(
|
.text ==
|
||||||
'signInButtonLoginForm pressed ...');
|
'') ||
|
||||||
},
|
((_model.emailAddressFocusNode
|
||||||
|
?.hasFocus ??
|
||||||
|
false) !=
|
||||||
|
null)) &&
|
||||||
|
((_model.emailAddressTextController
|
||||||
|
.text ==
|
||||||
|
'') ||
|
||||||
|
((_model.passwordTextController.text ==
|
||||||
|
'') ||
|
||||||
|
((_model.passwordFocusNode?.hasFocus ??
|
||||||
|
false) !=
|
||||||
|
null))))
|
||||||
|
? null
|
||||||
|
: () async {
|
||||||
|
await action_blocks
|
||||||
|
.singInActionApp(
|
||||||
|
context,
|
||||||
|
emailAdress: _model
|
||||||
|
.emailAddressTextController
|
||||||
|
.text,
|
||||||
|
password: _model
|
||||||
|
.passwordTextController
|
||||||
|
.text,
|
||||||
|
);
|
||||||
|
setState(() {});
|
||||||
|
},
|
||||||
text: FFLocalizations.of(
|
text: FFLocalizations.of(
|
||||||
context)
|
context)
|
||||||
.getText(
|
.getText(
|
||||||
|
@ -678,6 +764,8 @@ class _SignInTemplateComponentWidgetState
|
||||||
borderRadius:
|
borderRadius:
|
||||||
BorderRadius
|
BorderRadius
|
||||||
.circular(12.0),
|
.circular(12.0),
|
||||||
|
disabledColor:
|
||||||
|
const Color(0xE81AAB5F),
|
||||||
),
|
),
|
||||||
showLoadingIndicator:
|
showLoadingIndicator:
|
||||||
false,
|
false,
|
||||||
|
|
|
@ -7,28 +7,74 @@ class SignUpTemplateComponentModel
|
||||||
extends FlutterFlowModel<SignUpTemplateComponentWidget> {
|
extends FlutterFlowModel<SignUpTemplateComponentWidget> {
|
||||||
/// State fields for stateful widgets in this component.
|
/// State fields for stateful widgets in this component.
|
||||||
|
|
||||||
|
final formKey = GlobalKey<FormState>();
|
||||||
// State field(s) for nameRegisterForm widget.
|
// State field(s) for nameRegisterForm widget.
|
||||||
FocusNode? nameRegisterFormFocusNode;
|
FocusNode? nameRegisterFormFocusNode;
|
||||||
TextEditingController? nameRegisterFormTextController;
|
TextEditingController? nameRegisterFormTextController;
|
||||||
String? Function(BuildContext, String?)?
|
String? Function(BuildContext, String?)?
|
||||||
nameRegisterFormTextControllerValidator;
|
nameRegisterFormTextControllerValidator;
|
||||||
|
String? _nameRegisterFormTextControllerValidator(
|
||||||
|
BuildContext context, String? val) {
|
||||||
|
if (val == null || val.isEmpty) {
|
||||||
|
return FFLocalizations.of(context).getText(
|
||||||
|
'3bs10dfq' /* Campo é necessário */,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!RegExp(kTextValidatorUsernameRegex).hasMatch(val)) {
|
||||||
|
return 'Must start with a letter and can only contain letters, digits and - or _.';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// State field(s) for emailRegisterForm widget.
|
// State field(s) for emailRegisterForm widget.
|
||||||
FocusNode? emailRegisterFormFocusNode;
|
FocusNode? emailRegisterFormFocusNode;
|
||||||
TextEditingController? emailRegisterFormTextController;
|
TextEditingController? emailRegisterFormTextController;
|
||||||
String? Function(BuildContext, String?)?
|
String? Function(BuildContext, String?)?
|
||||||
emailRegisterFormTextControllerValidator;
|
emailRegisterFormTextControllerValidator;
|
||||||
|
String? _emailRegisterFormTextControllerValidator(
|
||||||
|
BuildContext context, String? val) {
|
||||||
|
if (val == null || val.isEmpty) {
|
||||||
|
return FFLocalizations.of(context).getText(
|
||||||
|
'mlvw63yj' /* Campo é necessário */,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
|
||||||
|
return 'Has to be a valid email address.';
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// State field(s) for passwordRegisterForm widget.
|
// State field(s) for passwordRegisterForm widget.
|
||||||
FocusNode? passwordRegisterFormFocusNode;
|
FocusNode? passwordRegisterFormFocusNode;
|
||||||
TextEditingController? passwordRegisterFormTextController;
|
TextEditingController? passwordRegisterFormTextController;
|
||||||
late bool passwordRegisterFormVisibility;
|
late bool passwordRegisterFormVisibility;
|
||||||
String? Function(BuildContext, String?)?
|
String? Function(BuildContext, String?)?
|
||||||
passwordRegisterFormTextControllerValidator;
|
passwordRegisterFormTextControllerValidator;
|
||||||
|
String? _passwordRegisterFormTextControllerValidator(
|
||||||
|
BuildContext context, String? val) {
|
||||||
|
if (val == null || val.isEmpty) {
|
||||||
|
return FFLocalizations.of(context).getText(
|
||||||
|
'6nn79lmh' /* Campo é necessário */,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
// Stores action output result for [Action Block - signUpActionApp] action in SignUpButtonRegisterForm widget.
|
// Stores action output result for [Action Block - signUpActionApp] action in SignUpButtonRegisterForm widget.
|
||||||
bool? signUp;
|
bool? signUp;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState(BuildContext context) {
|
void initState(BuildContext context) {
|
||||||
|
nameRegisterFormTextControllerValidator =
|
||||||
|
_nameRegisterFormTextControllerValidator;
|
||||||
|
emailRegisterFormTextControllerValidator =
|
||||||
|
_emailRegisterFormTextControllerValidator;
|
||||||
passwordRegisterFormVisibility = false;
|
passwordRegisterFormVisibility = false;
|
||||||
|
passwordRegisterFormTextControllerValidator =
|
||||||
|
_passwordRegisterFormTextControllerValidator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
|
@ -206,411 +206,512 @@ class _SignUpTemplateComponentWidgetState
|
||||||
crossAxisAlignment:
|
crossAxisAlignment:
|
||||||
CrossAxisAlignment.center,
|
CrossAxisAlignment.center,
|
||||||
children: [
|
children: [
|
||||||
Padding(
|
Form(
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
key: _model.formKey,
|
||||||
0.0, 0.0, 0.0, 16.0),
|
autovalidateMode:
|
||||||
child: SizedBox(
|
AutovalidateMode.disabled,
|
||||||
width: double.infinity,
|
child: Column(
|
||||||
child: TextFormField(
|
mainAxisSize: MainAxisSize.max,
|
||||||
controller: _model
|
children: [
|
||||||
.nameRegisterFormTextController,
|
Padding(
|
||||||
focusNode: _model
|
padding: const EdgeInsetsDirectional
|
||||||
.nameRegisterFormFocusNode,
|
.fromSTEB(
|
||||||
onChanged: (_) =>
|
0.0, 0.0, 0.0, 16.0),
|
||||||
EasyDebounce.debounce(
|
child: SizedBox(
|
||||||
'_model.nameRegisterFormTextController',
|
width: double.infinity,
|
||||||
const Duration(milliseconds: 2000),
|
child: TextFormField(
|
||||||
() => setState(() {}),
|
controller: _model
|
||||||
),
|
.nameRegisterFormTextController,
|
||||||
autofocus: false,
|
focusNode: _model
|
||||||
autofillHints: const [AutofillHints.name],
|
.nameRegisterFormFocusNode,
|
||||||
obscureText: false,
|
onChanged: (_) =>
|
||||||
decoration: InputDecoration(
|
EasyDebounce.debounce(
|
||||||
labelText:
|
'_model.nameRegisterFormTextController',
|
||||||
FFLocalizations.of(context)
|
const Duration(
|
||||||
.getText(
|
milliseconds: 2000),
|
||||||
'3corpwhd' /* Nome */,
|
() => setState(() {}),
|
||||||
),
|
|
||||||
labelStyle: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.labelLarge
|
|
||||||
.override(
|
|
||||||
fontFamily:
|
|
||||||
'Plus Jakarta Sans',
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.primaryText,
|
|
||||||
fontSize: 16.0,
|
|
||||||
letterSpacing: 0.0,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
useGoogleFonts: GoogleFonts
|
|
||||||
.asMap()
|
|
||||||
.containsKey(
|
|
||||||
'Plus Jakarta Sans'),
|
|
||||||
),
|
),
|
||||||
enabledBorder: OutlineInputBorder(
|
autofocus: false,
|
||||||
borderSide: BorderSide(
|
autofillHints: const [
|
||||||
color: FlutterFlowTheme.of(
|
AutofillHints.name
|
||||||
context)
|
],
|
||||||
.customColor1,
|
obscureText: false,
|
||||||
width: 0.5,
|
decoration: InputDecoration(
|
||||||
),
|
isDense: true,
|
||||||
borderRadius:
|
labelText:
|
||||||
BorderRadius.circular(12.0),
|
FFLocalizations.of(
|
||||||
),
|
context)
|
||||||
focusedBorder: OutlineInputBorder(
|
.getText(
|
||||||
borderSide: BorderSide(
|
'3corpwhd' /* Nome */,
|
||||||
color: FlutterFlowTheme.of(
|
),
|
||||||
context)
|
labelStyle: FlutterFlowTheme
|
||||||
.success,
|
.of(context)
|
||||||
width: 0.5,
|
.labelLarge
|
||||||
),
|
.override(
|
||||||
borderRadius:
|
fontFamily:
|
||||||
BorderRadius.circular(12.0),
|
'Plus Jakarta Sans',
|
||||||
),
|
color: FlutterFlowTheme
|
||||||
errorBorder: OutlineInputBorder(
|
.of(context)
|
||||||
borderSide: BorderSide(
|
.primaryText,
|
||||||
color: FlutterFlowTheme.of(
|
fontSize: 16.0,
|
||||||
context)
|
letterSpacing: 0.0,
|
||||||
.error,
|
fontWeight:
|
||||||
width: 0.5,
|
FontWeight.w500,
|
||||||
),
|
useGoogleFonts:
|
||||||
borderRadius:
|
GoogleFonts
|
||||||
BorderRadius.circular(12.0),
|
.asMap()
|
||||||
),
|
.containsKey(
|
||||||
focusedErrorBorder:
|
'Plus Jakarta Sans'),
|
||||||
OutlineInputBorder(
|
),
|
||||||
borderSide: BorderSide(
|
enabledBorder:
|
||||||
color: FlutterFlowTheme.of(
|
OutlineInputBorder(
|
||||||
context)
|
borderSide: BorderSide(
|
||||||
.error,
|
color:
|
||||||
width: 0.5,
|
FlutterFlowTheme.of(
|
||||||
),
|
context)
|
||||||
borderRadius:
|
.customColor1,
|
||||||
BorderRadius.circular(12.0),
|
width: 0.25,
|
||||||
),
|
),
|
||||||
filled: true,
|
borderRadius:
|
||||||
fillColor:
|
BorderRadius.circular(
|
||||||
FlutterFlowTheme.of(context)
|
12.0),
|
||||||
.primaryBackground,
|
),
|
||||||
suffixIcon: Icon(
|
focusedBorder:
|
||||||
Icons.person,
|
OutlineInputBorder(
|
||||||
color:
|
borderSide: BorderSide(
|
||||||
FlutterFlowTheme.of(context)
|
color:
|
||||||
.accent1,
|
FlutterFlowTheme.of(
|
||||||
size: 22.0,
|
context)
|
||||||
),
|
.success,
|
||||||
),
|
width: 0.25,
|
||||||
style: FlutterFlowTheme.of(context)
|
),
|
||||||
.bodyLarge
|
borderRadius:
|
||||||
.override(
|
BorderRadius.circular(
|
||||||
fontFamily:
|
12.0),
|
||||||
'Plus Jakarta Sans',
|
),
|
||||||
color: FlutterFlowTheme.of(
|
errorBorder:
|
||||||
context)
|
OutlineInputBorder(
|
||||||
.primaryText,
|
borderSide: BorderSide(
|
||||||
fontSize: 16.0,
|
color:
|
||||||
letterSpacing: 0.0,
|
FlutterFlowTheme.of(
|
||||||
fontWeight: FontWeight.w500,
|
context)
|
||||||
useGoogleFonts: GoogleFonts
|
.error,
|
||||||
.asMap()
|
width: 0.25,
|
||||||
.containsKey(
|
),
|
||||||
'Plus Jakarta Sans'),
|
borderRadius:
|
||||||
),
|
BorderRadius.circular(
|
||||||
keyboardType: TextInputType.name,
|
12.0),
|
||||||
validator: _model
|
),
|
||||||
.nameRegisterFormTextControllerValidator
|
focusedErrorBorder:
|
||||||
.asValidator(context),
|
OutlineInputBorder(
|
||||||
),
|
borderSide: BorderSide(
|
||||||
),
|
color:
|
||||||
),
|
FlutterFlowTheme.of(
|
||||||
Padding(
|
context)
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
.error,
|
||||||
0.0, 0.0, 0.0, 16.0),
|
width: 0.25,
|
||||||
child: SizedBox(
|
),
|
||||||
width: double.infinity,
|
borderRadius:
|
||||||
child: TextFormField(
|
BorderRadius.circular(
|
||||||
controller: _model
|
12.0),
|
||||||
.emailRegisterFormTextController,
|
),
|
||||||
focusNode: _model
|
filled: true,
|
||||||
.emailRegisterFormFocusNode,
|
fillColor:
|
||||||
onChanged: (_) =>
|
FlutterFlowTheme.of(
|
||||||
EasyDebounce.debounce(
|
context)
|
||||||
'_model.emailRegisterFormTextController',
|
.primaryBackground,
|
||||||
const Duration(milliseconds: 2000),
|
suffixIcon: Icon(
|
||||||
() => setState(() {}),
|
Icons.person,
|
||||||
),
|
color:
|
||||||
autofocus: false,
|
FlutterFlowTheme.of(
|
||||||
autofillHints: const [
|
context)
|
||||||
AutofillHints.email
|
.accent1,
|
||||||
],
|
size: 22.0,
|
||||||
obscureText: false,
|
),
|
||||||
decoration: InputDecoration(
|
|
||||||
labelText:
|
|
||||||
FFLocalizations.of(context)
|
|
||||||
.getText(
|
|
||||||
'80wonb69' /* Email */,
|
|
||||||
),
|
|
||||||
labelStyle: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.labelLarge
|
|
||||||
.override(
|
|
||||||
fontFamily:
|
|
||||||
'Plus Jakarta Sans',
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.primaryText,
|
|
||||||
fontSize: 16.0,
|
|
||||||
letterSpacing: 0.0,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
useGoogleFonts: GoogleFonts
|
|
||||||
.asMap()
|
|
||||||
.containsKey(
|
|
||||||
'Plus Jakarta Sans'),
|
|
||||||
),
|
),
|
||||||
enabledBorder: OutlineInputBorder(
|
style: FlutterFlowTheme.of(
|
||||||
borderSide: BorderSide(
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
context)
|
||||||
.primaryText,
|
.bodyLarge
|
||||||
width: 0.5,
|
.override(
|
||||||
|
fontFamily:
|
||||||
|
'Plus Jakarta Sans',
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primaryText,
|
||||||
|
fontSize: 16.0,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.w500,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
'Plus Jakarta Sans'),
|
||||||
|
),
|
||||||
|
keyboardType:
|
||||||
|
TextInputType.name,
|
||||||
|
validator: _model
|
||||||
|
.nameRegisterFormTextControllerValidator
|
||||||
|
.asValidator(context),
|
||||||
),
|
),
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
focusedBorder: OutlineInputBorder(
|
|
||||||
borderSide: BorderSide(
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.success,
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
errorBorder: OutlineInputBorder(
|
|
||||||
borderSide: BorderSide(
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.error,
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
focusedErrorBorder:
|
|
||||||
OutlineInputBorder(
|
|
||||||
borderSide: BorderSide(
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.error,
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
filled: true,
|
|
||||||
fillColor:
|
|
||||||
FlutterFlowTheme.of(context)
|
|
||||||
.primaryBackground,
|
|
||||||
suffixIcon: Icon(
|
|
||||||
Icons.email,
|
|
||||||
color:
|
|
||||||
FlutterFlowTheme.of(context)
|
|
||||||
.accent1,
|
|
||||||
size: 22.0,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
style: FlutterFlowTheme.of(context)
|
Padding(
|
||||||
.bodyLarge
|
padding: const EdgeInsetsDirectional
|
||||||
.override(
|
.fromSTEB(
|
||||||
fontFamily:
|
0.0, 0.0, 0.0, 16.0),
|
||||||
'Plus Jakarta Sans',
|
child: SizedBox(
|
||||||
color: FlutterFlowTheme.of(
|
width: double.infinity,
|
||||||
context)
|
child: TextFormField(
|
||||||
.customColor1,
|
controller: _model
|
||||||
fontSize: 16.0,
|
.emailRegisterFormTextController,
|
||||||
letterSpacing: 0.0,
|
focusNode: _model
|
||||||
fontWeight: FontWeight.w500,
|
.emailRegisterFormFocusNode,
|
||||||
useGoogleFonts: GoogleFonts
|
onChanged: (_) =>
|
||||||
.asMap()
|
EasyDebounce.debounce(
|
||||||
.containsKey(
|
'_model.emailRegisterFormTextController',
|
||||||
'Plus Jakarta Sans'),
|
const Duration(
|
||||||
),
|
milliseconds: 2000),
|
||||||
keyboardType:
|
() => setState(() {}),
|
||||||
TextInputType.emailAddress,
|
|
||||||
validator: _model
|
|
||||||
.emailRegisterFormTextControllerValidator
|
|
||||||
.asValidator(context),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
|
||||||
0.0, 0.0, 0.0, 16.0),
|
|
||||||
child: SizedBox(
|
|
||||||
width: double.infinity,
|
|
||||||
child: TextFormField(
|
|
||||||
controller: _model
|
|
||||||
.passwordRegisterFormTextController,
|
|
||||||
focusNode: _model
|
|
||||||
.passwordRegisterFormFocusNode,
|
|
||||||
onChanged: (_) =>
|
|
||||||
EasyDebounce.debounce(
|
|
||||||
'_model.passwordRegisterFormTextController',
|
|
||||||
const Duration(milliseconds: 2000),
|
|
||||||
() => setState(() {}),
|
|
||||||
),
|
|
||||||
autofocus: false,
|
|
||||||
autofillHints: const [
|
|
||||||
AutofillHints.password
|
|
||||||
],
|
|
||||||
obscureText: !_model
|
|
||||||
.passwordRegisterFormVisibility,
|
|
||||||
decoration: InputDecoration(
|
|
||||||
labelText:
|
|
||||||
FFLocalizations.of(context)
|
|
||||||
.getText(
|
|
||||||
'0firji8l' /* Senha */,
|
|
||||||
),
|
|
||||||
labelStyle: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.labelLarge
|
|
||||||
.override(
|
|
||||||
fontFamily:
|
|
||||||
'Plus Jakarta Sans',
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.primaryText,
|
|
||||||
fontSize: 16.0,
|
|
||||||
letterSpacing: 0.0,
|
|
||||||
fontWeight: FontWeight.w500,
|
|
||||||
useGoogleFonts: GoogleFonts
|
|
||||||
.asMap()
|
|
||||||
.containsKey(
|
|
||||||
'Plus Jakarta Sans'),
|
|
||||||
),
|
),
|
||||||
enabledBorder: OutlineInputBorder(
|
autofocus: false,
|
||||||
borderSide: BorderSide(
|
autofillHints: const [
|
||||||
color: FlutterFlowTheme.of(
|
AutofillHints.email
|
||||||
|
],
|
||||||
|
obscureText: false,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
isDense: true,
|
||||||
|
labelText:
|
||||||
|
FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getText(
|
||||||
|
'80wonb69' /* Email */,
|
||||||
|
),
|
||||||
|
labelStyle: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.labelLarge
|
||||||
|
.override(
|
||||||
|
fontFamily:
|
||||||
|
'Plus Jakarta Sans',
|
||||||
|
color: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.primaryText,
|
||||||
|
fontSize: 16.0,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.w500,
|
||||||
|
useGoogleFonts:
|
||||||
|
GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
'Plus Jakarta Sans'),
|
||||||
|
),
|
||||||
|
enabledBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primaryText,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
focusedBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.success,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
errorBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.error,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
focusedErrorBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.error,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
filled: true,
|
||||||
|
fillColor:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primaryBackground,
|
||||||
|
suffixIcon: Icon(
|
||||||
|
Icons.email,
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.accent1,
|
||||||
|
size: 22.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
style: FlutterFlowTheme.of(
|
||||||
context)
|
context)
|
||||||
.customColor1,
|
.bodyLarge
|
||||||
width: 0.5,
|
.override(
|
||||||
),
|
fontFamily:
|
||||||
borderRadius:
|
'Plus Jakarta Sans',
|
||||||
BorderRadius.circular(12.0),
|
color:
|
||||||
),
|
FlutterFlowTheme.of(
|
||||||
focusedBorder: OutlineInputBorder(
|
context)
|
||||||
borderSide: const BorderSide(
|
.customColor1,
|
||||||
color: Color(0xFF1AAB5F),
|
fontSize: 16.0,
|
||||||
width: 0.5,
|
letterSpacing: 0.0,
|
||||||
),
|
fontWeight:
|
||||||
borderRadius:
|
FontWeight.w500,
|
||||||
BorderRadius.circular(12.0),
|
useGoogleFonts: GoogleFonts
|
||||||
),
|
.asMap()
|
||||||
errorBorder: OutlineInputBorder(
|
.containsKey(
|
||||||
borderSide: const BorderSide(
|
'Plus Jakarta Sans'),
|
||||||
color: Color(0xFFFF5963),
|
),
|
||||||
width: 0.5,
|
keyboardType: TextInputType
|
||||||
),
|
.emailAddress,
|
||||||
borderRadius:
|
validator: _model
|
||||||
BorderRadius.circular(12.0),
|
.emailRegisterFormTextControllerValidator
|
||||||
),
|
.asValidator(context),
|
||||||
focusedErrorBorder:
|
|
||||||
OutlineInputBorder(
|
|
||||||
borderSide: const BorderSide(
|
|
||||||
color: Color(0xFFFF5963),
|
|
||||||
width: 0.5,
|
|
||||||
),
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.circular(12.0),
|
|
||||||
),
|
|
||||||
filled: true,
|
|
||||||
fillColor:
|
|
||||||
FlutterFlowTheme.of(context)
|
|
||||||
.primaryBackground,
|
|
||||||
suffixIcon: InkWell(
|
|
||||||
onTap: () => setState(
|
|
||||||
() => _model
|
|
||||||
.passwordRegisterFormVisibility =
|
|
||||||
!_model
|
|
||||||
.passwordRegisterFormVisibility,
|
|
||||||
),
|
|
||||||
focusNode: FocusNode(
|
|
||||||
skipTraversal: true),
|
|
||||||
child: Icon(
|
|
||||||
_model.passwordRegisterFormVisibility
|
|
||||||
? Icons
|
|
||||||
.visibility_outlined
|
|
||||||
: Icons
|
|
||||||
.visibility_off_outlined,
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.accent1,
|
|
||||||
size: 24.0,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
style: FlutterFlowTheme.of(context)
|
Padding(
|
||||||
.bodyLarge
|
padding: const EdgeInsetsDirectional
|
||||||
.override(
|
.fromSTEB(
|
||||||
fontFamily:
|
0.0, 0.0, 0.0, 16.0),
|
||||||
'Plus Jakarta Sans',
|
child: SizedBox(
|
||||||
color: FlutterFlowTheme.of(
|
width: double.infinity,
|
||||||
|
child: TextFormField(
|
||||||
|
controller: _model
|
||||||
|
.passwordRegisterFormTextController,
|
||||||
|
focusNode: _model
|
||||||
|
.passwordRegisterFormFocusNode,
|
||||||
|
onChanged: (_) =>
|
||||||
|
EasyDebounce.debounce(
|
||||||
|
'_model.passwordRegisterFormTextController',
|
||||||
|
const Duration(
|
||||||
|
milliseconds: 2000),
|
||||||
|
() => setState(() {}),
|
||||||
|
),
|
||||||
|
autofocus: false,
|
||||||
|
autofillHints: const [
|
||||||
|
AutofillHints.password
|
||||||
|
],
|
||||||
|
obscureText: !_model
|
||||||
|
.passwordRegisterFormVisibility,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
isDense: true,
|
||||||
|
labelText:
|
||||||
|
FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getText(
|
||||||
|
'0firji8l' /* Senha */,
|
||||||
|
),
|
||||||
|
labelStyle: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.labelLarge
|
||||||
|
.override(
|
||||||
|
fontFamily:
|
||||||
|
'Plus Jakarta Sans',
|
||||||
|
color: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.primaryText,
|
||||||
|
fontSize: 16.0,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.w500,
|
||||||
|
useGoogleFonts:
|
||||||
|
GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
'Plus Jakarta Sans'),
|
||||||
|
),
|
||||||
|
enabledBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.customColor1,
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
focusedBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: const BorderSide(
|
||||||
|
color:
|
||||||
|
Color(0xFF1AAB5F),
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
errorBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: const BorderSide(
|
||||||
|
color:
|
||||||
|
Color(0xFFFF5963),
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
focusedErrorBorder:
|
||||||
|
OutlineInputBorder(
|
||||||
|
borderSide: const BorderSide(
|
||||||
|
color:
|
||||||
|
Color(0xFFFF5963),
|
||||||
|
width: 0.25,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(
|
||||||
|
12.0),
|
||||||
|
),
|
||||||
|
filled: true,
|
||||||
|
fillColor:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primaryBackground,
|
||||||
|
suffixIcon: InkWell(
|
||||||
|
onTap: () => setState(
|
||||||
|
() => _model
|
||||||
|
.passwordRegisterFormVisibility =
|
||||||
|
!_model
|
||||||
|
.passwordRegisterFormVisibility,
|
||||||
|
),
|
||||||
|
focusNode: FocusNode(
|
||||||
|
skipTraversal: true),
|
||||||
|
child: Icon(
|
||||||
|
_model.passwordRegisterFormVisibility
|
||||||
|
? Icons
|
||||||
|
.visibility_outlined
|
||||||
|
: Icons
|
||||||
|
.visibility_off_outlined,
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.accent1,
|
||||||
|
size: 24.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
style: FlutterFlowTheme.of(
|
||||||
context)
|
context)
|
||||||
.primaryText,
|
.bodyLarge
|
||||||
fontSize: 16.0,
|
.override(
|
||||||
letterSpacing: 0.0,
|
fontFamily:
|
||||||
fontWeight: FontWeight.w500,
|
'Plus Jakarta Sans',
|
||||||
useGoogleFonts: GoogleFonts
|
color:
|
||||||
.asMap()
|
FlutterFlowTheme.of(
|
||||||
.containsKey(
|
context)
|
||||||
'Plus Jakarta Sans'),
|
.primaryText,
|
||||||
|
fontSize: 16.0,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight.w500,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
'Plus Jakarta Sans'),
|
||||||
|
),
|
||||||
|
validator: _model
|
||||||
|
.passwordRegisterFormTextControllerValidator
|
||||||
|
.asValidator(context),
|
||||||
),
|
),
|
||||||
validator: _model
|
),
|
||||||
.passwordRegisterFormTextControllerValidator
|
),
|
||||||
.asValidator(context),
|
],
|
||||||
),
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
padding: const EdgeInsetsDirectional.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.nameRegisterFormTextController
|
||||||
var shouldSetState = false;
|
.text !=
|
||||||
_model.signUp = await action_blocks
|
'') ||
|
||||||
.signUpActionApp(
|
((_model.nameRegisterFormFocusNode?.hasFocus ??
|
||||||
context,
|
false) !=
|
||||||
name: _model
|
null)) &&
|
||||||
.nameRegisterFormTextController
|
((_model.emailRegisterFormTextController
|
||||||
.text,
|
.text !=
|
||||||
passwd: _model
|
'') ||
|
||||||
.passwordRegisterFormTextController
|
((_model.emailRegisterFormFocusNode
|
||||||
.text,
|
?.hasFocus ??
|
||||||
email: _model
|
false) !=
|
||||||
.emailRegisterFormTextController
|
null)) &&
|
||||||
.text,
|
((_model.passwordRegisterFormTextController
|
||||||
device: FFAppState().device,
|
.text !=
|
||||||
);
|
'') ||
|
||||||
shouldSetState = true;
|
((_model.passwordRegisterFormFocusNode
|
||||||
if (_model.signUp == true) {
|
?.hasFocus ??
|
||||||
await widget
|
false) !=
|
||||||
.toggleOnBoardingPageAction
|
null)))
|
||||||
?.call(
|
? null
|
||||||
'SignIn',
|
: () async {
|
||||||
);
|
var shouldSetState = false;
|
||||||
} else {
|
_model.signUp =
|
||||||
if (shouldSetState) {
|
await action_blocks
|
||||||
setState(() {});
|
.signUpActionApp(
|
||||||
}
|
context,
|
||||||
return;
|
name: _model
|
||||||
}
|
.nameRegisterFormTextController
|
||||||
|
.text,
|
||||||
|
passwd: _model
|
||||||
|
.passwordRegisterFormTextController
|
||||||
|
.text,
|
||||||
|
email: _model
|
||||||
|
.emailRegisterFormTextController
|
||||||
|
.text,
|
||||||
|
device: FFAppState().device,
|
||||||
|
);
|
||||||
|
shouldSetState = true;
|
||||||
|
if (_model.signUp == true) {
|
||||||
|
await widget
|
||||||
|
.toggleOnBoardingPageAction
|
||||||
|
?.call(
|
||||||
|
'SignIn',
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
if (shouldSetState) {
|
||||||
|
setState(() {});
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (shouldSetState) {
|
if (shouldSetState) {
|
||||||
setState(() {});
|
setState(() {});
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
text: FFLocalizations.of(context)
|
text: FFLocalizations.of(context)
|
||||||
.getText(
|
.getText(
|
||||||
'rnvdwzei' /* Cadastrar-se */,
|
'rnvdwzei' /* Cadastrar-se */,
|
||||||
|
|
|
@ -414,6 +414,84 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'en': '',
|
'en': '',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
// acessHistoryPage
|
||||||
|
{
|
||||||
|
'rjdp7j73': {
|
||||||
|
'pt': 'Visitantes',
|
||||||
|
'en': 'Visitors',
|
||||||
|
},
|
||||||
|
'nhxs49l9': {
|
||||||
|
'pt': 'Visitante: ',
|
||||||
|
'en': 'Visitor:',
|
||||||
|
},
|
||||||
|
'x9jg3kfx': {
|
||||||
|
'pt': 'Início em: ',
|
||||||
|
'en': 'Beginning in:',
|
||||||
|
},
|
||||||
|
'dh8ib64e': {
|
||||||
|
'pt': 'Fim em: ',
|
||||||
|
'en': 'End in:',
|
||||||
|
},
|
||||||
|
'1qa1ok6g': {
|
||||||
|
'pt': 'Todos',
|
||||||
|
'en': 'All',
|
||||||
|
},
|
||||||
|
'ftl6katl': {
|
||||||
|
'pt': 'Visitante: ',
|
||||||
|
'en': 'Visitor:',
|
||||||
|
},
|
||||||
|
'dbquxozy': {
|
||||||
|
'pt': 'Início em: ',
|
||||||
|
'en': 'Beginning in:',
|
||||||
|
},
|
||||||
|
'gjw5vcc6': {
|
||||||
|
'pt': 'Fim em: ',
|
||||||
|
'en': 'End in:',
|
||||||
|
},
|
||||||
|
'rvac7h59': {
|
||||||
|
'pt': 'Moradores',
|
||||||
|
'en': 'Residents',
|
||||||
|
},
|
||||||
|
'0xbh5f3a': {
|
||||||
|
'pt': 'Visitante: ',
|
||||||
|
'en': 'Visitor:',
|
||||||
|
},
|
||||||
|
'gq3pp39j': {
|
||||||
|
'pt': 'Início em: ',
|
||||||
|
'en': 'Beginning in:',
|
||||||
|
},
|
||||||
|
'7iaxwb8o': {
|
||||||
|
'pt': 'Fim em: ',
|
||||||
|
'en': 'End in:',
|
||||||
|
},
|
||||||
|
'5uzkio93': {
|
||||||
|
'pt': 'Home',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// liberationHistory
|
||||||
|
{
|
||||||
|
'dy0mx15f': {
|
||||||
|
'pt': 'Label here...',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
'f77je6tr': {
|
||||||
|
'pt': 'Visitante: ',
|
||||||
|
'en': 'Visitor:',
|
||||||
|
},
|
||||||
|
'dkzewokx': {
|
||||||
|
'pt': 'Início em: ',
|
||||||
|
'en': 'Beginning in:',
|
||||||
|
},
|
||||||
|
'qi4mjhtw': {
|
||||||
|
'pt': 'Fim em: ',
|
||||||
|
'en': 'End in:',
|
||||||
|
},
|
||||||
|
'1skj43ye': {
|
||||||
|
'pt': 'Home',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
},
|
||||||
// visitorDetailsModalTemplateComponent
|
// visitorDetailsModalTemplateComponent
|
||||||
{
|
{
|
||||||
'kqzf7nx2': {
|
'kqzf7nx2': {
|
||||||
|
@ -723,6 +801,22 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'pt': 'Senha',
|
'pt': 'Senha',
|
||||||
'en': 'Password',
|
'en': 'Password',
|
||||||
},
|
},
|
||||||
|
'xhnawzcb': {
|
||||||
|
'pt': 'Campo é necessário',
|
||||||
|
'en': 'Field is required',
|
||||||
|
},
|
||||||
|
'2ib9bf67': {
|
||||||
|
'pt': 'Please choose an option from the dropdown',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
'9cs5wlmc': {
|
||||||
|
'pt': 'Campo é necessário',
|
||||||
|
'en': 'Field is required',
|
||||||
|
},
|
||||||
|
'rkxwb0sg': {
|
||||||
|
'pt': 'Please choose an option from the dropdown',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
'k44tm7wo': {
|
'k44tm7wo': {
|
||||||
'pt': 'Entrar',
|
'pt': 'Entrar',
|
||||||
'en': 'Sign-In',
|
'en': 'Sign-In',
|
||||||
|
@ -774,6 +868,30 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'pt': 'Senha',
|
'pt': 'Senha',
|
||||||
'en': 'Password',
|
'en': 'Password',
|
||||||
},
|
},
|
||||||
|
'3bs10dfq': {
|
||||||
|
'pt': 'Campo é necessário',
|
||||||
|
'en': 'Field is required',
|
||||||
|
},
|
||||||
|
'ph22karc': {
|
||||||
|
'pt': 'Please choose an option from the dropdown',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
'mlvw63yj': {
|
||||||
|
'pt': 'Campo é necessário',
|
||||||
|
'en': 'Field is required',
|
||||||
|
},
|
||||||
|
'z0bv6wi2': {
|
||||||
|
'pt': 'Please choose an option from the dropdown',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
'6nn79lmh': {
|
||||||
|
'pt': 'Campo é necessário',
|
||||||
|
'en': 'Field is required',
|
||||||
|
},
|
||||||
|
'rcikqhf1': {
|
||||||
|
'pt': 'Please choose an option from the dropdown',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
'rnvdwzei': {
|
'rnvdwzei': {
|
||||||
'pt': 'Cadastrar-se',
|
'pt': 'Cadastrar-se',
|
||||||
'en': 'Sign-Up',
|
'en': 'Sign-Up',
|
||||||
|
|
|
@ -42,7 +42,7 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: const PeopleOnThePropertyPageWidget(),
|
: const LiberationHistoryWidget(),
|
||||||
routes: [
|
routes: [
|
||||||
FFRoute(
|
FFRoute(
|
||||||
name: '_initialize',
|
name: '_initialize',
|
||||||
|
@ -57,7 +57,7 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
: const PeopleOnThePropertyPageWidget(),
|
: const LiberationHistoryWidget(),
|
||||||
),
|
),
|
||||||
FFRoute(
|
FFRoute(
|
||||||
name: 'homePage',
|
name: 'homePage',
|
||||||
|
@ -127,6 +127,16 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
|
||||||
name: 'peopleOnThePropertyPage',
|
name: 'peopleOnThePropertyPage',
|
||||||
path: '/peopleOnThePropertyPage',
|
path: '/peopleOnThePropertyPage',
|
||||||
builder: (context, params) => const PeopleOnThePropertyPageWidget(),
|
builder: (context, params) => const PeopleOnThePropertyPageWidget(),
|
||||||
|
),
|
||||||
|
FFRoute(
|
||||||
|
name: 'acessHistoryPage',
|
||||||
|
path: '/acessHistoryPage',
|
||||||
|
builder: (context, params) => const AcessHistoryPageWidget(),
|
||||||
|
),
|
||||||
|
FFRoute(
|
||||||
|
name: 'liberationHistory',
|
||||||
|
path: '/liberationHistory',
|
||||||
|
builder: (context, params) => const LiberationHistoryWidget(),
|
||||||
)
|
)
|
||||||
].map((r) => r.toRoute(appStateNotifier)).toList(),
|
].map((r) => r.toRoute(appStateNotifier)).toList(),
|
||||||
);
|
);
|
||||||
|
|
|
@ -12,3 +12,7 @@ export '/pages/fast_pass_page/fast_pass_page_widget.dart'
|
||||||
show FastPassPageWidget;
|
show FastPassPageWidget;
|
||||||
export '/pages/people_on_the_property_page/people_on_the_property_page_widget.dart'
|
export '/pages/people_on_the_property_page/people_on_the_property_page_widget.dart'
|
||||||
show PeopleOnThePropertyPageWidget;
|
show PeopleOnThePropertyPageWidget;
|
||||||
|
export '/pages/acess_history_page/acess_history_page_widget.dart'
|
||||||
|
show AcessHistoryPageWidget;
|
||||||
|
export '/pages/liberation_history/liberation_history_widget.dart'
|
||||||
|
show LiberationHistoryWidget;
|
||||||
|
|
|
@ -0,0 +1,22 @@
|
||||||
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
|
import 'acess_history_page_widget.dart' show AcessHistoryPageWidget;
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class AcessHistoryPageModel extends FlutterFlowModel<AcessHistoryPageWidget> {
|
||||||
|
/// State fields for stateful widgets in this page.
|
||||||
|
|
||||||
|
final unfocusNode = FocusNode();
|
||||||
|
// State field(s) for TabBar widget.
|
||||||
|
TabController? tabBarController;
|
||||||
|
int get tabBarCurrentIndex =>
|
||||||
|
tabBarController != null ? tabBarController!.index : 0;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState(BuildContext context) {}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
unfocusNode.dispose();
|
||||||
|
tabBarController?.dispose();
|
||||||
|
}
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,23 @@
|
||||||
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
|
import 'liberation_history_widget.dart' show LiberationHistoryWidget;
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
class LiberationHistoryModel extends FlutterFlowModel<LiberationHistoryWidget> {
|
||||||
|
/// State fields for stateful widgets in this page.
|
||||||
|
|
||||||
|
final unfocusNode = FocusNode();
|
||||||
|
// State field(s) for TextField widget.
|
||||||
|
FocusNode? textFieldFocusNode;
|
||||||
|
TextEditingController? textController;
|
||||||
|
String? Function(BuildContext, String?)? textControllerValidator;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState(BuildContext context) {}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
unfocusNode.dispose();
|
||||||
|
textFieldFocusNode?.dispose();
|
||||||
|
textController?.dispose();
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,680 @@
|
||||||
|
import '/backend/api_requests/api_calls.dart';
|
||||||
|
import '/components/templates_components/visit_details_modal_template_component/visit_details_modal_template_component_widget.dart';
|
||||||
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
|
import '/flutter_flow/custom_functions.dart' as functions;
|
||||||
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
||||||
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
import 'liberation_history_model.dart';
|
||||||
|
export 'liberation_history_model.dart';
|
||||||
|
|
||||||
|
class LiberationHistoryWidget extends StatefulWidget {
|
||||||
|
const LiberationHistoryWidget({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<LiberationHistoryWidget> createState() =>
|
||||||
|
_LiberationHistoryWidgetState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _LiberationHistoryWidgetState extends State<LiberationHistoryWidget> {
|
||||||
|
late LiberationHistoryModel _model;
|
||||||
|
|
||||||
|
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
|
|
||||||
|
@override
|
||||||
|
void initState() {
|
||||||
|
super.initState();
|
||||||
|
_model = createModel(context, () => LiberationHistoryModel());
|
||||||
|
|
||||||
|
_model.textController ??= TextEditingController();
|
||||||
|
_model.textFieldFocusNode ??= FocusNode();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
void dispose() {
|
||||||
|
_model.dispose();
|
||||||
|
|
||||||
|
super.dispose();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
context.watch<FFAppState>();
|
||||||
|
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () => _model.unfocusNode.canRequestFocus
|
||||||
|
? FocusScope.of(context).requestFocus(_model.unfocusNode)
|
||||||
|
: FocusScope.of(context).unfocus(),
|
||||||
|
child: Scaffold(
|
||||||
|
key: scaffoldKey,
|
||||||
|
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
||||||
|
body: SafeArea(
|
||||||
|
top: true,
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.max,
|
||||||
|
mainAxisAlignment: MainAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: double.infinity,
|
||||||
|
height: 100.0,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: FlutterFlowTheme.of(context).secondaryBackground,
|
||||||
|
),
|
||||||
|
alignment: const AlignmentDirectional(0.0, -1.0),
|
||||||
|
child: Padding(
|
||||||
|
padding: const EdgeInsetsDirectional.fromSTEB(8.0, 0.0, 8.0, 0.0),
|
||||||
|
child: TextFormField(
|
||||||
|
controller: _model.textController,
|
||||||
|
focusNode: _model.textFieldFocusNode,
|
||||||
|
autofocus: true,
|
||||||
|
obscureText: false,
|
||||||
|
decoration: InputDecoration(
|
||||||
|
labelText: FFLocalizations.of(context).getText(
|
||||||
|
'dy0mx15f' /* Label here... */,
|
||||||
|
),
|
||||||
|
labelStyle: FlutterFlowTheme.of(context)
|
||||||
|
.labelMedium
|
||||||
|
.override(
|
||||||
|
fontFamily:
|
||||||
|
FlutterFlowTheme.of(context).labelMediumFamily,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
useGoogleFonts: GoogleFonts.asMap().containsKey(
|
||||||
|
FlutterFlowTheme.of(context).labelMediumFamily),
|
||||||
|
),
|
||||||
|
hintStyle: FlutterFlowTheme.of(context)
|
||||||
|
.labelMedium
|
||||||
|
.override(
|
||||||
|
fontFamily:
|
||||||
|
FlutterFlowTheme.of(context).labelMediumFamily,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
useGoogleFonts: GoogleFonts.asMap().containsKey(
|
||||||
|
FlutterFlowTheme.of(context).labelMediumFamily),
|
||||||
|
),
|
||||||
|
enabledBorder: UnderlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: FlutterFlowTheme.of(context).alternate,
|
||||||
|
width: 2.0,
|
||||||
|
),
|
||||||
|
borderRadius: BorderRadius.circular(8.0),
|
||||||
|
),
|
||||||
|
focusedBorder: UnderlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: FlutterFlowTheme.of(context).primary,
|
||||||
|
width: 2.0,
|
||||||
|
),
|
||||||
|
borderRadius: BorderRadius.circular(8.0),
|
||||||
|
),
|
||||||
|
errorBorder: UnderlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: FlutterFlowTheme.of(context).error,
|
||||||
|
width: 2.0,
|
||||||
|
),
|
||||||
|
borderRadius: BorderRadius.circular(8.0),
|
||||||
|
),
|
||||||
|
focusedErrorBorder: UnderlineInputBorder(
|
||||||
|
borderSide: BorderSide(
|
||||||
|
color: FlutterFlowTheme.of(context).error,
|
||||||
|
width: 2.0,
|
||||||
|
),
|
||||||
|
borderRadius: BorderRadius.circular(8.0),
|
||||||
|
),
|
||||||
|
prefixIcon: const Icon(
|
||||||
|
Icons.search_sharp,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
||||||
|
fontFamily:
|
||||||
|
FlutterFlowTheme.of(context).bodyMediumFamily,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
useGoogleFonts: GoogleFonts.asMap().containsKey(
|
||||||
|
FlutterFlowTheme.of(context).bodyMediumFamily),
|
||||||
|
),
|
||||||
|
validator:
|
||||||
|
_model.textControllerValidator.asValidator(context),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Expanded(
|
||||||
|
child: Container(
|
||||||
|
width: double.infinity,
|
||||||
|
height: double.infinity,
|
||||||
|
decoration: const BoxDecoration(),
|
||||||
|
child: FutureBuilder<ApiCallResponse>(
|
||||||
|
future: PhpGroup.getVisitsCall.call(
|
||||||
|
devUUID: FFAppState().devUUID,
|
||||||
|
userUUID: FFAppState().userUUID,
|
||||||
|
cliID: FFAppState().cliUUID,
|
||||||
|
atividade: 'getVisitas',
|
||||||
|
),
|
||||||
|
builder: (context, snapshot) {
|
||||||
|
// Customize what your widget looks like when it's loading.
|
||||||
|
if (!snapshot.hasData) {
|
||||||
|
return Center(
|
||||||
|
child: SizedBox(
|
||||||
|
width: 50.0,
|
||||||
|
height: 50.0,
|
||||||
|
child: SpinKitCircle(
|
||||||
|
color: FlutterFlowTheme.of(context).primary,
|
||||||
|
size: 50.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
final wrapGetVisitsResponse = snapshot.data!;
|
||||||
|
return Builder(
|
||||||
|
builder: (context) {
|
||||||
|
final visitaWrap = PhpGroup.getVisitsCall
|
||||||
|
.visitasList(
|
||||||
|
wrapGetVisitsResponse.jsonBody,
|
||||||
|
)
|
||||||
|
?.toList() ??
|
||||||
|
[];
|
||||||
|
return Wrap(
|
||||||
|
spacing: 2.0,
|
||||||
|
runSpacing: 1.0,
|
||||||
|
alignment: WrapAlignment.start,
|
||||||
|
crossAxisAlignment: WrapCrossAlignment.start,
|
||||||
|
direction: Axis.horizontal,
|
||||||
|
runAlignment: WrapAlignment.start,
|
||||||
|
verticalDirection: VerticalDirection.down,
|
||||||
|
clipBehavior: Clip.none,
|
||||||
|
children: List.generate(visitaWrap.length,
|
||||||
|
(visitaWrapIndex) {
|
||||||
|
final visitaWrapItem =
|
||||||
|
visitaWrap[visitaWrapIndex];
|
||||||
|
return Align(
|
||||||
|
alignment: const AlignmentDirectional(0.0, 0.0),
|
||||||
|
child: InkWell(
|
||||||
|
splashColor: Colors.transparent,
|
||||||
|
focusColor: Colors.transparent,
|
||||||
|
hoverColor: Colors.transparent,
|
||||||
|
highlightColor: Colors.transparent,
|
||||||
|
onTap: () async {
|
||||||
|
await showModalBottomSheet(
|
||||||
|
isScrollControlled: true,
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
enableDrag: false,
|
||||||
|
useSafeArea: true,
|
||||||
|
context: context,
|
||||||
|
builder: (context) {
|
||||||
|
return GestureDetector(
|
||||||
|
onTap: () => _model
|
||||||
|
.unfocusNode.canRequestFocus
|
||||||
|
? FocusScope.of(context)
|
||||||
|
.requestFocus(
|
||||||
|
_model.unfocusNode)
|
||||||
|
: FocusScope.of(context)
|
||||||
|
.unfocus(),
|
||||||
|
child: Padding(
|
||||||
|
padding: MediaQuery.viewInsetsOf(
|
||||||
|
context),
|
||||||
|
child:
|
||||||
|
VisitDetailsModalTemplateComponentWidget(
|
||||||
|
visitStatusStr: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
).toString(),
|
||||||
|
visitStartDateStr: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_DTINICIO''',
|
||||||
|
).toString(),
|
||||||
|
visitEndDateStr: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_DTFIM''',
|
||||||
|
).toString(),
|
||||||
|
visitReasonStr: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.MOT_DESCRICAO''',
|
||||||
|
).toString(),
|
||||||
|
visitLevelStr: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.NAC_DESCRICAO''',
|
||||||
|
).toString(),
|
||||||
|
visitTempStr: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VTE_UNICA''',
|
||||||
|
).toString(),
|
||||||
|
visitObsStr: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_OBS''',
|
||||||
|
).toString(),
|
||||||
|
visitorImgPath:
|
||||||
|
valueOrDefault<String>(
|
||||||
|
'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VTE_DOCUMENTO''',
|
||||||
|
).toString()}&tipo=E',
|
||||||
|
'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg',
|
||||||
|
),
|
||||||
|
visitorStrList: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VTE_DOCUMENTO''',
|
||||||
|
).toString(),
|
||||||
|
visitIdStr: getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_ID''',
|
||||||
|
).toString(),
|
||||||
|
visitorJsonList: PhpGroup
|
||||||
|
.getVisitsCall
|
||||||
|
.visitasList(
|
||||||
|
wrapGetVisitsResponse.jsonBody,
|
||||||
|
),
|
||||||
|
updateToggleIdx: () async {},
|
||||||
|
repeatVisitSchedule: () async {},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
).then((value) => safeSetState(() {}));
|
||||||
|
},
|
||||||
|
child: Card(
|
||||||
|
clipBehavior: Clip.antiAliasWithSaveLayer,
|
||||||
|
color: FlutterFlowTheme.of(context)
|
||||||
|
.secondaryBackground,
|
||||||
|
elevation: 5.0,
|
||||||
|
shape: RoundedRectangleBorder(
|
||||||
|
borderRadius: BorderRadius.circular(8.0),
|
||||||
|
),
|
||||||
|
child: Container(
|
||||||
|
width: 350.0,
|
||||||
|
height: 115.0,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: FlutterFlowTheme.of(context)
|
||||||
|
.secondaryBackground,
|
||||||
|
),
|
||||||
|
child: Row(
|
||||||
|
mainAxisSize: MainAxisSize.max,
|
||||||
|
mainAxisAlignment:
|
||||||
|
MainAxisAlignment.spaceBetween,
|
||||||
|
children: [
|
||||||
|
Expanded(
|
||||||
|
child: Container(
|
||||||
|
width: 100.0,
|
||||||
|
height: 100.0,
|
||||||
|
decoration: const BoxDecoration(),
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.max,
|
||||||
|
children: [
|
||||||
|
Row(
|
||||||
|
mainAxisSize:
|
||||||
|
MainAxisSize.max,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getText(
|
||||||
|
'f77je6tr' /* Visitante: */,
|
||||||
|
),
|
||||||
|
style:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMedium
|
||||||
|
.override(
|
||||||
|
fontFamily: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily,
|
||||||
|
fontSize:
|
||||||
|
12.5,
|
||||||
|
letterSpacing:
|
||||||
|
0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight
|
||||||
|
.bold,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
FlutterFlowTheme.of(context)
|
||||||
|
.bodyMediumFamily),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Align(
|
||||||
|
alignment:
|
||||||
|
const AlignmentDirectional(
|
||||||
|
-1.0, -1.0),
|
||||||
|
child: Text(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VTE_NOME''',
|
||||||
|
).toString(),
|
||||||
|
style: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.bodyMedium
|
||||||
|
.override(
|
||||||
|
fontFamily: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily,
|
||||||
|
fontSize: 12.5,
|
||||||
|
letterSpacing:
|
||||||
|
0.0,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
FlutterFlowTheme.of(context)
|
||||||
|
.bodyMediumFamily),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
].addToStart(
|
||||||
|
const SizedBox(width: 10.0)),
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisSize:
|
||||||
|
MainAxisSize.max,
|
||||||
|
mainAxisAlignment:
|
||||||
|
MainAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getText(
|
||||||
|
'dkzewokx' /* Início em: */,
|
||||||
|
),
|
||||||
|
style:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMedium
|
||||||
|
.override(
|
||||||
|
fontFamily: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily,
|
||||||
|
fontSize:
|
||||||
|
12.5,
|
||||||
|
letterSpacing:
|
||||||
|
0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight
|
||||||
|
.bold,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
FlutterFlowTheme.of(context)
|
||||||
|
.bodyMediumFamily),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_DTINICIO''',
|
||||||
|
).toString(),
|
||||||
|
style:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMedium
|
||||||
|
.override(
|
||||||
|
fontFamily: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily,
|
||||||
|
fontSize:
|
||||||
|
12.5,
|
||||||
|
letterSpacing:
|
||||||
|
0.0,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
FlutterFlowTheme.of(context)
|
||||||
|
.bodyMediumFamily),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
].addToStart(
|
||||||
|
const SizedBox(width: 10.0)),
|
||||||
|
),
|
||||||
|
Row(
|
||||||
|
mainAxisSize:
|
||||||
|
MainAxisSize.max,
|
||||||
|
mainAxisAlignment:
|
||||||
|
MainAxisAlignment.start,
|
||||||
|
children: [
|
||||||
|
Text(
|
||||||
|
FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getText(
|
||||||
|
'qi4mjhtw' /* Fim em: */,
|
||||||
|
),
|
||||||
|
style:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMedium
|
||||||
|
.override(
|
||||||
|
fontFamily: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily,
|
||||||
|
fontSize:
|
||||||
|
12.5,
|
||||||
|
letterSpacing:
|
||||||
|
0.0,
|
||||||
|
fontWeight:
|
||||||
|
FontWeight
|
||||||
|
.bold,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
FlutterFlowTheme.of(context)
|
||||||
|
.bodyMediumFamily),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Text(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_DTFIM''',
|
||||||
|
).toString(),
|
||||||
|
style:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMedium
|
||||||
|
.override(
|
||||||
|
fontFamily: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily,
|
||||||
|
fontSize:
|
||||||
|
12.5,
|
||||||
|
letterSpacing:
|
||||||
|
0.0,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
FlutterFlowTheme.of(context)
|
||||||
|
.bodyMediumFamily),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
].addToStart(
|
||||||
|
const SizedBox(width: 10.0)),
|
||||||
|
),
|
||||||
|
Align(
|
||||||
|
alignment:
|
||||||
|
const AlignmentDirectional(
|
||||||
|
-1.0, 0.0),
|
||||||
|
child: Padding(
|
||||||
|
padding:
|
||||||
|
const EdgeInsetsDirectional
|
||||||
|
.fromSTEB(
|
||||||
|
10.0,
|
||||||
|
0.0,
|
||||||
|
0.0,
|
||||||
|
0.0),
|
||||||
|
child: Container(
|
||||||
|
width: 200.0,
|
||||||
|
height: 27.0,
|
||||||
|
decoration:
|
||||||
|
BoxDecoration(
|
||||||
|
color: valueOrDefault<
|
||||||
|
Color>(
|
||||||
|
() {
|
||||||
|
if (functions
|
||||||
|
.jsonToStr(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
)) ==
|
||||||
|
'\"A\"') {
|
||||||
|
return FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.success;
|
||||||
|
} else if (functions
|
||||||
|
.jsonToStr(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
)) ==
|
||||||
|
'\"C\"') {
|
||||||
|
return FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.error;
|
||||||
|
} else if (functions
|
||||||
|
.jsonToStr(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
)) ==
|
||||||
|
'\"I\"') {
|
||||||
|
return FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.warning;
|
||||||
|
} else {
|
||||||
|
return FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primary;
|
||||||
|
}
|
||||||
|
}(),
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primary,
|
||||||
|
),
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius
|
||||||
|
.circular(
|
||||||
|
5.0),
|
||||||
|
),
|
||||||
|
child: Align(
|
||||||
|
alignment:
|
||||||
|
const AlignmentDirectional(
|
||||||
|
0.0, 0.0),
|
||||||
|
child: Text(
|
||||||
|
() {
|
||||||
|
if (functions
|
||||||
|
.jsonToStr(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
)) ==
|
||||||
|
'\"A\"') {
|
||||||
|
return FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getVariableText(
|
||||||
|
ptText:
|
||||||
|
'Ativo',
|
||||||
|
enText:
|
||||||
|
'Active',
|
||||||
|
);
|
||||||
|
} else if ((functions
|
||||||
|
.jsonToStr(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
)) ==
|
||||||
|
'\"F\"') ||
|
||||||
|
(functions.jsonToStr(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
)) ==
|
||||||
|
'\"C\"') ||
|
||||||
|
(functions.jsonToStr(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
)) ==
|
||||||
|
'\"B\"') ||
|
||||||
|
(functions.jsonToStr(
|
||||||
|
getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VAW_STATUS''',
|
||||||
|
)) ==
|
||||||
|
'\"I\"')) {
|
||||||
|
return FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getVariableText(
|
||||||
|
ptText:
|
||||||
|
'Cancelado',
|
||||||
|
enText:
|
||||||
|
'Canceled',
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
return FFLocalizations.of(
|
||||||
|
context)
|
||||||
|
.getVariableText(
|
||||||
|
ptText:
|
||||||
|
'Pendente',
|
||||||
|
enText:
|
||||||
|
'Pending',
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}(),
|
||||||
|
style: FlutterFlowTheme
|
||||||
|
.of(context)
|
||||||
|
.bodyMedium
|
||||||
|
.override(
|
||||||
|
fontFamily: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily,
|
||||||
|
color: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.info,
|
||||||
|
letterSpacing:
|
||||||
|
0.0,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
FlutterFlowTheme.of(context)
|
||||||
|
.bodyMediumFamily),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
].divide(const SizedBox(height: 3.0)),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ClipRRect(
|
||||||
|
borderRadius:
|
||||||
|
BorderRadius.circular(0.0),
|
||||||
|
child: CachedNetworkImage(
|
||||||
|
fadeInDuration:
|
||||||
|
const Duration(milliseconds: 500),
|
||||||
|
fadeOutDuration:
|
||||||
|
const Duration(milliseconds: 500),
|
||||||
|
imageUrl: valueOrDefault<String>(
|
||||||
|
'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField(
|
||||||
|
visitaWrapItem,
|
||||||
|
r'''$.VTE_DOCUMENTO''',
|
||||||
|
).toString()}&tipo=E',
|
||||||
|
'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg',
|
||||||
|
),
|
||||||
|
fit: BoxFit.cover,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
].addToStart(const SizedBox(height: 30.0)),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
|
@ -2115,6 +2115,7 @@ class _ScheduleCompleteVisitPageWidgetState
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.start,
|
textAlign: TextAlign.start,
|
||||||
maxLines: null,
|
maxLines: null,
|
||||||
|
maxLength: 80,
|
||||||
validator: _model
|
validator: _model
|
||||||
.textController3Validator
|
.textController3Validator
|
||||||
.asValidator(context),
|
.asValidator(context),
|
||||||
|
@ -2671,12 +2672,13 @@ class _ScheduleCompleteVisitPageWidgetState
|
||||||
'\"A\"') {
|
'\"A\"') {
|
||||||
return FlutterFlowTheme.of(context)
|
return FlutterFlowTheme.of(context)
|
||||||
.success;
|
.success;
|
||||||
} else if (functions.jsonToStr(
|
} else if ((visitStatusStr == 'C') ||
|
||||||
getJsonField(
|
(visitStatusStr ==
|
||||||
visitaWrapItem,
|
'F') ||
|
||||||
r'''$.VAW_STATUS''',
|
(visitStatusStr ==
|
||||||
)) ==
|
'B') ||
|
||||||
'\"C\"') {
|
(visitStatusStr ==
|
||||||
|
'I')) {
|
||||||
return FlutterFlowTheme.of(context)
|
return FlutterFlowTheme.of(context)
|
||||||
.error;
|
.error;
|
||||||
} else if (functions
|
} else if (functions
|
||||||
|
|
|
@ -824,6 +824,7 @@ class _ScheduleProvisionalVisitPageWidgetState
|
||||||
),
|
),
|
||||||
textAlign: TextAlign.start,
|
textAlign: TextAlign.start,
|
||||||
maxLines: null,
|
maxLines: null,
|
||||||
|
maxLength: 100,
|
||||||
validator: _model.textController3Validator
|
validator: _model.textController3Validator
|
||||||
.asValidator(context),
|
.asValidator(context),
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in New Issue