VisitRequest Modal

This commit is contained in:
FlutterFlow 2024-06-17 17:10:12 +00:00
parent 201ed275e1
commit 82d0f8fe38
25 changed files with 621 additions and 3667 deletions

View File

@ -44,8 +44,8 @@
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
6436409927A31CD100820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409627A31CD200820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409A27A31CD200820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409027A31CDE00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
@ -225,8 +225,8 @@
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
isa = PBXVariantGroup;
children = (
6436409927A31CD100820AF7 /* pt */,
6436409627A31CD200820AF7 /* en */,
6436409A27A31CD200820AF7 /* pt */,
6436409027A31CDE00820AF7 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";

View File

@ -271,15 +271,7 @@ Future forgotPasswdAction(
(forgotPasswd.jsonBody ?? ''),
) ==
false) {
context.pushNamed(
'LoginPage',
queryParameters: {
'device': serializeParam(
FFAppState().device,
ParamType.String,
),
}.withoutNulls,
);
context.pushNamed('null');
} else {
return;
}

View File

@ -692,8 +692,8 @@ class _SignInTemplateComponentWidgetState
0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
context.pushNamed(
'RegisterPage');
context
.pushNamed('null');
},
text: FFLocalizations.of(
context)

View File

@ -0,0 +1,44 @@
import '/flutter_flow/flutter_flow_util.dart';
import 'visit_request_template_component_widget.dart'
show VisitRequestTemplateComponentWidget;
import 'package:flutter/material.dart';
class VisitRequestTemplateComponentModel
extends FlutterFlowModel<VisitRequestTemplateComponentWidget> {
/// State fields for stateful widgets in this component.
// State field(s) for TextField widget.
FocusNode? textFieldFocusNode1;
TextEditingController? textController1;
String? Function(BuildContext, String?)? textController1Validator;
// 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;
// State field(s) for TextField widget.
FocusNode? textFieldFocusNode4;
TextEditingController? textController4;
String? Function(BuildContext, String?)? textController4Validator;
@override
void initState(BuildContext context) {}
@override
void dispose() {
textFieldFocusNode1?.dispose();
textController1?.dispose();
textFieldFocusNode2?.dispose();
textController2?.dispose();
textFieldFocusNode3?.dispose();
textController3?.dispose();
textFieldFocusNode4?.dispose();
textController4?.dispose();
}
}

View File

@ -0,0 +1,535 @@
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'package:cached_network_image/cached_network_image.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'visit_request_template_component_model.dart';
export 'visit_request_template_component_model.dart';
class VisitRequestTemplateComponentWidget extends StatefulWidget {
const VisitRequestTemplateComponentWidget({
super.key,
required this.name,
required this.reason,
required this.message,
required this.image,
});
final String? name;
final String? reason;
final String? message;
final String? image;
@override
State<VisitRequestTemplateComponentWidget> createState() =>
_VisitRequestTemplateComponentWidgetState();
}
class _VisitRequestTemplateComponentWidgetState
extends State<VisitRequestTemplateComponentWidget> {
late VisitRequestTemplateComponentModel _model;
@override
void setState(VoidCallback callback) {
super.setState(callback);
_model.onUpdate();
}
@override
void initState() {
super.initState();
_model = createModel(context, () => VisitRequestTemplateComponentModel());
_model.textController1 ??= TextEditingController(text: widget.name);
_model.textFieldFocusNode1 ??= FocusNode();
_model.textController2 ??= TextEditingController(text: widget.reason);
_model.textFieldFocusNode2 ??= FocusNode();
_model.textController3 ??= TextEditingController(text: widget.message);
_model.textFieldFocusNode3 ??= FocusNode();
_model.textController4 ??= TextEditingController();
_model.textFieldFocusNode4 ??= FocusNode();
}
@override
void dispose() {
_model.maybeDispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsetsDirectional.fromSTEB(10.0, 0.0, 10.0, 0.0),
child: Container(
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(25.0),
bottomRight: Radius.circular(25.0),
topLeft: Radius.circular(25.0),
topRight: Radius.circular(25.0),
),
),
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
Container(
width: 200.0,
height: 200.0,
clipBehavior: Clip.antiAlias,
decoration: const BoxDecoration(
shape: BoxShape.circle,
),
child: CachedNetworkImage(
fadeInDuration: const Duration(milliseconds: 500),
fadeOutDuration: const Duration(milliseconds: 500),
imageUrl: widget.image!,
fit: BoxFit.cover,
),
),
Expanded(
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
24.0, 0.0, 24.0, 0.0),
child: TextFormField(
controller: _model.textController1,
focusNode: _model.textFieldFocusNode1,
autofocus: false,
textInputAction: TextInputAction.next,
readOnly: true,
obscureText: false,
decoration: InputDecoration(
labelText: FFLocalizations.of(context).getText(
'ivfw4j04' /* Nome */,
),
labelStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.labelMediumFamily,
color: FlutterFlowTheme.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.labelMediumFamily),
),
hintStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.labelMediumFamily,
color: FlutterFlowTheme.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.labelMediumFamily),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).accent1,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).primary,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
suffixIcon: Icon(
Icons.person,
color: FlutterFlowTheme.of(context).accent1,
),
),
style: 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),
),
maxLines: null,
keyboardType: TextInputType.name,
validator: _model.textController1Validator
.asValidator(context),
),
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
24.0, 0.0, 24.0, 0.0),
child: TextFormField(
controller: _model.textController2,
focusNode: _model.textFieldFocusNode2,
autofocus: false,
textInputAction: TextInputAction.next,
readOnly: true,
obscureText: false,
decoration: InputDecoration(
labelText: FFLocalizations.of(context).getText(
'ndzkqehm' /* Motivo */,
),
labelStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.labelMediumFamily,
color: FlutterFlowTheme.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.labelMediumFamily),
),
hintStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.labelMediumFamily,
color: FlutterFlowTheme.of(context)
.primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.labelMediumFamily),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).accent1,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).primary,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
suffixIcon: Icon(
Icons.history_edu,
color: FlutterFlowTheme.of(context).accent1,
),
),
style: 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),
),
maxLines: null,
keyboardType: TextInputType.name,
validator: _model.textController2Validator
.asValidator(context),
),
),
].divide(const SizedBox(height: 20.0)),
),
),
]
.addToStart(const SizedBox(width: 10.0))
.addToEnd(const SizedBox(width: 10.0)),
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(24.0, 0.0, 24.0, 0.0),
child: TextFormField(
controller: _model.textController3,
focusNode: _model.textFieldFocusNode3,
autofocus: false,
textCapitalization: TextCapitalization.none,
textInputAction: TextInputAction.next,
readOnly: true,
obscureText: false,
decoration: InputDecoration(
labelText: FFLocalizations.of(context).getText(
'kt87omsz' /* Mensagem */,
),
labelStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily:
FlutterFlowTheme.of(context).labelMediumFamily,
color: FlutterFlowTheme.of(context).primaryText,
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: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).accent1,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).primary,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
suffixIcon: Icon(
Icons.message,
color: FlutterFlowTheme.of(context).accent1,
),
),
style: 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),
),
validator:
_model.textController3Validator.asValidator(context),
),
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(24.0, 0.0, 24.0, 0.0),
child: TextFormField(
controller: _model.textController4,
focusNode: _model.textFieldFocusNode4,
autofocus: false,
textInputAction: TextInputAction.next,
obscureText: false,
decoration: InputDecoration(
labelText: FFLocalizations.of(context).getText(
'ssz899es' /* Pergunta */,
),
labelStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily:
FlutterFlowTheme.of(context).labelMediumFamily,
color: FlutterFlowTheme.of(context).primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).labelMediumFamily),
),
hintStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily:
FlutterFlowTheme.of(context).labelMediumFamily,
color: FlutterFlowTheme.of(context).primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).labelMediumFamily),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).accent1,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).primary,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 0.5,
),
borderRadius: BorderRadius.circular(10.0),
),
suffixIcon: Icon(
Icons.question_answer,
color: FlutterFlowTheme.of(context).accent1,
),
),
style: 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),
),
validator:
_model.textController4Validator.asValidator(context),
),
),
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
FFButtonWidget(
onPressed: () {
print('Button pressed ...');
},
text: FFLocalizations.of(context).getText(
'tg5rb52p' /* Aprovar */,
),
options: FFButtonOptions(
height: 40.0,
padding: const EdgeInsetsDirectional.fromSTEB(
24.0, 0.0, 24.0, 0.0),
iconPadding:
const EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
color: FlutterFlowTheme.of(context).success,
textStyle: FlutterFlowTheme.of(context)
.titleSmall
.override(
fontFamily:
FlutterFlowTheme.of(context).titleSmallFamily,
color: Colors.white,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context)
.titleSmallFamily),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
),
borderRadius: BorderRadius.circular(8.0),
),
),
FFButtonWidget(
onPressed: () {
print('Button pressed ...');
},
text: FFLocalizations.of(context).getText(
'zz1jjh5j' /* Reprovar */,
),
options: FFButtonOptions(
width: 100.0,
height: 40.0,
padding: const EdgeInsetsDirectional.fromSTEB(
24.0, 0.0, 24.0, 0.0),
iconPadding:
const EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
color: FlutterFlowTheme.of(context).error,
textStyle: FlutterFlowTheme.of(context)
.titleSmall
.override(
fontFamily:
FlutterFlowTheme.of(context).titleSmallFamily,
color: Colors.white,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context)
.titleSmallFamily),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
),
borderRadius: BorderRadius.circular(8.0),
),
),
].divide(const SizedBox(width: 20.0)),
),
]
.divide(const SizedBox(height: 20.0))
.addToStart(const SizedBox(height: 20.0))
.addToEnd(const SizedBox(height: 20.0)),
),
),
),
),
);
}
}

