rollback
This commit is contained in:
parent
dadbaff7a0
commit
eb775ca85b
|
@ -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>"; };
|
||||
6436409127A31CDF00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
6436409E27A31CD200820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
6436409D27A31CDC00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
6436409227A31CDD00820AF7 /* 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 = (
|
||||
6436409127A31CDF00820AF7 /* pt */,
|
||||
6436409E27A31CD200820AF7 /* en */,
|
||||
6436409D27A31CDC00820AF7 /* pt */,
|
||||
6436409227A31CDD00820AF7 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||
import '/actions/actions.dart' as action_blocks;
|
||||
import '/custom_code/actions/index.dart' as actions;
|
||||
import '/flutter_flow/random_data_util.dart' as random_data;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import '/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_widget.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 '/modals/regisiter_vistor_template_component/regisiter_vistor_template_component_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'visitor_not_found_component_model.dart';
|
|
@ -0,0 +1,12 @@
|
|||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'local_profile_component_widget.dart' show LocalProfileComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class LocalProfileComponentModel
|
||||
extends FlutterFlowModel<LocalProfileComponentWidget> {
|
||||
@override
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
@override
|
||||
void dispose() {}
|
||||
}
|
|
@ -0,0 +1,151 @@
|
|||
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 'local_profile_component_model.dart';
|
||||
export 'local_profile_component_model.dart';
|
||||
|
||||
class LocalProfileComponentWidget extends StatefulWidget {
|
||||
const LocalProfileComponentWidget({super.key});
|
||||
|
||||
@override
|
||||
State<LocalProfileComponentWidget> createState() =>
|
||||
_LocalProfileComponentWidgetState();
|
||||
}
|
||||
|
||||
class _LocalProfileComponentWidgetState
|
||||
extends State<LocalProfileComponentWidget> {
|
||||
late LocalProfileComponentModel _model;
|
||||
|
||||
@override
|
||||
void setState(VoidCallback callback) {
|
||||
super.setState(callback);
|
||||
_model.onUpdate();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_model = createModel(context, () => LocalProfileComponentModel());
|
||||
}
|
||||
|
||||
@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(
|
||||
decoration: const BoxDecoration(),
|
||||
child: Align(
|
||||
alignment: const AlignmentDirectional(0.0, -1.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),
|
||||
),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Align(
|
||||
alignment: const AlignmentDirectional(-1.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: 80.0,
|
||||
height: 80.0,
|
||||
fit: BoxFit.cover,
|
||||
alignment: const Alignment(0.0, 0.0),
|
||||
errorBuilder: (context, error, stackTrace) =>
|
||||
Image.asset(
|
||||
'assets/images/error_image.svg',
|
||||
width: 80.0,
|
||||
height: 80.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).info,
|
||||
fontSize: 14.0,
|
||||
letterSpacing: 0.0,
|
||||
fontWeight: FontWeight.w500,
|
||||
useGoogleFonts:
|
||||
GoogleFonts.asMap().containsKey('Nunito'),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
]
|
||||
.divide(const SizedBox(width: 20.0))
|
||||
.addToStart(const SizedBox(width: 20.0))
|
||||
.addToEnd(const SizedBox(width: 20.0)),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,117 @@
|
|||
import '/components/molecular_components/option_selection_modal/option_selection_modal_widget.dart';
|
||||
import '/components/organism_components/menu_list_view_component/menu_list_view_component_widget.dart';
|
||||
import '/components/organism_components/menu_staggered_view_component/menu_staggered_view_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'menu_component_widget.dart' show MenuComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MenuComponentModel extends FlutterFlowModel<MenuComponentWidget> {
|
||||
/// Local state fields for this component.
|
||||
|
||||
bool isGrid = false;
|
||||
|
||||
/// State fields for stateful widgets in this component.
|
||||
|
||||
// Model for menuListViewComponent.
|
||||
late MenuListViewComponentModel menuListViewComponentModel;
|
||||
// Model for menuStaggeredViewComponent.
|
||||
late MenuStaggeredViewComponentModel menuStaggeredViewComponentModel;
|
||||
|
||||
@override
|
||||
void initState(BuildContext context) {
|
||||
menuListViewComponentModel =
|
||||
createModel(context, () => MenuListViewComponentModel());
|
||||
menuStaggeredViewComponentModel =
|
||||
createModel(context, () => MenuStaggeredViewComponentModel());
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
menuListViewComponentModel.dispose();
|
||||
menuStaggeredViewComponentModel.dispose();
|
||||
}
|
||||
|
||||
/// Action blocks.
|
||||
Future changeMenuStyle(BuildContext context) async {
|
||||
isGrid = !isGrid;
|
||||
}
|
||||
|
||||
Future scheduleVisitOptAction(BuildContext context) async {
|
||||
await showModalBottomSheet(
|
||||
isScrollControlled: true,
|
||||
backgroundColor: Colors.transparent,
|
||||
enableDrag: false,
|
||||
context: context,
|
||||
builder: (context) {
|
||||
return Padding(
|
||||
padding: MediaQuery.viewInsetsOf(context),
|
||||
child: const OptionSelectionModalWidget(),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Future registerVisitorOptAction(BuildContext context) async {
|
||||
context.pushNamed(
|
||||
'registerVisitorPage',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.scale,
|
||||
alignment: Alignment.bottomCenter,
|
||||
),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Future peopleOnThePropertyAction(BuildContext context) async {
|
||||
context.pushNamed(
|
||||
'peopleOnThePropertyPage',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.fade,
|
||||
),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Future acessHistoryOptAction(BuildContext context) async {
|
||||
context.pushNamed(
|
||||
'acessHistoryPage',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.scale,
|
||||
alignment: Alignment.bottomCenter,
|
||||
),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Future liberationHistoryOptAction(BuildContext context) async {
|
||||
context.pushNamed(
|
||||
'liberationHistory',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.scale,
|
||||
alignment: Alignment.bottomCenter,
|
||||
),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
Future accessQRCodeOptAction(BuildContext context) async {
|
||||
context.pushNamed(
|
||||
'qrCodePage',
|
||||
extra: <String, dynamic>{
|
||||
kTransitionInfoKey: const TransitionInfo(
|
||||
hasTransition: true,
|
||||
transitionType: PageTransitionType.scale,
|
||||
alignment: Alignment.bottomCenter,
|
||||
),
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,120 @@
|
|||
import '/components/organism_components/menu_list_view_component/menu_list_view_component_widget.dart';
|
||||
import '/components/organism_components/menu_staggered_view_component/menu_staggered_view_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'menu_component_model.dart';
|
||||
export 'menu_component_model.dart';
|
||||
|
||||
class MenuComponentWidget extends StatefulWidget {
|
||||
const MenuComponentWidget({super.key});
|
||||
|
||||
@override
|
||||
State<MenuComponentWidget> createState() => _MenuComponentWidgetState();
|
||||
}
|
||||
|
||||
class _MenuComponentWidgetState extends State<MenuComponentWidget> {
|
||||
late MenuComponentModel _model;
|
||||
|
||||
@override
|
||||
void setState(VoidCallback callback) {
|
||||
super.setState(callback);
|
||||
_model.onUpdate();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_model = createModel(context, () => MenuComponentModel());
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
_model.maybeDispose();
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Padding(
|
||||
padding: const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0),
|
||||
child: Builder(
|
||||
builder: (context) {
|
||||
if (_model.isGrid == true) {
|
||||
return wrapWithModel(
|
||||
model: _model.menuListViewComponentModel,
|
||||
updateCallback: () => setState(() {}),
|
||||
updateOnChange: true,
|
||||
child: MenuListViewComponentWidget(
|
||||
changeMenuStyle: () async {
|
||||
await _model.changeMenuStyle(context);
|
||||
setState(() {});
|
||||
},
|
||||
registerVisitorOptAction: () async {
|
||||
await _model.registerVisitorOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
scheduleVisitOptAction: () async {
|
||||
await _model.scheduleVisitOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
peopleOnThePropertyOptAction: () async {
|
||||
await _model.peopleOnThePropertyAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
acessHistoryOptAction: () async {
|
||||
await _model.acessHistoryOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
liberationHistoryOptAction: () async {
|
||||
await _model.liberationHistoryOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
accessQRCodeOptAction: () async {
|
||||
await _model.accessQRCodeOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
);
|
||||
} else {
|
||||
return wrapWithModel(
|
||||
model: _model.menuStaggeredViewComponentModel,
|
||||
updateCallback: () => setState(() {}),
|
||||
updateOnChange: true,
|
||||
child: MenuStaggeredViewComponentWidget(
|
||||
changeMenuStyleAction: () async {
|
||||
await _model.changeMenuStyle(context);
|
||||
setState(() {});
|
||||
},
|
||||
registerVisitorOptAction: () async {
|
||||
await _model.registerVisitorOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
scheduleVisitOptAction: () async {
|
||||
await _model.scheduleVisitOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
peopleOnThePropertyOptAction: () async {
|
||||
await _model.peopleOnThePropertyAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
accessHistoryOptAction: () async {
|
||||
await _model.acessHistoryOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
liberationHistoryOptAction: () async {
|
||||
await _model.liberationHistoryOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
accessQRCodeOptAction: () async {
|
||||
await _model.accessQRCodeOptAction(context);
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,12 @@
|
|||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'menu_list_view_component_widget.dart' show MenuListViewComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MenuListViewComponentModel
|
||||
extends FlutterFlowModel<MenuListViewComponentWidget> {
|
||||
@override
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
@override
|
||||
void dispose() {}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,13 @@
|
|||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'menu_staggered_view_component_widget.dart'
|
||||
show MenuStaggeredViewComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MenuStaggeredViewComponentModel
|
||||
extends FlutterFlowModel<MenuStaggeredViewComponentWidget> {
|
||||
@override
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
@override
|
||||
void dispose() {}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,12 @@
|
|||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'message_well_component_widget.dart' show MessageWellComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MessageWellComponentModel
|
||||
extends FlutterFlowModel<MessageWellComponentWidget> {
|
||||
@override
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
@override
|
||||
void dispose() {}
|
||||
}
|
|
@ -0,0 +1,125 @@
|
|||
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 'message_well_component_model.dart';
|
||||
export 'message_well_component_model.dart';
|
||||
|
||||
class MessageWellComponentWidget extends StatefulWidget {
|
||||
const MessageWellComponentWidget({super.key});
|
||||
|
||||
@override
|
||||
State<MessageWellComponentWidget> createState() =>
|
||||
_MessageWellComponentWidgetState();
|
||||
}
|
||||
|
||||
class _MessageWellComponentWidgetState
|
||||
extends State<MessageWellComponentWidget> {
|
||||
late MessageWellComponentModel _model;
|
||||
|
||||
@override
|
||||
void setState(VoidCallback callback) {
|
||||
super.setState(callback);
|
||||
_model.onUpdate();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_model = createModel(context, () => MessageWellComponentModel());
|
||||
}
|
||||
|
||||
@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(0.0, 40.0, 0.0, 0.0),
|
||||
child: Container(
|
||||
width: double.infinity,
|
||||
height: 167.0,
|
||||
decoration: const BoxDecoration(),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
Text(
|
||||
FFLocalizations.of(context).getText(
|
||||
'8fworxmb' /* Mural de Mensagens */,
|
||||
),
|
||||
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
||||
fontFamily: 'Nunito Sans',
|
||||
letterSpacing: 0.0,
|
||||
useGoogleFonts:
|
||||
GoogleFonts.asMap().containsKey('Nunito Sans'),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding: const EdgeInsetsDirectional.fromSTEB(0.0, 5.0, 0.0, 0.0),
|
||||
child: FFButtonWidget(
|
||||
onPressed: () {
|
||||
print('Button pressed ...');
|
||||
},
|
||||
text: FFLocalizations.of(context).getText(
|
||||
'yikill36' /* Todos */,
|
||||
),
|
||||
options: FFButtonOptions(
|
||||
width: 260.0,
|
||||
height: 20.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: const Color(0xFF1AAB5F),
|
||||
textStyle: FlutterFlowTheme.of(context)
|
||||
.labelMedium
|
||||
.override(
|
||||
fontFamily:
|
||||
FlutterFlowTheme.of(context).labelMediumFamily,
|
||||
color: FlutterFlowTheme.of(context).customColor4,
|
||||
letterSpacing: 0.0,
|
||||
fontWeight: FontWeight.normal,
|
||||
useGoogleFonts: GoogleFonts.asMap().containsKey(
|
||||
FlutterFlowTheme.of(context).labelMediumFamily),
|
||||
),
|
||||
elevation: 3.0,
|
||||
borderSide: const BorderSide(
|
||||
color: Colors.transparent,
|
||||
width: 1.0,
|
||||
),
|
||||
borderRadius: BorderRadius.circular(8.0),
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0),
|
||||
child: Container(
|
||||
width: 464.0,
|
||||
height: 127.0,
|
||||
decoration: const BoxDecoration(
|
||||
shape: BoxShape.rectangle,
|
||||
),
|
||||
child: ListView(
|
||||
padding: EdgeInsets.zero,
|
||||
scrollDirection: Axis.vertical,
|
||||
children: const [],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
|
||||
import '/components/templates_components/visitor_details_modal_template_component/visitor_details_modal_template_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||
import '/modals/visitor_details_modal_template_component/visitor_details_modal_template_component_widget.dart';
|
||||
import '/flutter_flow/custom_functions.dart' as functions;
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:flutter/material.dart';
|
|
@ -1,8 +1,8 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'forgot_password_template_component_model.dart';
|
|
@ -1,11 +1,11 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_drop_down.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||
import '/flutter_flow/form_field_controller.dart';
|
||||
import '/flutter_flow/upload_data.dart';
|
||||
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||
import '/custom_code/actions/index.dart' as actions;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
|
@ -0,0 +1,61 @@
|
|||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'sign_in_template_component_widget.dart'
|
||||
show SignInTemplateComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class SignInTemplateComponentModel
|
||||
extends FlutterFlowModel<SignInTemplateComponentWidget> {
|
||||
/// State fields for stateful widgets in this component.
|
||||
|
||||
final formKey = GlobalKey<FormState>();
|
||||
// State field(s) for emailAddress widget.
|
||||
FocusNode? emailAddressFocusNode;
|
||||
TextEditingController? emailAddressTextController;
|
||||
String? Function(BuildContext, String?)? emailAddressTextControllerValidator;
|
||||
String? _emailAddressTextControllerValidator(
|
||||
BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'xhnawzcb' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
's3j1hjqx' /* E-mail Inv */,
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for password widget.
|
||||
FocusNode? passwordFocusNode;
|
||||
TextEditingController? passwordTextController;
|
||||
late bool passwordVisibility;
|
||||
String? Function(BuildContext, String?)? passwordTextControllerValidator;
|
||||
String? _passwordTextControllerValidator(BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'9cs5wlmc' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@override
|
||||
void initState(BuildContext context) {
|
||||
emailAddressTextControllerValidator = _emailAddressTextControllerValidator;
|
||||
passwordVisibility = false;
|
||||
passwordTextControllerValidator = _passwordTextControllerValidator;
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
emailAddressFocusNode?.dispose();
|
||||
emailAddressTextController?.dispose();
|
||||
|
||||
passwordFocusNode?.dispose();
|
||||
passwordTextController?.dispose();
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,91 @@
|
|||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'sign_up_template_component_widget.dart'
|
||||
show SignUpTemplateComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class SignUpTemplateComponentModel
|
||||
extends FlutterFlowModel<SignUpTemplateComponentWidget> {
|
||||
/// State fields for stateful widgets in this component.
|
||||
|
||||
final formKey = GlobalKey<FormState>();
|
||||
// State field(s) for nameRegisterForm widget.
|
||||
FocusNode? nameRegisterFormFocusNode;
|
||||
TextEditingController? nameRegisterFormTextController;
|
||||
String? Function(BuildContext, String?)?
|
||||
nameRegisterFormTextControllerValidator;
|
||||
String? _nameRegisterFormTextControllerValidator(
|
||||
BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'3bs10dfq' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
if (!RegExp(kTextValidatorUsernameRegex).hasMatch(val)) {
|
||||
return 'Must start with a letter and can only contain letters, digits and - or _.';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for emailRegisterForm widget.
|
||||
FocusNode? emailRegisterFormFocusNode;
|
||||
TextEditingController? emailRegisterFormTextController;
|
||||
String? Function(BuildContext, String?)?
|
||||
emailRegisterFormTextControllerValidator;
|
||||
String? _emailRegisterFormTextControllerValidator(
|
||||
BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'mlvw63yj' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
|
||||
return 'Has to be a valid email address.';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for passwordRegisterForm widget.
|
||||
FocusNode? passwordRegisterFormFocusNode;
|
||||
TextEditingController? passwordRegisterFormTextController;
|
||||
late bool passwordRegisterFormVisibility;
|
||||
String? Function(BuildContext, String?)?
|
||||
passwordRegisterFormTextControllerValidator;
|
||||
String? _passwordRegisterFormTextControllerValidator(
|
||||
BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'6nn79lmh' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// Stores action output result for [Action Block - signUpRegisterAction] action in SignUpButtonRegisterForm widget.
|
||||
bool? signUp;
|
||||
|
||||
@override
|
||||
void initState(BuildContext context) {
|
||||
nameRegisterFormTextControllerValidator =
|
||||
_nameRegisterFormTextControllerValidator;
|
||||
emailRegisterFormTextControllerValidator =
|
||||
_emailRegisterFormTextControllerValidator;
|
||||
passwordRegisterFormVisibility = false;
|
||||
passwordRegisterFormTextControllerValidator =
|
||||
_passwordRegisterFormTextControllerValidator;
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
nameRegisterFormFocusNode?.dispose();
|
||||
nameRegisterFormTextController?.dispose();
|
||||
|
||||
emailRegisterFormFocusNode?.dispose();
|
||||
emailRegisterFormTextController?.dispose();
|
||||
|
||||
passwordRegisterFormFocusNode?.dispose();
|
||||
passwordRegisterFormTextController?.dispose();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,866 @@
|
|||
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_animate/flutter_animate.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'sign_up_template_component_model.dart';
|
||||
export 'sign_up_template_component_model.dart';
|
||||
|
||||
class SignUpTemplateComponentWidget extends StatefulWidget {
|
||||
const SignUpTemplateComponentWidget({
|
||||
super.key,
|
||||
required this.toggleSignInPage,
|
||||
});
|
||||
|
||||
final Future Function()? toggleSignInPage;
|
||||
|
||||
@override
|
||||
State<SignUpTemplateComponentWidget> createState() =>
|
||||
_SignUpTemplateComponentWidgetState();
|
||||
}
|
||||
|
||||
class _SignUpTemplateComponentWidgetState
|
||||
extends State<SignUpTemplateComponentWidget> with TickerProviderStateMixin {
|
||||
late SignUpTemplateComponentModel _model;
|
||||
|
||||
final animationsMap = <String, AnimationInfo>{};
|
||||
|
||||
@override
|
||||
void setState(VoidCallback callback) {
|
||||
super.setState(callback);
|
||||
_model.onUpdate();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_model = createModel(context, () => SignUpTemplateComponentModel());
|
||||
|
||||
_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.maybeDispose();
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
context.watch<FFAppState>();
|
||||
|
||||
return 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(
|
||||
'49609olv' /* 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: [
|
||||
Form(
|
||||
key: _model.formKey,
|
||||
autovalidateMode:
|
||||
AutovalidateMode.disabled,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
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(
|
||||
isDense: true,
|
||||
labelText:
|
||||
FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'3corpwhd' /* 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.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.success,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
errorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.error,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedErrorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.error,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
filled: true,
|
||||
fillColor:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryBackground,
|
||||
suffixIcon: Icon(
|
||||
Icons.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(
|
||||
isDense: true,
|
||||
labelText:
|
||||
FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'80wonb69' /* Email */,
|
||||
),
|
||||
labelStyle: FlutterFlowTheme
|
||||
.of(context)
|
||||
.labelLarge
|
||||
.override(
|
||||
fontFamily:
|
||||
'Plus Jakarta Sans',
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.primaryText,
|
||||
fontSize: 16.0,
|
||||
letterSpacing: 0.0,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
useGoogleFonts:
|
||||
GoogleFonts
|
||||
.asMap()
|
||||
.containsKey(
|
||||
'Plus Jakarta Sans'),
|
||||
),
|
||||
enabledBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryText,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.success,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
errorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.error,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedErrorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.error,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
filled: true,
|
||||
fillColor:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryBackground,
|
||||
suffixIcon: Icon(
|
||||
Icons.email,
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.accent1,
|
||||
size: 22.0,
|
||||
),
|
||||
),
|
||||
style: FlutterFlowTheme.of(
|
||||
context)
|
||||
.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(
|
||||
isDense: true,
|
||||
labelText:
|
||||
FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'0firji8l' /* Senha */,
|
||||
),
|
||||
labelStyle: FlutterFlowTheme
|
||||
.of(context)
|
||||
.labelLarge
|
||||
.override(
|
||||
fontFamily:
|
||||
'Plus Jakarta Sans',
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.primaryText,
|
||||
fontSize: 16.0,
|
||||
letterSpacing: 0.0,
|
||||
fontWeight:
|
||||
FontWeight.w500,
|
||||
useGoogleFonts:
|
||||
GoogleFonts
|
||||
.asMap()
|
||||
.containsKey(
|
||||
'Plus Jakarta Sans'),
|
||||
),
|
||||
enabledBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: BorderSide(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.customColor1,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: const BorderSide(
|
||||
color:
|
||||
Color(0xFF1AAB5F),
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
errorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: const BorderSide(
|
||||
color:
|
||||
Color(0xFFFF5963),
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedErrorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide: const BorderSide(
|
||||
color:
|
||||
Color(0xFFFF5963),
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius.circular(
|
||||
12.0),
|
||||
),
|
||||
filled: true,
|
||||
fillColor:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryBackground,
|
||||
suffixIcon: InkWell(
|
||||
onTap: () => setState(
|
||||
() => _model
|
||||
.passwordRegisterFormVisibility =
|
||||
!_model
|
||||
.passwordRegisterFormVisibility,
|
||||
),
|
||||
focusNode: FocusNode(
|
||||
skipTraversal: true),
|
||||
child: Icon(
|
||||
_model.passwordRegisterFormVisibility
|
||||
? Icons
|
||||
.visibility_outlined
|
||||
: Icons
|
||||
.visibility_off_outlined,
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.accent1,
|
||||
size: 24.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
style: FlutterFlowTheme.of(
|
||||
context)
|
||||
.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: (((_model.nameRegisterFormTextController
|
||||
.text !=
|
||||
'') ||
|
||||
((_model.nameRegisterFormFocusNode?.hasFocus ??
|
||||
false) !=
|
||||
null)) &&
|
||||
((_model.emailRegisterFormTextController
|
||||
.text !=
|
||||
'') ||
|
||||
((_model.emailRegisterFormFocusNode
|
||||
?.hasFocus ??
|
||||
false) !=
|
||||
null)) &&
|
||||
((_model.passwordRegisterFormTextController
|
||||
.text !=
|
||||
'') ||
|
||||
((_model.passwordRegisterFormFocusNode
|
||||
?.hasFocus ??
|
||||
false) !=
|
||||
null)))
|
||||
? null
|
||||
: () async {
|
||||
var shouldSetState = false;
|
||||
_model.signUp =
|
||||
await action_blocks
|
||||
.signUpRegisterAction(
|
||||
context,
|
||||
name: _model
|
||||
.nameRegisterFormTextController
|
||||
.text,
|
||||
passwd: _model
|
||||
.passwordRegisterFormTextController
|
||||
.text,
|
||||
email: _model
|
||||
.emailRegisterFormTextController
|
||||
.text,
|
||||
device: FFAppState().device,
|
||||
);
|
||||
shouldSetState = true;
|
||||
if (_model.signUp == true) {
|
||||
await widget
|
||||
.toggleSignInPage
|
||||
?.call();
|
||||
} else {
|
||||
if (shouldSetState) {
|
||||
setState(() {});
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (shouldSetState) {
|
||||
setState(() {});
|
||||
}
|
||||
},
|
||||
text: FFLocalizations.of(context)
|
||||
.getText(
|
||||
'rnvdwzei' /* 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 {
|
||||
await widget.toggleSignInPage
|
||||
?.call();
|
||||
},
|
||||
child: RichText(
|
||||
textScaler: MediaQuery.of(context)
|
||||
.textScaler,
|
||||
text: TextSpan(
|
||||
children: [
|
||||
TextSpan(
|
||||
text: FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'a9smhn5b' /* Você já tem uma conta? */,
|
||||
),
|
||||
style: TextStyle(
|
||||
color: FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryText,
|
||||
),
|
||||
),
|
||||
TextSpan(
|
||||
text: FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'09xv5ctc' /* 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(
|
||||
'huygnka2' /* 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),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
|
||||
import '/components/templates_components/visitor_details_modal_template_component/visitor_details_modal_template_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||
import '/modals/visitor_details_modal_template_component/visitor_details_modal_template_component_widget.dart';
|
||||
import '/actions/actions.dart' as action_blocks;
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:flutter/material.dart';
|
|
@ -1,6 +1,6 @@
|
|||
import '/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart';
|
||||
import '/components/templates_components/view_visit_detail/view_visit_detail_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/modals/schedule_visit_detail/schedule_visit_detail_widget.dart';
|
||||
import '/modals/view_visit_detail/view_visit_detail_widget.dart';
|
||||
import 'visit_details_modal_template_component_widget.dart'
|
||||
show VisitDetailsModalTemplateComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
|
@ -1,6 +1,6 @@
|
|||
import '/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart';
|
||||
import '/components/templates_components/view_visit_detail/view_visit_detail_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/modals/schedule_visit_detail/schedule_visit_detail_widget.dart';
|
||||
import '/modals/view_visit_detail/view_visit_detail_widget.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'visit_details_modal_template_component_model.dart';
|
||||
export 'visit_details_modal_template_component_model.dart';
|
|
@ -1,10 +1,10 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/visitor_not_found_component/visitor_not_found_component_widget.dart';
|
||||
import '/components/templates_components/visitor_details_modal_template_component/visitor_details_modal_template_component_widget.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 '/modals/visitor_details_modal_template_component/visitor_details_modal_template_component_widget.dart';
|
||||
import '/modals/visitor_not_found_component/visitor_not_found_component_widget.dart';
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
|
@ -0,0 +1,13 @@
|
|||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'welcome_template_component_widget.dart'
|
||||
show WelcomeTemplateComponentWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class WelcomeTemplateComponentModel
|
||||
extends FlutterFlowModel<WelcomeTemplateComponentWidget> {
|
||||
@override
|
||||
void initState(BuildContext context) {}
|
||||
|
||||
@override
|
||||
void dispose() {}
|
||||
}
|
|
@ -0,0 +1,445 @@
|
|||
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_animate/flutter_animate.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'welcome_template_component_model.dart';
|
||||
export 'welcome_template_component_model.dart';
|
||||
|
||||
class WelcomeTemplateComponentWidget extends StatefulWidget {
|
||||
const WelcomeTemplateComponentWidget({
|
||||
super.key,
|
||||
required this.toggleSignUpPage,
|
||||
required this.toggleSignInPage,
|
||||
});
|
||||
|
||||
final Future Function()? toggleSignUpPage;
|
||||
final Future Function()? toggleSignInPage;
|
||||
|
||||
@override
|
||||
State<WelcomeTemplateComponentWidget> createState() =>
|
||||
_WelcomeTemplateComponentWidgetState();
|
||||
}
|
||||
|
||||
class _WelcomeTemplateComponentWidgetState
|
||||
extends State<WelcomeTemplateComponentWidget>
|
||||
with TickerProviderStateMixin {
|
||||
late WelcomeTemplateComponentModel _model;
|
||||
|
||||
final animationsMap = <String, AnimationInfo>{};
|
||||
|
||||
@override
|
||||
void setState(VoidCallback callback) {
|
||||
super.setState(callback);
|
||||
_model.onUpdate();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_model = createModel(context, () => WelcomeTemplateComponentModel());
|
||||
|
||||
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.maybeDispose();
|
||||
|
||||
super.dispose();
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return 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(
|
||||
'dsc9tuc8' /* 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(
|
||||
'5bgqn16z' /* 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 {
|
||||
await widget.toggleSignInPage?.call();
|
||||
},
|
||||
text:
|
||||
FFLocalizations.of(context).getText(
|
||||
'dynet730' /* 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 {
|
||||
await widget.toggleSignUpPage?.call();
|
||||
},
|
||||
text:
|
||||
FFLocalizations.of(context).getText(
|
||||
'hha60cg7' /* 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)
|
||||
.primaryBackground,
|
||||
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 {
|
||||
await widget.toggleSignInPage
|
||||
?.call();
|
||||
},
|
||||
text: FFLocalizations.of(context)
|
||||
.getText(
|
||||
'zvtay8ee' /* 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,
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
||||
0.0, 0.0, 0.0, 16.0),
|
||||
child: FFButtonWidget(
|
||||
onPressed: () async {
|
||||
await widget.toggleSignUpPage
|
||||
?.call();
|
||||
},
|
||||
text: FFLocalizations.of(context)
|
||||
.getText(
|
||||
'o6zob50a' /* 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)
|
||||
.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,
|
||||
),
|
||||
),
|
||||
),
|
||||
].divide(const SizedBox(width: 7.0)),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
).animateOnPageLoad(
|
||||
animationsMap['containerOnPageLoadAnimation']!),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -151,86 +151,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
'pt': 'FRE ACCESS',
|
||||
'en': 'FREE ACCESS',
|
||||
},
|
||||
'b2qdcsh0': {
|
||||
'pt': 'Agendar \nVisita',
|
||||
'en': '',
|
||||
},
|
||||
'intigjrx': {
|
||||
'pt': 'Cadastrar\nVisitante',
|
||||
'en': '',
|
||||
},
|
||||
'dcpn2r8i': {
|
||||
'pt': 'Vincular \nCondomínio',
|
||||
'en': '',
|
||||
},
|
||||
'rt57fpea': {
|
||||
'pt': 'Cadastrar \nPet',
|
||||
'en': '',
|
||||
},
|
||||
'e7o77oeh': {
|
||||
'pt': 'QR Code \nde Acesso',
|
||||
'en': '',
|
||||
},
|
||||
'xua67fn9': {
|
||||
'pt': 'Pessoas na\nPropriedade',
|
||||
'en': '',
|
||||
},
|
||||
'hli1jd0i': {
|
||||
'pt': 'Consultar \nHistóricos',
|
||||
'en': '',
|
||||
},
|
||||
'kbvld4ht': {
|
||||
'pt': 'Histórico \nde Acesso',
|
||||
'en': '',
|
||||
},
|
||||
'csz6cjye': {
|
||||
'pt': 'Histórico \nde Liberação',
|
||||
'en': '',
|
||||
},
|
||||
'lzag0674': {
|
||||
'pt': 'Agendar \nVisita',
|
||||
'en': '',
|
||||
},
|
||||
'mopkb1cs': {
|
||||
'pt': 'Cadastrar\n Visitante',
|
||||
'en': '',
|
||||
},
|
||||
'9n0bfmlf': {
|
||||
'pt': 'Vincular\nCondomínio',
|
||||
'en': '',
|
||||
},
|
||||
'3hkp1x8r': {
|
||||
'pt': 'Cadastrar\nPet',
|
||||
'en': '',
|
||||
},
|
||||
'fi81uwmz': {
|
||||
'pt': 'QR Code\nde Acesso',
|
||||
'en': '',
|
||||
},
|
||||
'1djx7nvm': {
|
||||
'pt': 'Pessoas na\nPropriedade',
|
||||
'en': '',
|
||||
},
|
||||
'ttj9zmi8': {
|
||||
'pt': 'Histórico\nde Acesso',
|
||||
'en': '',
|
||||
},
|
||||
'h989n5uy': {
|
||||
'pt': 'Histórico\nde Liberação',
|
||||
'en': '',
|
||||
},
|
||||
'fx7ci8gw': {
|
||||
'pt': 'Preferencias\ndo Sistema',
|
||||
'en': '',
|
||||
},
|
||||
'rgpcq2s6': {
|
||||
'pt': 'Mural de Mensagens',
|
||||
'en': '',
|
||||
},
|
||||
'bdvbpuo8': {
|
||||
'pt': 'Todos',
|
||||
'en': '',
|
||||
},
|
||||
'mp6igsok': {
|
||||
'pt': '',
|
||||
'en': '',
|
||||
|
@ -504,66 +424,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
},
|
||||
// signInPage
|
||||
{
|
||||
'v9f4ae9n': {
|
||||
'pt': 'VAMOS LA! ENTRE COM A SUA CONTA',
|
||||
'en': '',
|
||||
},
|
||||
'i6dx9dz4': {
|
||||
'pt': 'Email',
|
||||
'en': '',
|
||||
},
|
||||
'kpsqzbuz': {
|
||||
'pt': 'Senha',
|
||||
'en': '',
|
||||
},
|
||||
'aobfkrs0': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': '',
|
||||
},
|
||||
'axa3n3lr': {
|
||||
'pt': 'E-mail Inv',
|
||||
'en': '',
|
||||
},
|
||||
'1z37vela': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'9h4qk3c9': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': '',
|
||||
},
|
||||
'5v5xvc3b': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'q4tx90yp': {
|
||||
'pt': 'Entrar',
|
||||
'en': '',
|
||||
},
|
||||
'lzfmqkly': {
|
||||
'pt': 'Cadastrar',
|
||||
'en': '',
|
||||
},
|
||||
'7niwis9z': {
|
||||
'pt': 'Entrar',
|
||||
'en': '',
|
||||
},
|
||||
'bl377mgi': {
|
||||
'pt': 'Cadastrar',
|
||||
'en': '',
|
||||
},
|
||||
'7dntd49d': {
|
||||
'pt': 'Você esqueceu a sua senha?',
|
||||
'en': '',
|
||||
},
|
||||
'31y04wkg': {
|
||||
'pt': ' Recupere aqui',
|
||||
'en': '',
|
||||
},
|
||||
'jou5axcb': {
|
||||
'pt': 'Termo de Uso',
|
||||
'en': '',
|
||||
},
|
||||
'kosqqghj': {
|
||||
'pt': 'Home',
|
||||
'en': '',
|
||||
|
@ -571,66 +431,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
},
|
||||
// signUpPage
|
||||
{
|
||||
'bv7d4en2': {
|
||||
'pt': 'INSIRA SEU EMAIL E SENHA, VAMOS TE CADASTRAR!',
|
||||
'en': '',
|
||||
},
|
||||
'evcb30xo': {
|
||||
'pt': 'Nome',
|
||||
'en': '',
|
||||
},
|
||||
'p7snp67t': {
|
||||
'pt': 'Email',
|
||||
'en': '',
|
||||
},
|
||||
'l0z1d0ca': {
|
||||
'pt': '',
|
||||
'en': '',
|
||||
},
|
||||
'u30lpbvg': {
|
||||
'pt': 'Senha',
|
||||
'en': '',
|
||||
},
|
||||
'iv6d5xk3': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': '',
|
||||
},
|
||||
'51g9xnav': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'w3nl41ps': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': '',
|
||||
},
|
||||
'9aweyu6u': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'ql1bxvno': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': '',
|
||||
},
|
||||
'2cwu613g': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'2a4f1t3w': {
|
||||
'pt': 'Cadastrar-se',
|
||||
'en': '',
|
||||
},
|
||||
'uy41jbvn': {
|
||||
'pt': 'Você já tem uma conta? ',
|
||||
'en': '',
|
||||
},
|
||||
'ynungy80': {
|
||||
'pt': 'Clique aqui',
|
||||
'en': '',
|
||||
},
|
||||
'r5rm6pll': {
|
||||
'pt': 'Termo de Uso',
|
||||
'en': '',
|
||||
},
|
||||
'bq5k4yne': {
|
||||
'pt': 'Home',
|
||||
'en': '',
|
||||
|
@ -638,30 +438,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
},
|
||||
// welcomePage
|
||||
{
|
||||
'77d2ypub': {
|
||||
'pt': 'UMA EXPERIÊCIA COMPLETA',
|
||||
'en': '',
|
||||
},
|
||||
'avhdhlhw': {
|
||||
'pt': 'COM CONFORTO ONDE VOCÊ ESTIVER.',
|
||||
'en': '',
|
||||
},
|
||||
'iw9yx5fr': {
|
||||
'pt': 'Entrar',
|
||||
'en': '',
|
||||
},
|
||||
'bs5mbse6': {
|
||||
'pt': 'Cadastrar',
|
||||
'en': '',
|
||||
},
|
||||
'cq85bqnj': {
|
||||
'pt': 'Entrar',
|
||||
'en': '',
|
||||
},
|
||||
'iupuq6xs': {
|
||||
'pt': 'Cadastrar',
|
||||
'en': '',
|
||||
},
|
||||
'byab1t50': {
|
||||
'pt': 'Home',
|
||||
'en': '',
|
||||
|
@ -971,6 +747,248 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
'en': 'Schedule\nComplete',
|
||||
},
|
||||
},
|
||||
// menuListViewComponent
|
||||
{
|
||||
'utgue9a5': {
|
||||
'pt': 'Agendar \nVisita',
|
||||
'en': 'Schedule \nVisit',
|
||||
},
|
||||
'82b5f8yz': {
|
||||
'pt': 'Cadastrar\nVisitante',
|
||||
'en': 'Register\nVisitor',
|
||||
},
|
||||
't4ie13ut': {
|
||||
'pt': 'Vincular \nCondomínio',
|
||||
'en': 'Link\nCondominium',
|
||||
},
|
||||
'n3n76pha': {
|
||||
'pt': 'Cadastrar \nPet',
|
||||
'en': 'Register\npet',
|
||||
},
|
||||
'l6b9o7yn': {
|
||||
'pt': 'QR Code \nde Acesso',
|
||||
'en': 'QR Code\nAccess',
|
||||
},
|
||||
'rxnrtdau': {
|
||||
'pt': 'Pessoas na\nPropriedade',
|
||||
'en': 'People on\nthe Property',
|
||||
},
|
||||
'nxssjz3q': {
|
||||
'pt': 'Consultar \nHistóricos',
|
||||
'en': 'Consult \nHistories',
|
||||
},
|
||||
'589qufkw': {
|
||||
'pt': 'Histórico \nde Acesso',
|
||||
'en': 'Access \nHistory',
|
||||
},
|
||||
'944g4ib1': {
|
||||
'pt': 'Histórico \nde Liberação',
|
||||
'en': 'Liberation\nHistory',
|
||||
},
|
||||
},
|
||||
// menuStaggeredViewComponent
|
||||
{
|
||||
'ee33l0ms': {
|
||||
'pt': 'Agendar \nVisita',
|
||||
'en': 'Schedule \nVisit',
|
||||
},
|
||||
'ya37l3jt': {
|
||||
'pt': 'Cadastrar\n Visitante',
|
||||
'en': 'Register\n Visitor',
|
||||
},
|
||||
'h8s3adu8': {
|
||||
'pt': 'Vincular\nCondomínio',
|
||||
'en': 'Link\nCondominium',
|
||||
},
|
||||
'j6tfixen': {
|
||||
'pt': 'Cadastrar\nPet',
|
||||
'en': 'Register\npet',
|
||||
},
|
||||
'9tli4i2x': {
|
||||
'pt': 'QR Code\nde Acesso',
|
||||
'en': 'QR Code\nAccess',
|
||||
},
|
||||
'i22hecs8': {
|
||||
'pt': 'Pessoas na\nPropriedade',
|
||||
'en': 'People on\nthe Property',
|
||||
},
|
||||
'6jzghbyi': {
|
||||
'pt': 'Histórico\nde Acesso',
|
||||
'en': 'Access\nHistory',
|
||||
},
|
||||
'u8qu4v6q': {
|
||||
'pt': 'Histórico\nde Liberação',
|
||||
'en': 'Liberation\nHistory',
|
||||
},
|
||||
'dzk31zpc': {
|
||||
'pt': 'Preferencias\ndo Sistema',
|
||||
'en': '',
|
||||
},
|
||||
},
|
||||
// messageWellComponent
|
||||
{
|
||||
'8fworxmb': {
|
||||
'pt': 'Mural de Mensagens',
|
||||
'en': 'Message Wall',
|
||||
},
|
||||
'yikill36': {
|
||||
'pt': 'Todos',
|
||||
'en': 'All',
|
||||
},
|
||||
},
|
||||
// signInTemplateComponent
|
||||
{
|
||||
'9hbdjxrz': {
|
||||
'pt': 'VAMOS LA! ENTRE COM A SUA CONTA',
|
||||
'en': 'LET\'S GO! SIGN IN WITH YOUR ACCOUNT',
|
||||
},
|
||||
'1ltg0ylb': {
|
||||
'pt': 'Email',
|
||||
'en': 'Email',
|
||||
},
|
||||
'2x19ce8k': {
|
||||
'pt': 'Senha',
|
||||
'en': 'Password',
|
||||
},
|
||||
'xhnawzcb': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': 'Field is required',
|
||||
},
|
||||
's3j1hjqx': {
|
||||
'pt': 'E-mail Inv',
|
||||
'en': '',
|
||||
},
|
||||
'2ib9bf67': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'9cs5wlmc': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': 'Field is required',
|
||||
},
|
||||
'rkxwb0sg': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'k44tm7wo': {
|
||||
'pt': 'Entrar',
|
||||
'en': 'Sign-In',
|
||||
},
|
||||
'14u7ipws': {
|
||||
'pt': 'Cadastrar',
|
||||
'en': 'Sign-Up',
|
||||
},
|
||||
'1x926nsn': {
|
||||
'pt': 'Entrar',
|
||||
'en': 'Sign-In',
|
||||
},
|
||||
'jwvd4ai1': {
|
||||
'pt': 'Cadastrar',
|
||||
'en': 'Sign-Up',
|
||||
},
|
||||
'05dx91ku': {
|
||||
'pt': 'Você esqueceu a sua senha?',
|
||||
'en': 'Have you forgotten your password?',
|
||||
},
|
||||
'p5c6d54y': {
|
||||
'pt': ' Recupere aqui',
|
||||
'en': ' recover here',
|
||||
},
|
||||
'olf967cj': {
|
||||
'pt': 'Termo de Uso',
|
||||
'en': 'Terms of use',
|
||||
},
|
||||
},
|
||||
// signUpTemplateComponent
|
||||
{
|
||||
'49609olv': {
|
||||
'pt': 'INSIRA SEU EMAIL E SENHA, VAMOS TE CADASTRAR!',
|
||||
'en': 'ENTER YOUR EMAIL AND PASSWORD, LET\'S REGISTER YOU!',
|
||||
},
|
||||
'3corpwhd': {
|
||||
'pt': 'Nome',
|
||||
'en': 'Name',
|
||||
},
|
||||
'80wonb69': {
|
||||
'pt': 'Email',
|
||||
'en': 'Email',
|
||||
},
|
||||
'ws143wf4': {
|
||||
'pt': '',
|
||||
'en': '',
|
||||
},
|
||||
'0firji8l': {
|
||||
'pt': 'Senha',
|
||||
'en': 'Password',
|
||||
},
|
||||
'3bs10dfq': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': 'Field is required',
|
||||
},
|
||||
'ph22karc': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'mlvw63yj': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': 'Field is required',
|
||||
},
|
||||
'z0bv6wi2': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'6nn79lmh': {
|
||||
'pt': 'Campo é necessário',
|
||||
'en': 'Field is required',
|
||||
},
|
||||
'rcikqhf1': {
|
||||
'pt': 'Please choose an option from the dropdown',
|
||||
'en': '',
|
||||
},
|
||||
'rnvdwzei': {
|
||||
'pt': 'Cadastrar-se',
|
||||
'en': 'Sign-Up',
|
||||
},
|
||||
'a9smhn5b': {
|
||||
'pt': 'Você já tem uma conta? ',
|
||||
'en': 'You already have an account?',
|
||||
},
|
||||
'09xv5ctc': {
|
||||
'pt': 'Clique aqui',
|
||||
'en': 'Click here',
|
||||
},
|
||||
'huygnka2': {
|
||||
'pt': 'Termo de Uso',
|
||||
'en': '',
|
||||
},
|
||||
},
|
||||
// welcomeTemplateComponent
|
||||
{
|
||||
'dsc9tuc8': {
|
||||
'pt': 'UMA EXPERIÊCIA COMPLETA',
|
||||
'en': 'A COMPLETE EXPERIENCE',
|
||||
},
|
||||
'5bgqn16z': {
|
||||
'pt': 'COM CONFORTO ONDE VOCÊ ESTIVER.',
|
||||
'en': 'WITH COMFORT WHEREVER YOU ARE.',
|
||||
},
|
||||
'dynet730': {
|
||||
'pt': 'Entrar',
|
||||
'en': 'Sign-In',
|
||||
},
|
||||
'hha60cg7': {
|
||||
'pt': 'Cadastrar',
|
||||
'en': 'Sign-Up',
|
||||
},
|
||||
'zvtay8ee': {
|
||||
'pt': 'Entrar',
|
||||
'en': 'Sign-In',
|
||||
},
|
||||
'o6zob50a': {
|
||||
'pt': 'Cadastrar',
|
||||
'en': 'Sign-Up',
|
||||
},
|
||||
},
|
||||
// forgotPasswordTemplateComponent
|
||||
{
|
||||
'xxm3ajsy': {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/opt_modal/opt_modal_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/modals/opt_modal/opt_modal_widget.dart';
|
||||
import '/flutter_flow/request_manager.dart';
|
||||
|
||||
import 'acess_history_page_widget.dart' show AcessHistoryPageWidget;
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/opt_modal/opt_modal_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import '/modals/opt_modal/opt_modal_widget.dart';
|
||||
import '/flutter_flow/custom_functions.dart' as functions;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
import '/components/organism_components/local_profile_component/local_profile_component_widget.dart';
|
||||
import '/components/organism_components/menu_component/menu_component_widget.dart';
|
||||
import '/components/organism_components/message_well_component/message_well_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'home_page_widget.dart' show HomePageWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
@ -14,14 +17,30 @@ class HomePageModel extends FlutterFlowModel<HomePageWidget> {
|
|||
FocusNode? textFieldFocusNode;
|
||||
TextEditingController? textController;
|
||||
String? Function(BuildContext, String?)? textControllerValidator;
|
||||
// Model for localComponent.
|
||||
late LocalProfileComponentModel localComponentModel;
|
||||
// Model for menuComponent component.
|
||||
late MenuComponentModel menuComponentModel;
|
||||
// Model for messageWellComponent component.
|
||||
late MessageWellComponentModel messageWellComponentModel;
|
||||
|
||||
@override
|
||||
void initState(BuildContext context) {}
|
||||
void initState(BuildContext context) {
|
||||
localComponentModel =
|
||||
createModel(context, () => LocalProfileComponentModel());
|
||||
menuComponentModel = createModel(context, () => MenuComponentModel());
|
||||
messageWellComponentModel =
|
||||
createModel(context, () => MessageWellComponentModel());
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
textFieldFocusNode?.dispose();
|
||||
textController?.dispose();
|
||||
|
||||
localComponentModel.dispose();
|
||||
menuComponentModel.dispose();
|
||||
messageWellComponentModel.dispose();
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,9 +1,9 @@
|
|||
import '/components/templates_components/qr_code_pass_key_template_component/qr_code_pass_key_template_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_animations.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 '/modals/qr_code_pass_key_template_component/qr_code_pass_key_template_component_widget.dart';
|
||||
import 'dart:async';
|
||||
import '/flutter_flow/custom_functions.dart' as functions;
|
||||
import 'package:barcode_widget/barcode_widget.dart';
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_drop_down.dart';
|
||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
|
@ -6,7 +7,6 @@ import '/flutter_flow/flutter_flow_util.dart';
|
|||
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||
import '/flutter_flow/form_field_controller.dart';
|
||||
import '/flutter_flow/upload_data.dart';
|
||||
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||
import '/custom_code/actions/index.dart' as actions;
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
|
||||
import '/components/templates_components/visit_details_modal_template_component/visit_details_modal_template_component_widget.dart';
|
||||
import '/components/templates_components/visitor_details_modal_template_component/visitor_details_modal_template_component_widget.dart';
|
||||
import '/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_drop_down.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 '/flutter_flow/form_field_controller.dart';
|
||||
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||
import '/modals/visit_details_modal_template_component/visit_details_modal_template_component_widget.dart';
|
||||
import '/modals/visitor_details_modal_template_component/visitor_details_modal_template_component_widget.dart';
|
||||
import '/modals/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart';
|
||||
import '/flutter_flow/custom_functions.dart' as functions;
|
||||
import 'package:auto_size_text/auto_size_text.dart';
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/components/molecular_components/throw_exception/throw_exception_widget.dart';
|
||||
import '/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.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 '/modals/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart';
|
||||
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||
import 'package:cached_network_image/cached_network_image.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import '/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'sign_in_page_widget.dart' show SignInPageWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
@ -6,56 +7,18 @@ class SignInPageModel extends FlutterFlowModel<SignInPageWidget> {
|
|||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
final formKey = GlobalKey<FormState>();
|
||||
// State field(s) for emailAddress widget.
|
||||
FocusNode? emailAddressFocusNode;
|
||||
TextEditingController? emailAddressTextController;
|
||||
String? Function(BuildContext, String?)? emailAddressTextControllerValidator;
|
||||
String? _emailAddressTextControllerValidator(
|
||||
BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'aobfkrs0' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'axa3n3lr' /* E-mail Inv */,
|
||||
);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for password widget.
|
||||
FocusNode? passwordFocusNode;
|
||||
TextEditingController? passwordTextController;
|
||||
late bool passwordVisibility;
|
||||
String? Function(BuildContext, String?)? passwordTextControllerValidator;
|
||||
String? _passwordTextControllerValidator(BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'9h4qk3c9' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
// Model for signInTemplateComponent component.
|
||||
late SignInTemplateComponentModel signInTemplateComponentModel;
|
||||
|
||||
@override
|
||||
void initState(BuildContext context) {
|
||||
emailAddressTextControllerValidator = _emailAddressTextControllerValidator;
|
||||
passwordVisibility = false;
|
||||
passwordTextControllerValidator = _passwordTextControllerValidator;
|
||||
signInTemplateComponentModel =
|
||||
createModel(context, () => SignInTemplateComponentModel());
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
emailAddressFocusNode?.dispose();
|
||||
emailAddressTextController?.dispose();
|
||||
|
||||
passwordFocusNode?.dispose();
|
||||
passwordTextController?.dispose();
|
||||
signInTemplateComponentModel.dispose();
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,3 +1,4 @@
|
|||
import '/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'sign_up_page_widget.dart' show SignUpPageWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
@ -6,86 +7,18 @@ class SignUpPageModel extends FlutterFlowModel<SignUpPageWidget> {
|
|||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
final formKey = GlobalKey<FormState>();
|
||||
// State field(s) for nameRegisterForm widget.
|
||||
FocusNode? nameRegisterFormFocusNode;
|
||||
TextEditingController? nameRegisterFormTextController;
|
||||
String? Function(BuildContext, String?)?
|
||||
nameRegisterFormTextControllerValidator;
|
||||
String? _nameRegisterFormTextControllerValidator(
|
||||
BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'iv6d5xk3' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
if (!RegExp(kTextValidatorUsernameRegex).hasMatch(val)) {
|
||||
return 'Must start with a letter and can only contain letters, digits and - or _.';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for emailRegisterForm widget.
|
||||
FocusNode? emailRegisterFormFocusNode;
|
||||
TextEditingController? emailRegisterFormTextController;
|
||||
String? Function(BuildContext, String?)?
|
||||
emailRegisterFormTextControllerValidator;
|
||||
String? _emailRegisterFormTextControllerValidator(
|
||||
BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'w3nl41ps' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
if (!RegExp(kTextValidatorEmailRegex).hasMatch(val)) {
|
||||
return 'Has to be a valid email address.';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
// State field(s) for passwordRegisterForm widget.
|
||||
FocusNode? passwordRegisterFormFocusNode;
|
||||
TextEditingController? passwordRegisterFormTextController;
|
||||
late bool passwordRegisterFormVisibility;
|
||||
String? Function(BuildContext, String?)?
|
||||
passwordRegisterFormTextControllerValidator;
|
||||
String? _passwordRegisterFormTextControllerValidator(
|
||||
BuildContext context, String? val) {
|
||||
if (val == null || val.isEmpty) {
|
||||
return FFLocalizations.of(context).getText(
|
||||
'ql1bxvno' /* Campo é necessário */,
|
||||
);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
// Stores action output result for [Action Block - signUpRegisterAction] action in SignUpButtonRegisterForm widget.
|
||||
bool? signUp;
|
||||
// Model for signUpTemplateComponent component.
|
||||
late SignUpTemplateComponentModel signUpTemplateComponentModel;
|
||||
|
||||
@override
|
||||
void initState(BuildContext context) {
|
||||
nameRegisterFormTextControllerValidator =
|
||||
_nameRegisterFormTextControllerValidator;
|
||||
emailRegisterFormTextControllerValidator =
|
||||
_emailRegisterFormTextControllerValidator;
|
||||
passwordRegisterFormVisibility = false;
|
||||
passwordRegisterFormTextControllerValidator =
|
||||
_passwordRegisterFormTextControllerValidator;
|
||||
signUpTemplateComponentModel =
|
||||
createModel(context, () => SignUpTemplateComponentModel());
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
nameRegisterFormFocusNode?.dispose();
|
||||
nameRegisterFormTextController?.dispose();
|
||||
|
||||
emailRegisterFormFocusNode?.dispose();
|
||||
emailRegisterFormTextController?.dispose();
|
||||
|
||||
passwordRegisterFormFocusNode?.dispose();
|
||||
passwordRegisterFormTextController?.dispose();
|
||||
signUpTemplateComponentModel.dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,14 +1,8 @@
|
|||
import '/flutter_flow/flutter_flow_animations.dart';
|
||||
import '/components/templates_components/sign_up_template_component/sign_up_template_component_widget.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_animate/flutter_animate.dart';
|
||||
import 'package:flutter_svg/flutter_svg.dart';
|
||||
import 'package:google_fonts/google_fonts.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'sign_up_page_model.dart';
|
||||
export 'sign_up_page_model.dart';
|
||||
|
||||
|
@ -19,64 +13,15 @@ class SignUpPageWidget extends StatefulWidget {
|
|||
State<SignUpPageWidget> createState() => _SignUpPageWidgetState();
|
||||
}
|
||||
|
||||
class _SignUpPageWidgetState extends State<SignUpPageWidget>
|
||||
with TickerProviderStateMixin {
|
||||
class _SignUpPageWidgetState extends State<SignUpPageWidget> {
|
||||
late SignUpPageModel _model;
|
||||
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
final animationsMap = <String, AnimationInfo>{};
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
_model = createModel(context, () => SignUpPageModel());
|
||||
|
||||
_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
|
||||
|
@ -88,8 +33,6 @@ class _SignUpPageWidgetState extends State<SignUpPageWidget>
|
|||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
context.watch<FFAppState>();
|
||||
|
||||
return GestureDetector(
|
||||
onTap: () => _model.unfocusNode.canRequestFocus
|
||||
? FocusScope.of(context).requestFocus(_model.unfocusNode)
|
||||
|
@ -99,819 +42,16 @@ class _SignUpPageWidgetState extends State<SignUpPageWidget>
|
|||
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(
|
||||
'bv7d4en2' /* 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: [
|
||||
Form(
|
||||
key: _model.formKey,
|
||||
autovalidateMode:
|
||||
AutovalidateMode.disabled,
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
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(
|
||||
isDense: true,
|
||||
labelText:
|
||||
FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'evcb30xo' /* 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.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.success,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
errorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.error,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedErrorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.error,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
filled: true,
|
||||
fillColor: FlutterFlowTheme
|
||||
.of(context)
|
||||
.primaryBackground,
|
||||
suffixIcon: Icon(
|
||||
Icons.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(
|
||||
isDense: true,
|
||||
labelText:
|
||||
FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'p7snp67t' /* Email */,
|
||||
),
|
||||
labelStyle:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.labelLarge
|
||||
.override(
|
||||
fontFamily:
|
||||
'Plus Jakarta Sans',
|
||||
color: FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryText,
|
||||
fontSize:
|
||||
16.0,
|
||||
letterSpacing:
|
||||
0.0,
|
||||
fontWeight:
|
||||
FontWeight
|
||||
.w500,
|
||||
useGoogleFonts: GoogleFonts
|
||||
.asMap()
|
||||
.containsKey(
|
||||
'Plus Jakarta Sans'),
|
||||
),
|
||||
enabledBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.primaryText,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.success,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
errorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.error,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedErrorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.error,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
filled: true,
|
||||
fillColor: FlutterFlowTheme
|
||||
.of(context)
|
||||
.primaryBackground,
|
||||
suffixIcon: Icon(
|
||||
Icons.email,
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.accent1,
|
||||
size: 22.0,
|
||||
),
|
||||
),
|
||||
style:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.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(
|
||||
isDense: true,
|
||||
labelText:
|
||||
FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'u30lpbvg' /* Senha */,
|
||||
),
|
||||
labelStyle:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.labelLarge
|
||||
.override(
|
||||
fontFamily:
|
||||
'Plus Jakarta Sans',
|
||||
color: FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryText,
|
||||
fontSize:
|
||||
16.0,
|
||||
letterSpacing:
|
||||
0.0,
|
||||
fontWeight:
|
||||
FontWeight
|
||||
.w500,
|
||||
useGoogleFonts: GoogleFonts
|
||||
.asMap()
|
||||
.containsKey(
|
||||
'Plus Jakarta Sans'),
|
||||
),
|
||||
enabledBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
BorderSide(
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.customColor1,
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
const BorderSide(
|
||||
color: Color(
|
||||
0xFF1AAB5F),
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
errorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
const BorderSide(
|
||||
color: Color(
|
||||
0xFFFF5963),
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
focusedErrorBorder:
|
||||
OutlineInputBorder(
|
||||
borderSide:
|
||||
const BorderSide(
|
||||
color: Color(
|
||||
0xFFFF5963),
|
||||
width: 0.25,
|
||||
),
|
||||
borderRadius:
|
||||
BorderRadius
|
||||
.circular(
|
||||
12.0),
|
||||
),
|
||||
filled: true,
|
||||
fillColor: FlutterFlowTheme
|
||||
.of(context)
|
||||
.primaryBackground,
|
||||
suffixIcon: InkWell(
|
||||
onTap: () =>
|
||||
setState(
|
||||
() => _model
|
||||
.passwordRegisterFormVisibility =
|
||||
!_model
|
||||
.passwordRegisterFormVisibility,
|
||||
),
|
||||
focusNode: FocusNode(
|
||||
skipTraversal:
|
||||
true),
|
||||
child: Icon(
|
||||
_model.passwordRegisterFormVisibility
|
||||
? Icons
|
||||
.visibility_outlined
|
||||
: Icons
|
||||
.visibility_off_outlined,
|
||||
color: FlutterFlowTheme
|
||||
.of(context)
|
||||
.accent1,
|
||||
size: 24.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
style:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.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: (((_model.nameRegisterFormTextController
|
||||
.text !=
|
||||
'') ||
|
||||
((_model
|
||||
.nameRegisterFormFocusNode?.hasFocus ??
|
||||
false) !=
|
||||
null)) &&
|
||||
((_model.emailRegisterFormTextController
|
||||
.text !=
|
||||
'') ||
|
||||
((_model.emailRegisterFormFocusNode
|
||||
?.hasFocus ??
|
||||
false) !=
|
||||
null)) &&
|
||||
((_model.passwordRegisterFormTextController
|
||||
.text !=
|
||||
'') ||
|
||||
((_model.passwordRegisterFormFocusNode
|
||||
?.hasFocus ??
|
||||
false) !=
|
||||
null)))
|
||||
? null
|
||||
: () async {
|
||||
var shouldSetState =
|
||||
false;
|
||||
_model.signUp =
|
||||
await action_blocks
|
||||
.signUpRegisterAction(
|
||||
context,
|
||||
name: _model
|
||||
.nameRegisterFormTextController
|
||||
.text,
|
||||
passwd: _model
|
||||
.passwordRegisterFormTextController
|
||||
.text,
|
||||
email: _model
|
||||
.emailRegisterFormTextController
|
||||
.text,
|
||||
device: FFAppState()
|
||||
.device,
|
||||
);
|
||||
shouldSetState = true;
|
||||
if (_model.signUp !=
|
||||
true) {
|
||||
if (shouldSetState) {
|
||||
setState(() {});
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (shouldSetState) {
|
||||
setState(() {});
|
||||
}
|
||||
},
|
||||
text:
|
||||
FFLocalizations.of(context)
|
||||
.getText(
|
||||
'2a4f1t3w' /* 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: RichText(
|
||||
textScaler:
|
||||
MediaQuery.of(context)
|
||||
.textScaler,
|
||||
text: TextSpan(
|
||||
children: [
|
||||
TextSpan(
|
||||
text: FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'uy41jbvn' /* Você já tem uma conta? */,
|
||||
),
|
||||
style: TextStyle(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryText,
|
||||
),
|
||||
),
|
||||
TextSpan(
|
||||
text: FFLocalizations.of(
|
||||
context)
|
||||
.getText(
|
||||
'ynungy80' /* 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(
|
||||
'r5rm6pll' /* 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),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
child: wrapWithModel(
|
||||
model: _model.signUpTemplateComponentModel,
|
||||
updateCallback: () => setState(() {}),
|
||||
updateOnChange: true,
|
||||
child: SignUpTemplateComponentWidget(
|
||||
toggleSignInPage: () async {
|
||||
await action_blocks.toggleSignInPage(context);
|
||||
setState(() {});
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
import '/components/templates_components/welcome_template_component/welcome_template_component_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'welcome_page_widget.dart' show WelcomePageWidget;
|
||||
import 'package:flutter/material.dart';
|
||||
|
@ -10,12 +11,18 @@ class WelcomePageModel extends FlutterFlowModel<WelcomePageWidget> {
|
|||
/// State fields for stateful widgets in this page.
|
||||
|
||||
final unfocusNode = FocusNode();
|
||||
// Model for welcomeTemplateComponent component.
|
||||
late WelcomeTemplateComponentModel welcomeTemplateComponentModel;
|
||||
|
||||
@override
|
||||
void initState(BuildContext context) {}
|
||||
void initState(BuildContext context) {
|
||||
welcomeTemplateComponentModel =
|
||||
createModel(context, () => WelcomeTemplateComponentModel());
|
||||
}
|
||||
|
||||
@override
|
||||
void dispose() {
|
||||
unfocusNode.dispose();
|
||||
welcomeTemplateComponentModel.dispose();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,12 +1,9 @@
|
|||
import '/flutter_flow/flutter_flow_animations.dart';
|
||||
import '/components/templates_components/welcome_template_component/welcome_template_component_widget.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/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';
|
||||
|
@ -18,14 +15,11 @@ class WelcomePageWidget extends StatefulWidget {
|
|||
State<WelcomePageWidget> createState() => _WelcomePageWidgetState();
|
||||
}
|
||||
|
||||
class _WelcomePageWidgetState extends State<WelcomePageWidget>
|
||||
with TickerProviderStateMixin {
|
||||
class _WelcomePageWidgetState extends State<WelcomePageWidget> {
|
||||
late WelcomePageModel _model;
|
||||
|
||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||
|
||||
final animationsMap = <String, AnimationInfo>{};
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
|
@ -44,43 +38,6 @@ class _WelcomePageWidgetState extends State<WelcomePageWidget>
|
|||
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
|
||||
|
@ -103,381 +60,17 @@ class _WelcomePageWidgetState extends State<WelcomePageWidget>
|
|||
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(
|
||||
'77d2ypub' /* 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(
|
||||
'avhdhlhw' /* 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: () {
|
||||
print('Button pressed ...');
|
||||
},
|
||||
text: FFLocalizations.of(context)
|
||||
.getText(
|
||||
'iw9yx5fr' /* 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: () {
|
||||
print('Button pressed ...');
|
||||
},
|
||||
text: FFLocalizations.of(context)
|
||||
.getText(
|
||||
'bs5mbse6' /* 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)
|
||||
.primaryBackground,
|
||||
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('Button pressed ...');
|
||||
},
|
||||
text:
|
||||
FFLocalizations.of(context)
|
||||
.getText(
|
||||
'cq85bqnj' /* 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,
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: Padding(
|
||||
padding: const EdgeInsetsDirectional
|
||||
.fromSTEB(
|
||||
0.0, 0.0, 0.0, 16.0),
|
||||
child: FFButtonWidget(
|
||||
onPressed: () {
|
||||
print('Button pressed ...');
|
||||
},
|
||||
text:
|
||||
FFLocalizations.of(context)
|
||||
.getText(
|
||||
'iupuq6xs' /* 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)
|
||||
.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,
|
||||
),
|
||||
),
|
||||
),
|
||||
].divide(const SizedBox(width: 7.0)),
|
||||
);
|
||||
}
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
).animateOnPageLoad(
|
||||
animationsMap['containerOnPageLoadAnimation']!),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
child: wrapWithModel(
|
||||
model: _model.welcomeTemplateComponentModel,
|
||||
updateCallback: () => setState(() {}),
|
||||
updateOnChange: true,
|
||||
child: WelcomeTemplateComponentWidget(
|
||||
toggleSignUpPage: () async {
|
||||
await action_blocks.toggleSignUpPage(context);
|
||||
},
|
||||
toggleSignInPage: () async {
|
||||
await action_blocks.toggleSignInPage(context);
|
||||
},
|
||||
),
|
||||
),
|
||||
),
|
||||
|
|
Loading…
Reference in New Issue