Merge branch 'flutterflow' into fd-601

This commit is contained in:
Ivan Antunes 2024-08-08 11:11:48 -03:00
commit 035848d63a
8 changed files with 956 additions and 803 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>"; };
6436409727A31CDC00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409027A31CD400820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; 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>"; };
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 = (
6436409727A31CDC00820AF7 /* pt */,
6436409027A31CD400820AF7 /* en */,
6436409627A31CDB00820AF7 /* pt */,
6436409827A31CDD00820AF7 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";

View File

@ -15,8 +15,8 @@ import 'package:hub/app_state.dart';
import 'package:hub/backend/api_requests/api_calls.dart';
import 'package:hub/backend/api_requests/api_manager.dart';
import 'package:hub/components/templates_components/access_notification_modal_template_component/access_notification_modal_template_component_widget.dart';
import 'package:hub/components/templates_components/details_component/details_component_widget.dart';
import 'package:hub/components/templates_components/message_notificaion_modal_template_component/message_notification_widget.dart';
import 'package:hub/components/templates_components/visit_request_template_component/visit_request_template_component_widget.dart';
import 'package:rxdart/rxdart.dart';
//
@ -416,7 +416,7 @@ class NotificationHandler {
_getIdBasedOnUserType(message);
return Dialog(
backgroundColor: Colors.transparent,
child: VisitRequestTemplateComponentWidget(
child: DetailsComponentWidget(
vteName: message['mensagem'] ?? 'Unknown',
vteReason: message['motivo'] ?? 'Unknown',
vteMsg: message['mensagem'] ?? 'Unknown',

View File

@ -1,10 +1,8 @@
import 'package:flutter/material.dart';
import 'package:hub/components/templates_components/visit_request_template_component/visit_request_template_component_widget.dart';
import 'package:hub/components/templates_components/details_component/details_component_widget.dart';
import 'package:hub/flutter_flow/flutter_flow_model.dart';
class VisitRequestTemplateComponentModel
extends FlutterFlowModel<VisitRequestTemplateComponentWidget> {
class DetailsComponentModel extends FlutterFlowModel<DetailsComponentWidget> {
/// State fields for stateful widgets in this component.
// State field(s) for TextField widget.

View File

@ -1,7 +1,7 @@
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:hub/components/templates_components/visit_request_template_component/visit_request_template_component_model.dart';
import 'package:hub/components/templates_components/details_component/details_component_model.dart';
import 'package:hub/flutter_flow/flutter_flow_icon_button.dart';
import 'package:hub/flutter_flow/flutter_flow_theme.dart';
import 'package:hub/flutter_flow/flutter_flow_util.dart';
@ -10,8 +10,8 @@ import 'package:provider/provider.dart';
class VisitRequestTemplateComponentWidget extends StatefulWidget {
const VisitRequestTemplateComponentWidget({
class DetailsComponentWidget extends StatefulWidget {
const DetailsComponentWidget({
super.key,
required this.vteName,
required this.vteReason,
@ -52,13 +52,11 @@ class VisitRequestTemplateComponentWidget extends StatefulWidget {
)? changeStatusAction;
@override
State<VisitRequestTemplateComponentWidget> createState() =>
_VisitRequestTemplateComponentWidgetState();
State<DetailsComponentWidget> createState() => _DetailsComponentWidgetState();
}
class _VisitRequestTemplateComponentWidgetState
extends State<VisitRequestTemplateComponentWidget> {
late VisitRequestTemplateComponentModel _model;
class _DetailsComponentWidgetState extends State<DetailsComponentWidget> {
late DetailsComponentModel _model;
@override
void setState(VoidCallback callback) {
@ -69,7 +67,7 @@ class _VisitRequestTemplateComponentWidgetState
@override
void initState() {
super.initState();
_model = createModel(context, () => VisitRequestTemplateComponentModel());
_model = createModel(context, () => DetailsComponentModel());
_model.textController1 ??= TextEditingController(text: widget.vteName);
_model.textFieldFocusNode1 ??= FocusNode();

View File

@ -19,7 +19,7 @@ class ForgotPasswordTemplateComponentModel
BuildContext context, String? val) {
if (val == null || val.isEmpty) {
return FFLocalizations.of(context).getText(
'3hqg8buh' /* E-mail é Obrigatório */,
'snnmkbyc' /* E-mail é Obrigatório */,
);
}

View File

@ -320,46 +320,74 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
},
// scheduleProvisionalVisitPage
{
'x7at46ur': {
'pt': 'Quais visitantes você deseja cadastrar?',
'en': 'Which visitors do you want to register?',
'uj8acuab': {
'pt': 'Preencha os Campos Abaixo:',
'en': 'Fill in the fields below:',
},
'shj19b2o': {
'pt': 'Qual o período de validade da visita?',
'en': 'Visit Validity Period',
'8d3679lf': {
'pt': 'Propriedade',
'en': '',
},
'8zgsw5so': {
'pt': 'Ínicio da Visita',
'en': 'Start of the Visit',
},
'p16wm7kp': {
'pt': 'Quando a visitas se inicia?',
'en': 'When does the visit start?',
},
'3zfd7uf9': {
'pt': 'Qual o nome do visitante?',
'en': 'What is the visitor\'s name?',
'z6aawgqa': {
'pt': 'Dados da Visita',
'en': 'Visit Data',
},
'wehvxbz4': {
'pt': 'Nome do Visitante',
'en': 'Visitor Name',
'pt': 'Nome / Apelido do Visitante',
'en': 'Visitor\'s Name / Nickname',
},
'juh7f24w': {
'pt': 'Escreva o nome do visitante aqui',
'en': 'Write the visitor\'s name here',
'pt': '',
'en': '',
},
'jhss056s': {
'pt': 'Você tem alguma observação sobre está visita?',
'en': 'Do you have any observations about this visit?',
'8zgsw5so': {
'pt': 'Data / Hora Limite da Visita',
'en': 'Visit Limit Date / Time',
},
'p16wm7kp': {
'pt': '',
'en': '',
},
'cw8b3tbb': {
'pt': 'Observações da Visita',
'en': 'Visit Observations',
'pt': 'Observação da Visita',
'en': 'Notes Visit',
},
'k4qkbv1f': {
'pt': 'Escreva as suas observações aqui',
'pt': '',
'en': 'Write your observations here',
},
'bv5fg9sv': {
'pt': 'Enviar',
'en': 'Send',
},
'3hqg8buh': {
'pt': 'Nome é Obrigatório',
'en': 'Name is Required',
},
'l0b0zr50': {
'pt': 'Máximo 80 caracteres',
'en': 'Maximum 80 characters',
},
'1p76vmkn': {
'pt': 'Please choose an option from the dropdown',
'en': '',
},
'uzefkuf9': {
'pt': 'Data / Hora é Obrigatório',
'en': 'Date / Time is Required',
},
'sn6pj4tx': {
'pt': 'Please choose an option from the dropdown',
'en': '',
},
'j14it3wp': {
'pt': 'Field is required',
'en': '',
},
'ypo6pxie': {
'pt': 'Please choose an option from the dropdown',
'en': '',
},
'cifgwfxs': {
'pt': 'Agendamento Provisório',
'en': 'Provisional Scheduling',
@ -1047,7 +1075,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': '',
'en': '',
},
'3hqg8buh': {
'snnmkbyc': {
'pt': 'E-mail é Obrigatório',
'en': 'E-mail is Required',
},
@ -1055,7 +1083,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'pt': 'E-mail Inválido',
'en': 'Invalid E-mail',
},
'1p76vmkn': {
'ph22karc': {
'pt': 'Please choose an option from the dropdown',
'en': '',
},
@ -1064,7 +1092,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'en': 'Send',
},
},
// visitRequestTemplateComponent
// detailsComponent
{
'ivfw4j04': {
'pt': 'Nome',

View File

@ -5,6 +5,8 @@ import 'package:hub/flutter_flow/flutter_flow_model.dart';
import 'package:flutter/material.dart';
import 'package:hub/pages/schedule_provisional_visit_page/schedule_provisional_visit_page_widget.dart';
import '../../flutter_flow/internationalization.dart';
class ScheduleProvisionalVisitPageModel
extends FlutterFlowModel<ScheduleProvisionalVisitPageWidget> {
/// Local state fields for this page.
@ -30,36 +32,76 @@ class ScheduleProvisionalVisitPageModel
/// State fields for stateful widgets in this page.
final unfocusNode = FocusNode();
// State field(s) for TextField widget.
FocusNode? textFieldFocusNode1;
TextEditingController? textController1;
String? Function(BuildContext, String?)? textController1Validator;
final formKey = GlobalKey<FormState>();
// State field(s) for personName widget.
FocusNode? personNameFocusNode;
TextEditingController? personNameTextController;
String? Function(BuildContext, String?)? personNameTextControllerValidator;
String? _personNameTextControllerValidator(
BuildContext context, String? val) {
if (val == null || val.isEmpty) {
return FFLocalizations.of(context).getText(
'3hqg8buh' /* Nome é Obrigatório */,
);
}
if (val.length > 80) {
return FFLocalizations.of(context).getText(
'l0b0zr50' /* Máximo 80 caracteres */,
);
}
return null;
}
// State field(s) for dateTime widget.
FocusNode? dateTimeFocusNode;
TextEditingController? dateTimeTextController;
String? Function(BuildContext, String?)? dateTimeTextControllerValidator;
String? _dateTimeTextControllerValidator(BuildContext context, String? val) {
if (val == null || val.isEmpty) {
return FFLocalizations.of(context).getText(
'uzefkuf9' /* Data / Hora é Obrigatório */,
);
}
return null;
}
DateTime? datePicked;
// State field(s) for TextField widget.
FocusNode? textFieldFocusNode2;
TextEditingController? textController2;
String? Function(BuildContext, String?)? textController2Validator;
// State field(s) for TextField widget.
FocusNode? textFieldFocusNode3;
TextEditingController? textController3;
String? Function(BuildContext, String?)? textController3Validator;
// Stores action output result for [Backend Call - API (postProvVisitScheduling)] action in sendContainer widget.
ApiCallResponse? provisionalVisitScheduling;
// State field(s) for notes widget.
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;
@override
void initState(BuildContext context) {}
void initState(BuildContext context) {
personNameTextControllerValidator = _personNameTextControllerValidator;
dateTimeTextControllerValidator = _dateTimeTextControllerValidator;
notesTextControllerValidator = _notesTextControllerValidator;
}
@override
void dispose() {
unfocusNode.dispose();
textFieldFocusNode1?.dispose();
textController1?.dispose();
personNameFocusNode?.dispose();
personNameTextController?.dispose();
textFieldFocusNode2?.dispose();
textController2?.dispose();
dateTimeFocusNode?.dispose();
dateTimeTextController?.dispose();
textFieldFocusNode3?.dispose();
textController3?.dispose();
notesFocusNode?.dispose();
notesTextController?.dispose();
}
}