View File

@ -331,15 +331,7 @@ class _WelcomeTemplateComponentWidgetState
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
context.pushNamed(
'LoginPage',
queryParameters: {
'device': serializeParam(
'',
ParamType.String,
),
}.withoutNulls,
);
context.pushNamed('null');
},
text: FFLocalizations.of(context)
.getText(
@ -391,7 +383,7 @@ class _WelcomeTemplateComponentWidgetState
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
context.pushNamed('RegisterPage');
context.pushNamed('null');
},
text: FFLocalizations.of(context)
.getText(

View File

@ -105,82 +105,6 @@ Locale createLocale(String language) => language.contains('_')
: Locale(language);
final kTranslationsMap = <Map<String, Map<String, String>>>[
// LoginPage
{
'0113wf5c': {
'pt': 'VAMOS LA! ENTRE COM A SUA CONTA',
'en': 'LET\'S GO! SIGN IN WITH YOUR ACCOUNT',
},
'f2go5a71': {
'pt': 'Email',
'en': 'Email',
},
'paon3y0v': {
'pt': 'Senha',
'en': 'Password',
},
'wmbzwstw': {
'pt': 'Entrar',
'en': 'Sign-In',
},
'j8567afe': {
'pt': 'Cadastrar',
'en': 'Sign-Up',
},
'y3wd9q18': {
'pt': 'Entrar',
'en': 'Sign-In',
},
'j6ufb6sq': {
'pt': 'Cadastrar',
'en': 'Sign-Up',
},
'h85112qs': {
'pt': 'Você esqueceu a sua senha?',
'en': 'Have you forgotten your password?',
},
'di48hdaj': {
'pt': ' Recupere aqui',
'en': 'recover here',
},
'gx2fp6zq': {
'pt': 'Termo de Uso',
'en': 'Terms of use',
},
'ef5lm94r': {
'pt': 'Home',
'en': '',
},
},
// ForgotPasswordPage
{
'gfvplb0h': {
'pt': 'ESQUECEU SUA SENHA?',
'en': 'FORGOT YOUR PASSWORD?',
},
'azssgpdi': {
'pt':
'Não se preucupe nós vamos te ajudar, digite o email cadastrado no aplicativo e clique em enviar.',
'en':
'Don\'t worry, we will help you, enter the email registered in the application and click send.',
},
'0o139961': {
'pt': 'Email',
'en': 'Email',
},
'aanw1fp3': {
'pt': 'digite o seu email.....',
'en': 'enter your email.....',
},
'e7hdgc4q': {
'pt': 'Enviar',
'en': 'To send',
},
'3xnxor0t': {
'pt': 'Home',
'en': '',
},
},
// homePage
{
'lyiat6s2': {
@ -232,80 +156,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'en': '',
},
},
// RegisterPage
{
'2d8uulm3': {
'pt': 'INSIRA SEU EMAIL E SENHA, VAMOS TE CADASTRAR!',
'en': 'ENTER YOUR EMAIL AND PASSWORD, LET\'S REGISTER YOU!',
},
'8kjhi406': {
'pt': 'Nome',
'en': 'Name',
},
'ro4zkkxp': {
'pt': 'Email',
'en': 'Email',
},
'j5yny8ee': {
'pt': '',
'en': '',
},
'lzgobioa': {
'pt': 'Senha',
'en': 'Password',
},
'c7sfyeh8': {
'pt': 'Cadastrar-se',
'en': 'Sign-Up',
},
'jglpa1tr': {
'pt': 'Você já tem uma conta? ',
'en': 'You already have an account?',
},
'hfcm0td9': {
'pt': 'Clique aqui',
'en': 'Click here',
},
'c3kno4t9': {
'pt': 'Termo de Uso',
'en': '',
},
'tzy6n0n4': {
'pt': 'Home',
'en': '',
},
},
// WelcomePage
{
'xflxvs9y': {
'pt': 'UMA EXPERIÊCIA COMPLETA',
'en': 'A COMPLETE EXPERIENCE',
},
'5a86wzd1': {
'pt': 'COM CONFORTO ONDE VOCÊ ESTIVER.',
'en': 'WITH COMFORT WHEREVER YOU ARE.',
},
'65nuva6j': {
'pt': 'Entrar',
'en': 'Sign-In',
},
'9u6oaw01': {
'pt': 'Cadastrar',
'en': 'Sign-Up',
},
'd1qem43w': {
'pt': 'Entrar',
'en': 'Sign-In',
},
'bhowzv2u': {
'pt': 'Cadastrar',
'en': 'Sign-Up',
},
'qls72pio': {
'pt': 'Home',
'en': '',
},
},
// registerVisitorPage
{
'q8cct5lk': {
@ -553,13 +403,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'en': '',
},
},
// test
{
'ah1ah1j6': {
'pt': 'Home',
'en': '',
},
},
// peopleOnThePropertyPage
{
'nsu13r5d': {
@ -1000,15 +843,39 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
'en': 'To send',
},
},
// selectHeaderComponent
// visitRequestTemplateComponent
{
'1gr8ztd5': {
'pt': 'Criar Agendamento',
'en': 'Create Schedule',
'ivfw4j04': {
'pt': 'Nome',
'en': 'Name',
},
'xjahsbjw': {
'pt': 'Histórico de Visitas',
'en': 'Visit History',
'ndzkqehm': {
'pt': 'Motivo',
'en': 'Reason',
},
'kt87omsz': {
'pt': 'Mensagem',
'en': 'Message',
},
'cx6sviir': {
'pt': '',
'en': '',
},
'ssz899es': {
'pt': 'Pergunta',
'en': 'Answer',
},
'nw059ym1': {
'pt': '',
'en': '',
},
'tg5rb52p': {
'pt': 'Aprovar',
'en': 'Allow',
},
'zz1jjh5j': {
'pt': 'Reprovar',
'en': 'Block',
},
},
// Miscellaneous

View File

@ -42,7 +42,7 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
),
),
)
: const OnBoardingPageWidget(),
: const PeopleOnThePropertyPageWidget(),
routes: [
FFRoute(
name: '_initialize',
@ -57,38 +57,13 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
),
),
)
: const OnBoardingPageWidget(),
),
FFRoute(
name: 'LoginPage',
path: '/loginPage',
builder: (context, params) => LoginPageWidget(
device: params.getParam(
'device',
ParamType.String,
),
),
),
FFRoute(
name: 'ForgotPasswordPage',
path: '/forgotPasswordPage',
builder: (context, params) => const ForgotPasswordPageWidget(),
: const PeopleOnThePropertyPageWidget(),
),
FFRoute(
name: 'homePage',
path: '/homePage',
builder: (context, params) => const HomePageWidget(),
),
FFRoute(
name: 'RegisterPage',
path: '/registerPage',
builder: (context, params) => const RegisterPageWidget(),
),
FFRoute(
name: 'WelcomePage',
path: '/welcomePage',
builder: (context, params) => const WelcomePageWidget(),
),
FFRoute(
name: 'registerVisitorPage',
path: '/registerVisitorPage',
@ -148,11 +123,6 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
path: '/fastPassPage',
builder: (context, params) => const FastPassPageWidget(),
),
FFRoute(
name: 'test',
path: '/test',
builder: (context, params) => const TestWidget(),
),
FFRoute(
name: 'peopleOnThePropertyPage',
path: '/peopleOnThePropertyPage',

View File

@ -1,13 +1,5 @@
// Export pages
export '/legacy/on_boarding_legacy/login_page/login_page_widget.dart'
show LoginPageWidget;
export '/legacy/on_boarding_legacy/forgot_password_page/forgot_password_page_widget.dart'
show ForgotPasswordPageWidget;
export '/pages/home_page/home_page_widget.dart' show HomePageWidget;
export '/legacy/on_boarding_legacy/register_page/register_page_widget.dart'
show RegisterPageWidget;
export '/legacy/on_boarding_legacy/welcome_page/welcome_page_widget.dart'
show WelcomePageWidget;
export '/pages/register_visitor_page/register_visitor_page_widget.dart'
show RegisterVisitorPageWidget;
export '/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart'
@ -18,6 +10,5 @@ export '/pages/on_boarding_page/on_boarding_page_widget.dart'
show OnBoardingPageWidget;
export '/pages/fast_pass_page/fast_pass_page_widget.dart'
show FastPassPageWidget;
export '/legacy/test/test_widget.dart' show TestWidget;
export '/pages/people_on_the_property_page/people_on_the_property_page_widget.dart'
show PeopleOnThePropertyPageWidget;

View File

@ -1,11 +0,0 @@
import '/flutter_flow/flutter_flow_util.dart';
import 'image_cropper_widget.dart' show ImageCropperWidget;
import 'package:flutter/material.dart';
class ImageCropperModel extends FlutterFlowModel<ImageCropperWidget> {
@override
void initState(BuildContext context) {}
@override
void dispose() {}
}

View File

@ -1,64 +0,0 @@
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/custom_code/widgets/index.dart' as custom_widgets;
import 'package:flutter/material.dart';
import 'image_cropper_model.dart';
export 'image_cropper_model.dart';
class ImageCropperWidget extends StatefulWidget {
const ImageCropperWidget({
super.key,
required this.uploadImageFile,
});
final FFUploadedFile? uploadImageFile;
@override
State<ImageCropperWidget> createState() => _ImageCropperWidgetState();
}
class _ImageCropperWidgetState extends State<ImageCropperWidget> {
late ImageCropperModel _model;
@override
void setState(VoidCallback callback) {
super.setState(callback);
_model.onUpdate();
}
@override
void initState() {
super.initState();
_model = createModel(context, () => ImageCropperModel());
}
@override
void dispose() {
_model.maybeDispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Container(
width: 500.0,
height: 500.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).secondaryBackground,
),
child: SizedBox(
width: double.infinity,
height: double.infinity,
child: custom_widgets.ImageCropper(
width: double.infinity,
height: double.infinity,
imageFile: widget.uploadImageFile,
callBackAction: (url) async {
Navigator.pop(context, url);
},
),
),
);
}
}

