Merge branch 'flutterflow' into fd-601

This commit is contained in:
Ivan Antunes 2024-08-08 11:25:00 -03:00
commit 89f499717a
4 changed files with 769 additions and 693 deletions

View File

@ -51,8 +51,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>"; };
6436409627A31CDB00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409827A31CDD00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409727A31CD700820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409927A31CD900820AF7 /* 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>"; };
C1B4A503715BC7B0F8826983 /* Pods-Runner.profile.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Runner.profile.xcconfig"; path = "Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig"; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -301,8 +301,8 @@
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
6436409627A31CDB00820AF7 /* pt */,
6436409827A31CDD00820AF7 /* en */,
6436409727A31CD700820AF7 /* pt */,
6436409927A31CD900820AF7 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";

View File

@ -326,7 +326,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
},
'8d3679lf': {
'pt': 'Propriedade',
'en': '',
'en': 'Property',
},
'z6aawgqa': {
'pt': 'Dados da Visita',

View File

@ -73,16 +73,6 @@ class ScheduleProvisionalVisitPageModel
FocusNode? notesFocusNode;
TextEditingController? notesTextController;
String? Function(BuildContext, String?)? notesTextControllerValidator;
String? _notesTextControllerValidator(BuildContext context, String? val) {
if (val == null || val.isEmpty) {
return FFLocalizations.of(context).getText(
'j14it3wp' /* Field is required */,
);
}
return null;
}
// Stores action output result for [Backend Call - API (postProvVisitScheduling)] action in btnSend widget.
ApiCallResponse? provVisitSchedule;
@ -90,7 +80,6 @@ class ScheduleProvisionalVisitPageModel
void initState(BuildContext context) {
personNameTextControllerValidator = _personNameTextControllerValidator;
dateTimeTextControllerValidator = _dateTimeTextControllerValidator;
notesTextControllerValidator = _notesTextControllerValidator;
}
@override

View File

@ -103,6 +103,7 @@ class _ScheduleProvisionalVisitPageWidgetState
Form(
key: _model.formKey,
autovalidateMode: AutovalidateMode.always,
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
@ -194,7 +195,8 @@ class _ScheduleProvisionalVisitPageWidgetState
ClipRRect(
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(50.0),
bottomRight: Radius.circular(50.0),
bottomRight:
Radius.circular(50.0),
topLeft: Radius.circular(50.0),
topRight: Radius.circular(50.0),
),
@ -218,7 +220,8 @@ class _ScheduleProvisionalVisitPageWidgetState
15.0, 0.0, 0.0, 0.0),
child: Text(
FFAppState().local,
style: FlutterFlowTheme.of(context)
style:
FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily:
@ -248,7 +251,8 @@ class _ScheduleProvisionalVisitPageWidgetState
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
mainAxisAlignment:
MainAxisAlignment.spaceEvenly,
children: [
Align(
alignment: const AlignmentDirectional(-1.0, 0.0),
@ -266,9 +270,11 @@ class _ScheduleProvisionalVisitPageWidgetState
FlutterFlowTheme.of(context)
.bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(context)
FlutterFlowTheme.of(
context)
.bodyMediumFamily),
),
),
@ -280,15 +286,17 @@ class _ScheduleProvisionalVisitPageWidgetState
Container(
height: 80.0,
decoration: const BoxDecoration(),
alignment: const AlignmentDirectional(0.0, 0.0),
alignment:
const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
padding:
const EdgeInsetsDirectional.fromSTEB(
24.0, 0.0, 24.0, 0.0),
child: SizedBox(
width: double.infinity,
child: TextFormField(
controller:
_model.personNameTextController,
controller: _model
.personNameTextController,
focusNode:
_model.personNameFocusNode,
onChanged: (_) =>
@ -308,6 +316,25 @@ class _ScheduleProvisionalVisitPageWidgetState
.getText(
'wehvxbz4' /* Nome / Apelido do Visitante */,
),
labelStyle:
FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily:
FlutterFlowTheme.of(
context)
.bodyMediumFamily,
color: FlutterFlowTheme
.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(
context)
.bodyMediumFamily),
),
hintStyle:
FlutterFlowTheme.of(context)
.labelMedium
@ -316,9 +343,8 @@ class _ScheduleProvisionalVisitPageWidgetState
FlutterFlowTheme.of(
context)
.labelMediumFamily,
color:
FlutterFlowTheme.of(
context)
color: FlutterFlowTheme
.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts
@ -328,7 +354,8 @@ class _ScheduleProvisionalVisitPageWidgetState
context)
.labelMediumFamily),
),
enabledBorder: OutlineInputBorder(
enabledBorder:
OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(
context)
@ -336,9 +363,11 @@ class _ScheduleProvisionalVisitPageWidgetState
width: 0.5,
),
borderRadius:
BorderRadius.circular(10.0),
BorderRadius.circular(
10.0),
),
focusedBorder: OutlineInputBorder(
focusedBorder:
OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(
context)
@ -346,7 +375,8 @@ class _ScheduleProvisionalVisitPageWidgetState
width: 0.5,
),
borderRadius:
BorderRadius.circular(10.0),
BorderRadius.circular(
10.0),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
@ -356,7 +386,8 @@ class _ScheduleProvisionalVisitPageWidgetState
width: 0.5,
),
borderRadius:
BorderRadius.circular(10.0),
BorderRadius.circular(
10.0),
),
focusedErrorBorder:
OutlineInputBorder(
@ -367,23 +398,26 @@ class _ScheduleProvisionalVisitPageWidgetState
width: 0.5,
),
borderRadius:
BorderRadius.circular(10.0),
BorderRadius.circular(
10.0),
),
suffixIcon: Icon(
Icons.person,
color:
FlutterFlowTheme.of(context)
color: FlutterFlowTheme.of(
context)
.accent1,
),
),
style: FlutterFlowTheme.of(context)
style:
FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily:
FlutterFlowTheme.of(
context)
.bodyMediumFamily,
color: FlutterFlowTheme.of(
color:
FlutterFlowTheme.of(
context)
.primaryText,
letterSpacing: 0.0,
@ -416,12 +450,12 @@ class _ScheduleProvisionalVisitPageWidgetState
const AlignmentDirectional(0.0, 0.0),
children: [
Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(
padding: const EdgeInsetsDirectional
.fromSTEB(
24.0, 0.0, 24.0, 0.0),
child: TextFormField(
controller:
_model.dateTimeTextController,
controller: _model
.dateTimeTextController,
focusNode:
_model.dateTimeFocusNode,
onChanged: (_) =>
@ -434,15 +468,33 @@ class _ScheduleProvisionalVisitPageWidgetState
obscureText: false,
decoration: InputDecoration(
isDense: false,
labelText:
FFLocalizations.of(context)
labelText: FFLocalizations.of(
context)
.getText(
'8zgsw5so' /* Data / Hora Limite da Visita */,
),
labelStyle:
FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily:
FlutterFlowTheme.of(
context)
.bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(
context)
.bodyMediumFamily),
),
enabledBorder:
OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(
color:
FlutterFlowTheme.of(
context)
.customColor5,
width: 0.5,
@ -454,7 +506,8 @@ class _ScheduleProvisionalVisitPageWidgetState
focusedBorder:
OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(
color:
FlutterFlowTheme.of(
context)
.primary,
width: 0.5,
@ -463,9 +516,11 @@ class _ScheduleProvisionalVisitPageWidgetState
BorderRadius.circular(
8.0),
),
errorBorder: OutlineInputBorder(
errorBorder:
OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(
color:
FlutterFlowTheme.of(
context)
.error,
width: 0.5,
@ -477,7 +532,8 @@ class _ScheduleProvisionalVisitPageWidgetState
focusedErrorBorder:
OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(
color:
FlutterFlowTheme.of(
context)
.error,
width: 0.5,
@ -509,15 +565,15 @@ class _ScheduleProvisionalVisitPageWidgetState
context)
.bodyMediumFamily),
),
textAlign: TextAlign.center,
textAlign: TextAlign.start,
validator: _model
.dateTimeTextControllerValidator
.asValidator(context),
),
),
Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(
padding: const EdgeInsetsDirectional
.fromSTEB(
24.0, 0.0, 24.0, 0.0),
child: InkWell(
splashColor: Colors.transparent,
@ -537,71 +593,6 @@ class _ScheduleProvisionalVisitPageWidgetState
lastDate: DateTime(2050),
builder: (context, child) {
return wrapInMaterialDatePickerTheme(
context,
child!,
headerBackgroundColor:
FlutterFlowTheme.of(
context)
.primary,
headerForegroundColor:
FlutterFlowTheme.of(
context)
.info,
headerTextStyle:
FlutterFlowTheme.of(
context)
.headlineLarge
.override(
fontFamily: FlutterFlowTheme.of(
context)
.headlineLargeFamily,
fontSize: 32.0,
letterSpacing:
0.0,
fontWeight:
FontWeight
.w600,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.headlineLargeFamily),
),
pickerBackgroundColor:
FlutterFlowTheme.of(
context)
.secondaryBackground,
pickerForegroundColor:
FlutterFlowTheme.of(
context)
.primaryText,
selectedDateTimeBackgroundColor:
FlutterFlowTheme.of(
context)
.primary,
selectedDateTimeForegroundColor:
FlutterFlowTheme.of(
context)
.info,
actionButtonForegroundColor:
FlutterFlowTheme.of(
context)
.primaryText,
iconSize: 24.0,
);
},
);
TimeOfDay? datePickedTime;
if (datePickedDate != null) {
datePickedTime =
await showTimePicker(
context: context,
initialTime:
TimeOfDay.fromDateTime(
getCurrentTimestamp),
builder: (context, child) {
return wrapInMaterialTimePickerTheme(
context,
child!,
headerBackgroundColor:
@ -657,6 +648,72 @@ class _ScheduleProvisionalVisitPageWidgetState
);
},
);
TimeOfDay? datePickedTime;
if (datePickedDate != null) {
datePickedTime =
await showTimePicker(
context: context,
initialTime: TimeOfDay
.fromDateTime(
getCurrentTimestamp),
builder:
(context, child) {
return wrapInMaterialTimePickerTheme(
context,
child!,
headerBackgroundColor:
FlutterFlowTheme.of(
context)
.primary,
headerForegroundColor:
FlutterFlowTheme.of(
context)
.info,
headerTextStyle:
FlutterFlowTheme.of(
context)
.headlineLarge
.override(
fontFamily:
FlutterFlowTheme.of(context)
.headlineLargeFamily,
fontSize:
32.0,
letterSpacing:
0.0,
fontWeight:
FontWeight
.w600,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(context).headlineLargeFamily),
),
pickerBackgroundColor:
FlutterFlowTheme.of(
context)
.secondaryBackground,
pickerForegroundColor:
FlutterFlowTheme.of(
context)
.primaryText,
selectedDateTimeBackgroundColor:
FlutterFlowTheme.of(
context)
.primary,
selectedDateTimeForegroundColor:
FlutterFlowTheme.of(
context)
.info,
actionButtonForegroundColor:
FlutterFlowTheme.of(
context)
.primaryText,
iconSize: 24.0,
);
},
);
}
if (datePickedDate != null &&
@ -673,11 +730,13 @@ class _ScheduleProvisionalVisitPageWidgetState
});
}
setState(() {
_model.dateTimeTextController
_model
.dateTimeTextController
?.text = dateTimeFormat(
"dd/MM/yyyy HH:mm:ss",
_model.datePicked,
locale: FFLocalizations.of(
locale:
FFLocalizations.of(
context)
.languageCode,
);
@ -698,7 +757,8 @@ class _ScheduleProvisionalVisitPageWidgetState
BorderRadius.circular(
8.0),
),
alignment: const AlignmentDirectional(
alignment:
const AlignmentDirectional(
0.0, 0.0),
),
),
@ -712,7 +772,8 @@ class _ScheduleProvisionalVisitPageWidgetState
mainAxisSize: MainAxisSize.max,
children: [
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
alignment:
const AlignmentDirectional(0.0, 0.0),
child: Container(
height: 80.0,
decoration: const BoxDecoration(),
@ -722,14 +783,14 @@ class _ScheduleProvisionalVisitPageWidgetState
alignment:
const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(
padding: const EdgeInsetsDirectional
.fromSTEB(
24.0, 0.0, 24.0, 0.0),
child: SizedBox(
width: double.infinity,
child: TextFormField(
controller:
_model.notesTextController,
controller: _model
.notesTextController,
focusNode:
_model.notesFocusNode,
autofocus: false,
@ -738,11 +799,31 @@ class _ScheduleProvisionalVisitPageWidgetState
obscureText: false,
decoration: InputDecoration(
isDense: false,
labelText: FFLocalizations.of(
labelText:
FFLocalizations.of(
context)
.getText(
'cw8b3tbb' /* Observação da Visita */,
),
labelStyle: FlutterFlowTheme
.of(context)
.bodyMedium
.override(
fontFamily:
FlutterFlowTheme.of(
context)
.bodyMediumFamily,
color: FlutterFlowTheme
.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(
context)
.bodyMediumFamily),
),
hintStyle: FlutterFlowTheme
.of(context)
.labelMedium
@ -751,9 +832,8 @@ class _ScheduleProvisionalVisitPageWidgetState
FlutterFlowTheme.of(
context)
.labelMediumFamily,
color:
FlutterFlowTheme.of(
context)
color: FlutterFlowTheme
.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts
@ -817,21 +897,23 @@ class _ScheduleProvisionalVisitPageWidgetState
),
suffixIcon: Icon(
Icons.text_fields,
color: FlutterFlowTheme.of(
color:
FlutterFlowTheme.of(
context)
.accent1,
),
),
style:
FlutterFlowTheme.of(context)
style: FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily:
FlutterFlowTheme.of(
context)
.bodyMediumFamily,
color: FlutterFlowTheme
.of(context)
color:
FlutterFlowTheme.of(
context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts
@ -842,7 +924,7 @@ class _ScheduleProvisionalVisitPageWidgetState
.bodyMediumFamily),
),
textAlign: TextAlign.start,
maxLines: null,
maxLines: 5,
maxLength: 100,
maxLengthEnforcement:
MaxLengthEnforcement
@ -864,8 +946,9 @@ class _ScheduleProvisionalVisitPageWidgetState
),
FFButtonWidget(
onPressed: () async {
_model.provVisitSchedule =
await PhpGroup.postProvVisitSchedulingCall.call(
_model.provVisitSchedule = await PhpGroup
.postProvVisitSchedulingCall
.call(
devUUID: FFAppState().devUUID,
userUUID: FFAppState().userUUID,
cliID: FFAppState().cliUUID,
@ -896,12 +979,14 @@ class _ScheduleProvisionalVisitPageWidgetState
onTap: () =>
FocusScope.of(context).unfocus(),
child: Padding(
padding: MediaQuery.viewInsetsOf(context),
padding:
MediaQuery.viewInsetsOf(context),
child: ThrowExceptionWidget(
msg: PhpGroup
.postProvVisitSchedulingCall
.msg(
(_model.provVisitSchedule?.jsonBody ??
(_model.provVisitSchedule
?.jsonBody ??
''),
)!,
),
@ -931,7 +1016,8 @@ class _ScheduleProvisionalVisitPageWidgetState
color: Colors.white,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(FlutterFlowTheme.of(context)
.containsKey(
FlutterFlowTheme.of(context)
.titleSmallFamily),
),
elevation: 3.0,
@ -945,6 +1031,7 @@ class _ScheduleProvisionalVisitPageWidgetState
],
),
),
),
],
),
]