View File

@ -1,12 +0,0 @@
import '/flutter_flow/flutter_flow_util.dart';
import 'legacy_local_component_widget.dart' show LegacyLocalComponentWidget;
import 'package:flutter/material.dart';
class LegacyLocalComponentModel
extends FlutterFlowModel<LegacyLocalComponentWidget> {
@override
void initState(BuildContext context) {}
@override
void dispose() {}
}

View File

@ -1,167 +0,0 @@
import '/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_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 '/flutter_flow/random_data_util.dart' as random_data;
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'legacy_local_component_model.dart';
export 'legacy_local_component_model.dart';
class LegacyLocalComponentWidget extends StatefulWidget {
const LegacyLocalComponentWidget({super.key});
@override
State<LegacyLocalComponentWidget> createState() =>
_LegacyLocalComponentWidgetState();
}
class _LegacyLocalComponentWidgetState
extends State<LegacyLocalComponentWidget> {
late LegacyLocalComponentModel _model;
@override
void setState(VoidCallback callback) {
super.setState(callback);
_model.onUpdate();
}
@override
void initState() {
super.initState();
_model = createModel(context, () => LegacyLocalComponentModel());
}
@override
void dispose() {
_model.maybeDispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
context.watch<FFAppState>();
return Visibility(
visible: random_data.randomInteger(0, 10) != null,
child: Container(
height: 284.0,
decoration: const BoxDecoration(),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Stack(
children: [
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Material(
color: Colors.transparent,
elevation: 0.0,
child: Container(
width: double.infinity,
height: 119.0,
decoration: BoxDecoration(
color: const Color(0xFF1AAB5F),
border: Border.all(
color: const Color(0xFF1AAB5F),
),
),
),
),
),
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(24.0),
child: Container(
width: 200.0,
height: 200.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
shape: BoxShape.circle,
),
alignment: const AlignmentDirectional(0.0, 0.0),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(2.0),
child: InkWell(
splashColor: Colors.transparent,
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
highlightColor: Colors.transparent,
onTap: () async {
showModalBottomSheet(
isScrollControlled: true,
backgroundColor: const Color(0x00FFFFFF),
context: context,
builder: (context) {
return Padding(
padding: MediaQuery.viewInsetsOf(context),
child: const SizedBox(
height: double.infinity,
child:
BottomArrowLinkedLocalsComponentWidget(),
),
);
},
).then((value) => safeSetState(() {}));
},
child: ClipRRect(
borderRadius: BorderRadius.circular(200.0),
child: Image.network(
valueOrDefault<String>(
'https://freaccess.com.br/freaccess/Images/Clients/${FFAppState().cliUUID}.png',
'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg',
),
width: 300.0,
height: 200.0,
fit: BoxFit.cover,
alignment: const Alignment(0.0, 0.0),
errorBuilder: (context, error, stackTrace) =>
Image.asset(
'assets/images/error_image.svg',
width: 300.0,
height: 200.0,
fit: BoxFit.cover,
alignment: const Alignment(0.0, 0.0),
),
),
),
),
),
),
),
),
),
],
),
Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
valueOrDefault<String>(
functions.convertToUppercase(FFAppState().local),
'NOME DO LOCAL',
),
style: FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Nunito',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 20.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap().containsKey('Nunito'),
),
),
],
),
],
),
),
);
}
}

View File

@ -1,29 +0,0 @@
import '/backend/api_requests/api_calls.dart';
import '/flutter_flow/flutter_flow_util.dart';
import 'forgot_password_page_widget.dart' show ForgotPasswordPageWidget;
import 'package:flutter/material.dart';
class ForgotPasswordPageModel
extends FlutterFlowModel<ForgotPasswordPageWidget> {
/// Local state fields for this page.
String? email;
/// State fields for stateful widgets in this page.
// State field(s) for emailAddress widget.
FocusNode? emailAddressFocusNode;
TextEditingController? emailAddressTextController;
String? Function(BuildContext, String?)? emailAddressTextControllerValidator;
// Stores action output result for [Backend Call - API (forgotPassword)] action in Button-Login widget.
ApiCallResponse? req;
@override
void initState(BuildContext context) {}
@override
void dispose() {
emailAddressFocusNode?.dispose();
emailAddressTextController?.dispose();
}
}

View File

@ -1,335 +0,0 @@
import '/backend/api_requests/api_calls.dart';
import '/flutter_flow/flutter_flow_icon_button.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'forgot_password_page_model.dart';
export 'forgot_password_page_model.dart';
class ForgotPasswordPageWidget extends StatefulWidget {
const ForgotPasswordPageWidget({super.key});
@override
State<ForgotPasswordPageWidget> createState() =>
_ForgotPasswordPageWidgetState();
}
class _ForgotPasswordPageWidgetState extends State<ForgotPasswordPageWidget> {
late ForgotPasswordPageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
_model = createModel(context, () => ForgotPasswordPageModel());
_model.emailAddressTextController ??= TextEditingController();
_model.emailAddressFocusNode ??= FocusNode();
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
appBar: AppBar(
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
automaticallyImplyLeading: false,
actions: const [],
flexibleSpace: FlexibleSpaceBar(
title: Row(
mainAxisSize: MainAxisSize.max,
children: [
if (isWeb == false)
Align(
alignment: const AlignmentDirectional(-1.0, 1.0),
child: FlutterFlowIconButton(
borderColor: Colors.transparent,
borderRadius: 30.0,
borderWidth: 1.0,
buttonSize: 60.0,
icon: Icon(
Icons.arrow_back_rounded,
color: FlutterFlowTheme.of(context).customColor1,
size: 30.0,
),
onPressed: () async {
context.pop();
},
),
),
],
),
centerTitle: true,
expandedTitleScale: 1.0,
),
elevation: 0.0,
),
body: Align(
alignment: const AlignmentDirectional(0.0, -1.0),
child: Container(
width: double.infinity,
constraints: const BoxConstraints(
maxWidth: 570.0,
),
decoration: const BoxDecoration(),
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
// This row exists for when the "app bar" is hidden on desktop, having a way back for the user can work well.
if (responsiveVisibility(
context: context,
phone: false,
tablet: false,
))
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(16.0, 0.0, 16.0, 8.0),
child: InkWell(
splashColor: Colors.transparent,
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
highlightColor: Colors.transparent,
onTap: () async {
context.safePop();
},
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
const Padding(
padding: EdgeInsetsDirectional.fromSTEB(
0.0, 12.0, 0.0, 12.0),
child: Icon(
Icons.arrow_back_rounded,
color: Color(0xFF15161E),
size: 24.0,
),
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
12.0, 0.0, 0.0, 0.0),
child: Text(
'',
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: 'Plus Jakarta Sans',
color: const Color(0xFF15161E),
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts.asMap()
.containsKey('Plus Jakarta Sans'),
),
),
),
],
),
),
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(16.0, 0.0, 0.0, 0.0),
child: Text(
FFLocalizations.of(context).getText(
'gfvplb0h' /* ESQUECEU SUA SENHA? */,
),
style: FlutterFlowTheme.of(context).headlineMedium.override(
fontFamily: 'Outfit',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 24.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap().containsKey('Outfit'),
),
),
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(16.0, 4.0, 16.0, 4.0),
child: Text(
FFLocalizations.of(context).getText(
'azssgpdi' /* Não se preucupe nós vamos te a... */,
),
style: FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts.asMap()
.containsKey('Plus Jakarta Sans'),
),
),
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(16.0, 12.0, 16.0, 0.0),
child: SizedBox(
width: double.infinity,
child: TextFormField(
controller: _model.emailAddressTextController,
focusNode: _model.emailAddressFocusNode,
autofillHints: const [AutofillHints.email],
obscureText: false,
decoration: InputDecoration(
labelText: FFLocalizations.of(context).getText(
'0o139961' /* Email */,
),
labelStyle:
FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context).accent1,
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts.asMap()
.containsKey('Plus Jakarta Sans'),
),
hintText: FFLocalizations.of(context).getText(
'aanw1fp3' /* digite o seu email..... */,
),
hintStyle:
FlutterFlowTheme.of(context).labelMedium.override(
fontFamily: 'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context).primaryText,
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts.asMap()
.containsKey('Plus Jakarta Sans'),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).accent1,
width: 2.0,
),
borderRadius: BorderRadius.circular(12.0),
),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).accent3,
width: 2.0,
),
borderRadius: BorderRadius.circular(12.0),
),
errorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 2.0,
),
borderRadius: BorderRadius.circular(12.0),
),
focusedErrorBorder: OutlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 2.0,
),
borderRadius: BorderRadius.circular(12.0),
),
filled: true,
fillColor: FlutterFlowTheme.of(context).primaryBackground,
contentPadding: const EdgeInsetsDirectional.fromSTEB(
24.0, 24.0, 20.0, 24.0),
suffixIcon: Icon(
Icons.email,
color: FlutterFlowTheme.of(context).accent1,
size: 22.0,
),
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: 'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context).secondaryText,
fontSize: 14.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts.asMap()
.containsKey('Plus Jakarta Sans'),
),
maxLines: null,
keyboardType: TextInputType.emailAddress,
cursorColor: const Color(0xFF6F61EF),
validator: _model.emailAddressTextControllerValidator
.asValidator(context),
),
),
),
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsetsDirectional.fromSTEB(0.0, 24.0, 0.0, 0.0),
child: FFButtonWidget(
onPressed: () async {
var shouldSetState = false;
_model.email = _model.emailAddressTextController.text;
setState(() {});
_model.req = await PhpGroup.forgotPasswordCall.call(
email: _model.email,
);
shouldSetState = true;
if (PhpGroup.forgotPasswordCall.error(
(_model.req?.jsonBody ?? ''),
) ==
false) {
context.pushNamed(
'LoginPage',
queryParameters: {
'device': serializeParam(
'',
ParamType.String,
),
}.withoutNulls,
);
} else {
if (shouldSetState) setState(() {});
return;
}
if (shouldSetState) setState(() {});
},
text: FFLocalizations.of(context).getText(
'e7hdgc4q' /* Enviar */,
),
options: FFButtonOptions(
width: 270.0,
height: 50.0,
padding:
const EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
iconPadding:
const EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
color: const Color(0xFF1AAB5F),
textStyle:
FlutterFlowTheme.of(context).titleSmall.override(
fontFamily: 'Plus Jakarta Sans',
color: Colors.white,
fontSize: 16.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts.asMap()
.containsKey('Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
),
),
showLoadingIndicator: false,
),
),
),
],
),
),
),
);
}
}

View File

@ -1,120 +0,0 @@
import '/backend/api_requests/api_calls.dart';
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/custom_code/actions/index.dart' as actions;
import 'login_page_widget.dart' show LoginPageWidget;
import 'package:flutter/material.dart';
class LoginPageModel extends FlutterFlowModel<LoginPageWidget> {
/// State fields for stateful widgets in this page.
final unfocusNode = FocusNode();
// State field(s) for emailAddress widget.
FocusNode? emailAddressFocusNode;
TextEditingController? emailAddressTextController;
String? Function(BuildContext, String?)? emailAddressTextControllerValidator;
// State field(s) for password widget.
FocusNode? passwordFocusNode;
TextEditingController? passwordTextController;
late bool passwordVisibility;
String? Function(BuildContext, String?)? passwordTextControllerValidator;
@override
void initState(BuildContext context) {
passwordVisibility = false;
}
@override
void dispose() {
unfocusNode.dispose();
emailAddressFocusNode?.dispose();
emailAddressTextController?.dispose();
passwordFocusNode?.dispose();
passwordTextController?.dispose();
}
/// Action blocks.
Future signInActionPage(
BuildContext context, {
required String? emailAdress,
required String? passwd,
}) async {
String? devUUID;
ApiCallResponse? loginCall;
await Future.wait([
Future(() async {
FFAppState().email = emailAdress!;
}),
Future(() async {
FFAppState().passwd = passwd!;
}),
]);
if ((FFAppState().email != '') &&
(FFAppState().passwd != '')) {
devUUID = await actions.getDevUUID();
FFAppState().devUUID = devUUID!;
loginCall = await PhpGroup.loginCall.call(
email: FFAppState().email,
password: FFAppState().passwd,
uuid: FFAppState().devUUID,
type: FFAppState().device,
description: '',
);
FFAppState().userUUID = FFAppState().userUUID;
if (PhpGroup.loginCall.error(
(loginCall.jsonBody ?? ''),
) ==
false) {
FFAppState().isLogged = true;
context.goNamed(
'homePage',
extra: <String, dynamic>{
kTransitionInfoKey: const TransitionInfo(
hasTransition: true,
transitionType: PageTransitionType.fade,
),
},
);
} else {
await showModalBottomSheet(
isScrollControlled: true,
backgroundColor: Colors.transparent,
enableDrag: false,
context: context,
builder: (context) {
return GestureDetector(
onTap: () => unfocusNode.canRequestFocus
? FocusScope.of(context).requestFocus(unfocusNode)
: FocusScope.of(context).unfocus(),
child: Padding(
padding: MediaQuery.viewInsetsOf(context),
child: ThrowExceptionWidget(
msg: PhpGroup.loginCall.msg(
(loginCall?.jsonBody ?? ''),
)!,
),
),
);
},
);
FFAppState().deleteEmail();
FFAppState().email = '';
FFAppState().deletePasswd();
FFAppState().passwd = '';
FFAppState().update(() {});
}
} else {
FFAppState().deleteEmail();
FFAppState().email = '';
FFAppState().deletePasswd();
FFAppState().passwd = '';
}
}
}

View File

@ -1,971 +0,0 @@
import '/flutter_flow/flutter_flow_animations.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import '/actions/actions.dart' as action_blocks;
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:google_fonts/google_fonts.dart';
import 'login_page_model.dart';
export 'login_page_model.dart';
class LoginPageWidget extends StatefulWidget {
const LoginPageWidget({
super.key,
required this.device,
});
final String? device;
@override
State<LoginPageWidget> createState() => _LoginPageWidgetState();
}
class _LoginPageWidgetState extends State<LoginPageWidget>
with TickerProviderStateMixin {
late LoginPageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
final animationsMap = <String, AnimationInfo>{};
@override
void initState() {
super.initState();
_model = createModel(context, () => LoginPageModel());
_model.emailAddressTextController ??= TextEditingController();
_model.emailAddressFocusNode ??= FocusNode();
_model.passwordTextController ??= TextEditingController();
_model.passwordFocusNode ??= FocusNode();
animationsMap.addAll({
'containerOnPageLoadAnimation': AnimationInfo(
trigger: AnimationTrigger.onPageLoad,
effectsBuilder: () => [
VisibilityEffect(duration: 1.ms),
FadeEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: 0.0,
end: 1.0,
),
MoveEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(0.0, 140.0),
end: const Offset(0.0, 0.0),
),
ScaleEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(0.9, 0.9),
end: const Offset(1.0, 1.0),
),
TiltEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(-0.349, 0),
end: const Offset(0, 0),
),
],
),
});
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () => _model.unfocusNode.canRequestFocus
? FocusScope.of(context).requestFocus(_model.unfocusNode)
: FocusScope.of(context).unfocus(),
child: WillPopScope(
onWillPop: () async => false,
child: Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
body: SafeArea(
top: true,
child: Row(
mainAxisSize: MainAxisSize.max,
children: [
Expanded(
flex: 6,
child: Container(
width: 100.0,
height: double.infinity,
decoration: const BoxDecoration(),
alignment: const AlignmentDirectional(0.0, -1.0),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
0.0, 35.0, 0.0, 35.0),
child: Container(
width: 548.0,
height: 112.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16.0),
),
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Expanded(
child: Align(
alignment:
const AlignmentDirectional(0.0, 1.0),
child: Padding(
padding: const EdgeInsets.all(3.0),
child: Text(
FFLocalizations.of(context)
.getText(
'0113wf5c' /* VAMOS LA! ENTRE COM A SUA CONT... */,
),
textAlign: TextAlign.start,
style: FlutterFlowTheme.of(
context)
.displaySmall
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 24.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
),
),
),
),
],
),
),
),
),
Container(
width: 291.0,
height: 167.0,
decoration: const BoxDecoration(),
child: ClipRRect(
borderRadius: BorderRadius.circular(8.0),
child: Image.network(
'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/sr43ucngg4a4/Vector.png',
width: 603.0,
height: 155.0,
fit: BoxFit.contain,
),
),
),
Column(
mainAxisSize: MainAxisSize.max,
children: [
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsetsDirectional.fromSTEB(
34.0, 0.0, 34.0, 0.0),
child: Container(
width: double.infinity,
constraints: const BoxConstraints(
maxWidth: 570.0,
),
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context)
.primaryBackground,
borderRadius:
BorderRadius.circular(12.0),
shape: BoxShape.rectangle,
),
child: Align(
alignment:
const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(32.0),
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: SizedBox(
width: double.infinity,
child: TextFormField(
controller: _model
.emailAddressTextController,
focusNode: _model
.emailAddressFocusNode,
autofocus: false,
textCapitalization:
TextCapitalization.none,
textInputAction:
TextInputAction.next,
obscureText: false,
decoration: InputDecoration(
labelText:
FFLocalizations.of(
context)
.getText(
'f2go5a71' /* 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)
.customColor1,
width: 0.5,
),
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),
),
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(
'paon3y0v' /* 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)
.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'),
),
validator: _model
.passwordTextControllerValidator
.asValidator(context),
),
),
),
Builder(
builder: (context) {
if (MediaQuery.sizeOf(context)
.width <
kBreakpointSmall
? true
: false) {
return Column(
mainAxisSize:
MainAxisSize.max,
children: [
Padding(
padding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
16.0),
child: FFButtonWidget(
onPressed:
() async {
await action_blocks
.singInActionApp(
context,
emailAdress: _model
.emailAddressTextController
.text,
password: _model
.passwordTextController
.text,
);
},
text: FFLocalizations
.of(context)
.getText(
'wmbzwstw' /* Entrar */,
),
options:
FFButtonOptions(
width: double
.infinity,
height: 44.0,
padding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
0.0),
color: FlutterFlowTheme
.of(context)
.primary,
textStyle:
FlutterFlowTheme.of(
context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context)
.info,
fontSize:
16.0,
letterSpacing:
0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap().containsKey('Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide:
const BorderSide(
color: Colors
.transparent,
width: 1.0,
),
borderRadius:
BorderRadius
.circular(
12.0),
),
showLoadingIndicator:
false,
),
),
Padding(
padding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
16.0),
child: FFButtonWidget(
onPressed:
() async {
context.pushNamed(
'RegisterPage');
},
text: FFLocalizations
.of(context)
.getText(
'j8567afe' /* Cadastrar */,
),
options:
FFButtonOptions(
width: double
.infinity,
height: 44.0,
padding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
0.0),
color: FlutterFlowTheme
.of(context)
.customColor1,
textStyle:
FlutterFlowTheme.of(
context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context)
.secondaryText,
fontSize:
16.0,
letterSpacing:
0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts.asMap().containsKey('Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide:
const BorderSide(
color: Colors
.transparent,
width: 1.0,
),
borderRadius:
BorderRadius
.circular(
12.0),
),
showLoadingIndicator:
false,
),
),
],
);
} else {
return Row(
mainAxisSize:
MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment
.spaceEvenly,
children: [
Expanded(
child: Padding(
padding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
16.0),
child:
FFButtonWidget(
onPressed: () {
print(
'signInButtonLoginForm pressed ...');
},
text: FFLocalizations
.of(context)
.getText(
'y3wd9q18' /* Entrar */,
),
options:
FFButtonOptions(
width: double
.infinity,
height: 44.0,
padding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
0.0),
color: FlutterFlowTheme.of(
context)
.accent1,
textStyle: FlutterFlowTheme.of(
context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme.of(
context)
.secondaryText,
fontSize:
16.0,
letterSpacing:
0.0,
fontWeight:
FontWeight
.w500,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide:
const BorderSide(
color: Colors
.transparent,
width: 1.0,
),
borderRadius:
BorderRadius
.circular(
12.0),
),
showLoadingIndicator:
false,
),
),
),
Expanded(
child: Padding(
padding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
16.0),
child:
FFButtonWidget(
onPressed:
() async {
context.pushNamed(
'RegisterPage');
},
text: FFLocalizations
.of(context)
.getText(
'j6ufb6sq' /* Cadastrar */,
),
options:
FFButtonOptions(
width: double
.infinity,
height: 44.0,
padding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(
0.0,
0.0,
0.0,
0.0),
color: FlutterFlowTheme.of(
context)
.customColor1,
textStyle: FlutterFlowTheme.of(
context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme.of(
context)
.secondaryText,
fontSize:
16.0,
letterSpacing:
0.0,
fontWeight:
FontWeight
.w500,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide:
const BorderSide(
color: Colors
.transparent,
width: 1.0,
),
borderRadius:
BorderRadius
.circular(
12.0),
),
showLoadingIndicator:
false,
),
),
),
].divide(
const SizedBox(width: 7.0)),
);
}
},
),
// You will have to add an action on this rich text to go to your login page.
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 12.0, 0.0, 12.0),
child: InkWell(
splashColor:
Colors.transparent,
focusColor:
Colors.transparent,
hoverColor:
Colors.transparent,
highlightColor:
Colors.transparent,
onTap: () async {
context.pushNamed(
'ForgotPasswordPage');
},
child: RichText(
textScaler:
MediaQuery.of(context)
.textScaler,
text: TextSpan(
children: [
TextSpan(
text: FFLocalizations
.of(context)
.getText(
'h85112qs' /* Você esqueceu a sua senha? */,
),
style: TextStyle(
color: FlutterFlowTheme
.of(context)
.primaryText,
),
),
TextSpan(
text: FFLocalizations
.of(context)
.getText(
'di48hdaj' /* Recupere aqui */,
),
style: FlutterFlowTheme
.of(context)
.bodyMedium
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme.of(
context)
.primary,
fontSize: 14.0,
letterSpacing:
0.0,
fontWeight:
FontWeight
.normal,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
mouseCursor:
SystemMouseCursors
.click,
recognizer:
TapGestureRecognizer()
..onTap =
() async {
context.pushNamed(
'ForgotPasswordPage');
},
)
],
style:
FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(
context)
.bodyMediumFamily,
letterSpacing:
0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
),
),
),
],
),
),
),
).animateOnPageLoad(animationsMap[
'containerOnPageLoadAnimation']!),
),
),
],
),
Text(
FFLocalizations.of(context).getText(
'gx2fp6zq' /* Termo de Uso */,
),
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.bodyMediumFamily,
color: FlutterFlowTheme.of(context)
.primaryText,
fontSize: 14.0,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
],
),
),
),
),
),
],
),
),
),
),
);
}
}

View File

@ -1,53 +0,0 @@
import '/flutter_flow/flutter_flow_util.dart';
import 'register_page_widget.dart' show RegisterPageWidget;
import 'package:flutter/material.dart';
class RegisterPageModel extends FlutterFlowModel<RegisterPageWidget> {
/// Local state fields for this page.
String? email = 'danielsan@confia.com';
String? passwd = '12345678';
String? device = 'android';
String? name = 'Daniel-San';
/// State fields for stateful widgets in this page.
final unfocusNode = FocusNode();
// State field(s) for nameRegisterForm widget.
FocusNode? nameRegisterFormFocusNode;
TextEditingController? nameRegisterFormTextController;
String? Function(BuildContext, String?)?
nameRegisterFormTextControllerValidator;
// State field(s) for emailRegisterForm widget.
FocusNode? emailRegisterFormFocusNode;
TextEditingController? emailRegisterFormTextController;
String? Function(BuildContext, String?)?
emailRegisterFormTextControllerValidator;
// State field(s) for passwordRegisterForm widget.
FocusNode? passwordRegisterFormFocusNode;
TextEditingController? passwordRegisterFormTextController;
late bool passwordRegisterFormVisibility;
String? Function(BuildContext, String?)?
passwordRegisterFormTextControllerValidator;
@override
void initState(BuildContext context) {
passwordRegisterFormVisibility = false;
}
@override
void dispose() {
unfocusNode.dispose();
nameRegisterFormFocusNode?.dispose();
nameRegisterFormTextController?.dispose();
emailRegisterFormFocusNode?.dispose();
emailRegisterFormTextController?.dispose();
passwordRegisterFormFocusNode?.dispose();
passwordRegisterFormTextController?.dispose();
}
}

View File

@ -1,867 +0,0 @@
import '/flutter_flow/flutter_flow_animations.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import '/actions/actions.dart' as action_blocks;
import 'package:easy_debounce/easy_debounce.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'register_page_model.dart';
export 'register_page_model.dart';
class RegisterPageWidget extends StatefulWidget {
const RegisterPageWidget({super.key});
@override
State<RegisterPageWidget> createState() => _RegisterPageWidgetState();
}
class _RegisterPageWidgetState extends State<RegisterPageWidget>
with TickerProviderStateMixin {
late RegisterPageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
final animationsMap = <String, AnimationInfo>{};
@override
void initState() {
super.initState();
_model = createModel(context, () => RegisterPageModel());
// On page load action.
SchedulerBinding.instance.addPostFrameCallback((_) async {
await Future.wait([
Future(() async {}),
Future(() async {
if (isAndroid == true) {
_model.device = 'android';
setState(() {});
} else if (isiOS == true) {
_model.device = 'ios';
setState(() {});
} else {
_model.device = 'web';
setState(() {});
}
}),
]);
});
_model.nameRegisterFormTextController ??= TextEditingController();
_model.nameRegisterFormFocusNode ??= FocusNode();
_model.nameRegisterFormFocusNode!.addListener(() => setState(() {}));
_model.emailRegisterFormTextController ??= TextEditingController();
_model.emailRegisterFormFocusNode ??= FocusNode();
_model.emailRegisterFormFocusNode!.addListener(() => setState(() {}));
_model.passwordRegisterFormTextController ??= TextEditingController();
_model.passwordRegisterFormFocusNode ??= FocusNode();
_model.passwordRegisterFormFocusNode!.addListener(() => setState(() {}));
animationsMap.addAll({
'containerOnPageLoadAnimation': AnimationInfo(
trigger: AnimationTrigger.onPageLoad,
effectsBuilder: () => [
VisibilityEffect(duration: 1.ms),
FadeEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: 0.0,
end: 1.0,
),
MoveEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(0.0, 140.0),
end: const Offset(0.0, 0.0),
),
ScaleEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(0.9, 0.9),
end: const Offset(1.0, 1.0),
),
TiltEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(-0.349, 0),
end: const Offset(0, 0),
),
],
),
});
}
@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: Row(
mainAxisSize: MainAxisSize.max,
children: [
Expanded(
flex: 6,
child: Container(
width: 100.0,
height: double.infinity,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
),
alignment: const AlignmentDirectional(0.0, -1.0),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsets.all(4.0),
child: Container(
width: 669.0,
height: 112.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16.0),
),
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(20.0),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Expanded(
child: Align(
alignment:
const AlignmentDirectional(0.0, -1.0),
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Text(
FFLocalizations.of(context).getText(
'2d8uulm3' /* INSIRA SEU EMAIL E SENHA, VAMO... */,
),
textAlign: TextAlign.start,
style: FlutterFlowTheme.of(context)
.displaySmall
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme.of(
context)
.primaryText,
fontSize: 24.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w500,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
),
),
),
),
],
),
),
),
),
Container(
width: 291.0,
height: 167.0,
decoration: const BoxDecoration(),
child: ClipRRect(
borderRadius: BorderRadius.circular(8.0),
child: SvgPicture.network(
'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/ug2zlyhca2sh/Frame_5.svg',
width: 603.0,
height: 155.0,
fit: BoxFit.contain,
),
),
),
Column(
mainAxisSize: MainAxisSize.max,
children: [
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(34.0),
child: Container(
width: double.infinity,
constraints: const BoxConstraints(
maxWidth: 570.0,
),
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context)
.primaryBackground,
borderRadius: BorderRadius.circular(12.0),
),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(32.0),
child: Column(
mainAxisSize: MainAxisSize.max,
crossAxisAlignment:
CrossAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: SizedBox(
width: double.infinity,
child: TextFormField(
controller: _model
.nameRegisterFormTextController,
focusNode: _model
.nameRegisterFormFocusNode,
onChanged: (_) =>
EasyDebounce.debounce(
'_model.nameRegisterFormTextController',
const Duration(
milliseconds: 2000),
() => setState(() {}),
),
autofocus: false,
autofillHints: const [
AutofillHints.name
],
obscureText: false,
decoration: InputDecoration(
labelText:
FFLocalizations.of(
context)
.getText(
'8kjhi406' /* Nome */,
),
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: 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.person,
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.name,
validator: _model
.nameRegisterFormTextControllerValidator
.asValidator(context),
),
),
),
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: SizedBox(
width: double.infinity,
child: TextFormField(
controller: _model
.emailRegisterFormTextController,
focusNode: _model
.emailRegisterFormFocusNode,
onChanged: (_) =>
EasyDebounce.debounce(
'_model.emailRegisterFormTextController',
const Duration(
milliseconds: 2000),
() => setState(() {}),
),
autofocus: false,
autofillHints: const [
AutofillHints.email
],
obscureText: false,
decoration: InputDecoration(
labelText:
FFLocalizations.of(
context)
.getText(
'ro4zkkxp' /* 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.5,
),
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)
.bodyLarge
.override(
fontFamily:
'Plus Jakarta Sans',
color:
FlutterFlowTheme.of(
context)
.customColor1,
fontSize: 16.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
keyboardType: 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(
'lzgobioa' /* 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
.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)
.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'),
),
validator: _model
.passwordRegisterFormTextControllerValidator
.asValidator(context),
),
),
),
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
await action_blocks
.signUpActionApp(
context,
name: _model
.nameRegisterFormTextController
.text,
passwd: _model
.passwordRegisterFormTextController
.text,
email: _model
.emailRegisterFormTextController
.text,
device: FFAppState().device,
);
},
text:
FFLocalizations.of(context)
.getText(
'c7sfyeh8' /* Cadastrar-se */,
),
options: FFButtonOptions(
width: double.infinity,
height: 44.0,
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
color: FlutterFlowTheme.of(
context)
.accent1,
textStyle: FlutterFlowTheme
.of(context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color:
FlutterFlowTheme.of(
context)
.secondaryText,
fontSize: 16.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
),
borderRadius:
BorderRadius.circular(
12.0),
),
showLoadingIndicator: false,
),
),
// You will have to add an action on this rich text to go to your login page.
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 12.0, 0.0, 12.0),
child: InkWell(
splashColor: Colors.transparent,
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
highlightColor:
Colors.transparent,
onTap: () async {
context.pushNamed(
'LoginPage',
queryParameters: {
'device': serializeParam(
'',
ParamType.String,
),
}.withoutNulls,
);
},
child: RichText(
textScaler:
MediaQuery.of(context)
.textScaler,
text: TextSpan(
children: [
TextSpan(
text:
FFLocalizations.of(
context)
.getText(
'jglpa1tr' /* Você já tem uma conta? */,
),
style: TextStyle(
color: FlutterFlowTheme
.of(context)
.primaryText,
),
),
TextSpan(
text:
FFLocalizations.of(
context)
.getText(
'hfcm0td9' /* Clique aqui */,
),
style:
FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme.of(
context)
.primary,
fontSize:
14.0,
letterSpacing:
0.0,
fontWeight:
FontWeight
.w600,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
)
],
style: FlutterFlowTheme.of(
context)
.bodyMedium
.override(
fontFamily:
FlutterFlowTheme.of(
context)
.bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
FlutterFlowTheme.of(
context)
.bodyMediumFamily),
),
),
),
),
),
],
),
),
),
).animateOnPageLoad(animationsMap[
'containerOnPageLoadAnimation']!),
),
),
],
),
Text(
FFLocalizations.of(context).getText(
'c3kno4t9' /* Termo de Uso */,
),
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.bodyMediumFamily,
color: FlutterFlowTheme.of(context)
.secondaryText,
fontSize: 14.0,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
],
),
),
),
),
),
],
),
),
),
);
}
}

View File

@ -1,21 +0,0 @@
import '/flutter_flow/flutter_flow_util.dart';
import 'welcome_page_widget.dart' show WelcomePageWidget;
import 'package:flutter/material.dart';
class WelcomePageModel extends FlutterFlowModel<WelcomePageWidget> {
/// Local state fields for this page.
String? device;
/// State fields for stateful widgets in this page.
final unfocusNode = FocusNode();
@override
void initState(BuildContext context) {}
@override
void dispose() {
unfocusNode.dispose();
}
}

View File

@ -1,529 +0,0 @@
import '/flutter_flow/flutter_flow_animations.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:provider/provider.dart';
import 'welcome_page_model.dart';
export 'welcome_page_model.dart';
class WelcomePageWidget extends StatefulWidget {
const WelcomePageWidget({super.key});
@override
State<WelcomePageWidget> createState() => _WelcomePageWidgetState();
}
class _WelcomePageWidgetState extends State<WelcomePageWidget>
with TickerProviderStateMixin {
late WelcomePageModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
final animationsMap = <String, AnimationInfo>{};
@override
void initState() {
super.initState();
_model = createModel(context, () => WelcomePageModel());
// On page load action.
SchedulerBinding.instance.addPostFrameCallback((_) async {
if (FFAppState().isLogged == true) {
context.pushNamed(
'homePage',
extra: <String, dynamic>{
kTransitionInfoKey: const TransitionInfo(
hasTransition: true,
transitionType: PageTransitionType.fade,
duration: Duration(milliseconds: 0),
),
},
);
} else {
if (isAndroid == true) {
FFAppState().device = 'Android';
setState(() {});
} else if (isiOS == true) {
FFAppState().device = 'iOS';
setState(() {});
} else {
FFAppState().device = 'Web';
setState(() {});
}
}
});
animationsMap.addAll({
'containerOnPageLoadAnimation': AnimationInfo(
trigger: AnimationTrigger.onPageLoad,
effectsBuilder: () => [
VisibilityEffect(duration: 1.ms),
FadeEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: 0.0,
end: 1.0,
),
MoveEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(0.0, 140.0),
end: const Offset(0.0, 0.0),
),
ScaleEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(0.9, 0.9),
end: const Offset(1.0, 1.0),
),
TiltEffect(
curve: Curves.easeInOut,
delay: 0.0.ms,
duration: 300.0.ms,
begin: const Offset(-0.349, 0),
end: const Offset(0, 0),
),
],
),
});
}
@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: WillPopScope(
onWillPop: () async => false,
child: Scaffold(
key: scaffoldKey,
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
body: SafeArea(
top: true,
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: SingleChildScrollView(
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: SafeArea(
child: Container(
width: 648.0,
height: 208.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16.0),
),
alignment: const AlignmentDirectional(0.0, 0.0),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(14.0),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
Text(
FFLocalizations.of(context).getText(
'xflxvs9y' /* UMA EXPERIÊCIA COMPLETA */,
),
textAlign: TextAlign.start,
style: FlutterFlowTheme.of(context)
.displaySmall
.override(
fontFamily: 'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context)
.accent1,
fontSize: 24.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w600,
useGoogleFonts: GoogleFonts.asMap()
.containsKey('Plus Jakarta Sans'),
),
),
Align(
alignment: const AlignmentDirectional(0.0, -1.0),
child: Text(
FFLocalizations.of(context).getText(
'5a86wzd1' /* COM CONFORTO ONDE VOCÊ ESTIVER... */,
),
textAlign: TextAlign.start,
style: FlutterFlowTheme.of(context)
.displaySmall
.override(
fontFamily: 'Plus Jakarta Sans',
color: FlutterFlowTheme.of(context)
.primaryText,
fontSize: 15.0,
letterSpacing: 0.0,
fontWeight: FontWeight.w600,
useGoogleFonts: GoogleFonts.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
),
),
],
),
),
),
),
),
),
Container(
width: 284.0,
height: 200.0,
decoration: const BoxDecoration(),
child: ClipRRect(
borderRadius: BorderRadius.circular(0.0),
child: SvgPicture.network(
'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/lv1waa0etd3j/undraw_appreciate_it_re_yc8h_(1)_1.svg',
width: 603.0,
height: double.infinity,
fit: BoxFit.contain,
),
),
),
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(34.0),
child: Container(
width: double.infinity,
constraints: const BoxConstraints(
maxWidth: 570.0,
),
decoration: BoxDecoration(
boxShadow: const [
BoxShadow(
blurRadius: 0.0,
color: Colors.transparent,
offset: Offset(
0.0,
0.0,
),
)
],
borderRadius: BorderRadius.circular(12.0),
),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Padding(
padding: const EdgeInsets.all(32.0),
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.center,
children: [
Builder(
builder: (context) {
if (MediaQuery.sizeOf(context).width <
kBreakpointSmall
? true
: false) {
return Column(
mainAxisSize: MainAxisSize.max,
children: [
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
context.pushNamed(
'LoginPage',
queryParameters: {
'device': serializeParam(
'',
ParamType.String,
),
}.withoutNulls,
);
},
text:
FFLocalizations.of(context)
.getText(
'65nuva6j' /* Entrar */,
),
options: FFButtonOptions(
width: double.infinity,
height: 44.0,
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
color: FlutterFlowTheme.of(
context)
.primary,
textStyle: FlutterFlowTheme
.of(context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color:
FlutterFlowTheme.of(
context)
.info,
fontSize: 16.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
),
borderRadius:
BorderRadius.circular(
12.0),
),
showLoadingIndicator: false,
),
),
Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
context.pushNamed(
'RegisterPage');
},
text:
FFLocalizations.of(context)
.getText(
'9u6oaw01' /* Cadastrar */,
),
options: FFButtonOptions(
width: double.infinity,
height: 44.0,
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
color: FlutterFlowTheme.of(
context)
.customColor1,
textStyle: FlutterFlowTheme
.of(context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color:
FlutterFlowTheme.of(
context)
.customColor3,
fontSize: 16.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts: GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
),
borderRadius:
BorderRadius.circular(
12.0),
),
showLoadingIndicator: false,
),
),
],
);
} else {
return Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment:
MainAxisAlignment.spaceEvenly,
children: [
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
context.pushNamed(
'LoginPage',
queryParameters: {
'device':
serializeParam(
'',
ParamType.String,
),
}.withoutNulls,
);
},
text: FFLocalizations.of(
context)
.getText(
'd1qem43w' /* Entrar */,
),
options: FFButtonOptions(
width: double.infinity,
height: 44.0,
padding:
const EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
color: FlutterFlowTheme.of(
context)
.primary,
textStyle: FlutterFlowTheme
.of(context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme
.of(context)
.secondaryText,
fontSize: 16.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
),
borderRadius:
BorderRadius.circular(
12.0),
),
showLoadingIndicator: false,
),
),
),
Expanded(
child: Padding(
padding: const EdgeInsetsDirectional
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: () async {
context.pushNamed(
'RegisterPage');
},
text: FFLocalizations.of(
context)
.getText(
'bhowzv2u' /* Cadastrar */,
),
options: FFButtonOptions(
width: double.infinity,
height: 44.0,
padding:
const EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
iconPadding:
const EdgeInsetsDirectional
.fromSTEB(0.0, 0.0,
0.0, 0.0),
color: FlutterFlowTheme.of(
context)
.primary,
textStyle: FlutterFlowTheme
.of(context)
.titleSmall
.override(
fontFamily:
'Plus Jakarta Sans',
color: FlutterFlowTheme
.of(context)
.secondaryText,
fontSize: 16.0,
letterSpacing: 0.0,
fontWeight:
FontWeight.w500,
useGoogleFonts:
GoogleFonts
.asMap()
.containsKey(
'Plus Jakarta Sans'),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
),
borderRadius:
BorderRadius.circular(
12.0),
),
showLoadingIndicator: false,
),
),
),
].divide(const SizedBox(width: 7.0)),
);
}
},
),
],
),
),
),
).animateOnPageLoad(
animationsMap['containerOnPageLoadAnimation']!),
),
),
],
),
),
),
),
),
),
);
}
}

View File

@ -1,12 +0,0 @@
import '/flutter_flow/flutter_flow_util.dart';
import 'select_header_component_widget.dart' show SelectHeaderComponentWidget;
import 'package:flutter/material.dart';
class SelectHeaderComponentModel
extends FlutterFlowModel<SelectHeaderComponentWidget> {
@override
void initState(BuildContext context) {}
@override
void dispose() {}
}

View File

@ -1,185 +0,0 @@
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'select_header_component_model.dart';
export 'select_header_component_model.dart';
class SelectHeaderComponentWidget extends StatefulWidget {
const SelectHeaderComponentWidget({
super.key,
required this.selectToggle,
bool? toggleIndexValue,
}) : toggleIndexValue = toggleIndexValue ?? true;
final Future Function(bool toggleIndex)? selectToggle;
final bool toggleIndexValue;
@override
State<SelectHeaderComponentWidget> createState() =>
_SelectHeaderComponentWidgetState();
}
class _SelectHeaderComponentWidgetState
extends State<SelectHeaderComponentWidget> {
late SelectHeaderComponentModel _model;
@override
void setState(VoidCallback callback) {
super.setState(callback);
_model.onUpdate();
}
@override
void initState() {
super.initState();
_model = createModel(context, () => SelectHeaderComponentModel());
}
@override
void dispose() {
_model.maybeDispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Expanded(
child: Container(
height: 55.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
InkWell(
splashColor: Colors.transparent,
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
highlightColor: Colors.transparent,
onTap: () async {
await widget.selectToggle?.call(
true,
);
},
child: Container(
width: double.infinity,
height: 50.0,
decoration: const BoxDecoration(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(0.0),
bottomRight: Radius.circular(0.0),
topLeft: Radius.circular(0.0),
topRight: Radius.circular(0.0),
),
),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Text(
FFLocalizations.of(context).getText(
'1gr8ztd5' /* Criar Agendamento */,
),
style: 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),
),
),
),
),
),
if (widget.toggleIndexValue == true)
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(0.0, 2.0, 0.0, 0.0),
child: Container(
width: double.infinity,
height: 2.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primary,
borderRadius: BorderRadius.circular(100.0),
),
),
),
],
),
),
),
Expanded(
child: Container(
height: 55.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
InkWell(
splashColor: Colors.transparent,
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
highlightColor: Colors.transparent,
onTap: () async {
await widget.selectToggle?.call(
false,
);
},
child: Container(
width: double.infinity,
height: 50.0,
decoration: const BoxDecoration(
borderRadius: BorderRadius.only(
bottomLeft: Radius.circular(0.0),
bottomRight: Radius.circular(0.0),
topLeft: Radius.circular(0.0),
topRight: Radius.circular(0.0),
),
),
child: Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Text(
FFLocalizations.of(context).getText(
'xjahsbjw' /* Histórico de Visitas */,
),
style: 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),
),
),
),
),
),
if (widget.toggleIndexValue == false)
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(0.0, 2.0, 0.0, 0.0),
child: Container(
width: double.infinity,
height: 2.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primary,
borderRadius: BorderRadius.circular(100.0),
),
),
),
],
),
),
),
],
);
}
}

View File

@ -1,17 +0,0 @@
import '/flutter_flow/flutter_flow_util.dart';
import 'test_widget.dart' show TestWidget;
import 'package:flutter/material.dart';
class TestModel extends FlutterFlowModel<TestWidget> {
/// State fields for stateful widgets in this page.
final unfocusNode = FocusNode();
@override
void initState(BuildContext context) {}
@override
void dispose() {
unfocusNode.dispose();
}
}

View File

@ -1,44 +0,0 @@
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import 'package:flutter/material.dart';
import 'test_model.dart';
export 'test_model.dart';
class TestWidget extends StatefulWidget {
const TestWidget({super.key});
@override
State<TestWidget> createState() => _TestWidgetState();
}
class _TestWidgetState extends State<TestWidget> {
late TestModel _model;
final scaffoldKey = GlobalKey<ScaffoldState>();
@override
void initState() {
super.initState();
_model = createModel(context, () => TestModel());
}
@override
void dispose() {
_model.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
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,
),
);
}
}