update
This commit is contained in:
parent
54ee3ebda0
commit
dadbaff7a0
|
@ -44,8 +44,8 @@
|
||||||
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||||
6436409B27A31CDD00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
6436409127A31CDF00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
6436409227A31CD500820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
6436409E27A31CD200820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
|
@ -225,8 +225,8 @@
|
||||||
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
|
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
|
||||||
isa = PBXVariantGroup;
|
isa = PBXVariantGroup;
|
||||||
children = (
|
children = (
|
||||||
6436409B27A31CDD00820AF7 /* pt */,
|
6436409127A31CDF00820AF7 /* pt */,
|
||||||
6436409227A31CD500820AF7 /* en */,
|
6436409E27A31CD200820AF7 /* en */,
|
||||||
);
|
);
|
||||||
name = InfoPlist.strings;
|
name = InfoPlist.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
|
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||||
import '/actions/actions.dart' as action_blocks;
|
import '/actions/actions.dart' as action_blocks;
|
||||||
import '/custom_code/actions/index.dart' as actions;
|
import '/custom_code/actions/index.dart' as actions;
|
||||||
import '/flutter_flow/random_data_util.dart' as random_data;
|
import '/flutter_flow/random_data_util.dart' as random_data;
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
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() {}
|
|
||||||
}
|
|
|
@ -1,151 +0,0 @@
|
||||||
import '/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
|
||||||
import '/flutter_flow/custom_functions.dart' as functions;
|
|
||||||
import '/flutter_flow/random_data_util.dart' as random_data;
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
import '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)),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,117 +0,0 @@
|
||||||
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,
|
|
||||||
),
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,120 +0,0 @@
|
||||||
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(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
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
|
@ -1,13 +0,0 @@
|
||||||
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
|
@ -1,12 +0,0 @@
|
||||||
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() {}
|
|
||||||
}
|
|
|
@ -1,125 +0,0 @@
|
||||||
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,61 +0,0 @@
|
||||||
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
|
@ -1,91 +0,0 @@
|
||||||
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();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,866 +0,0 @@
|
||||||
import '/flutter_flow/flutter_flow_animations.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_widgets.dart';
|
|
||||||
import '/actions/actions.dart' as action_blocks;
|
|
||||||
import 'package:easy_debounce/easy_debounce.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_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,13 +0,0 @@
|
||||||
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() {}
|
|
||||||
}
|
|
|
@ -1,445 +0,0 @@
|
||||||
import '/flutter_flow/flutter_flow_animations.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_widgets.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_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,6 +151,86 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'pt': 'FRE ACCESS',
|
'pt': 'FRE ACCESS',
|
||||||
'en': 'FREE 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': {
|
'mp6igsok': {
|
||||||
'pt': '',
|
'pt': '',
|
||||||
'en': '',
|
'en': '',
|
||||||
|
@ -424,6 +504,66 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
},
|
},
|
||||||
// signInPage
|
// 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': {
|
'kosqqghj': {
|
||||||
'pt': 'Home',
|
'pt': 'Home',
|
||||||
'en': '',
|
'en': '',
|
||||||
|
@ -431,6 +571,66 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
},
|
},
|
||||||
// signUpPage
|
// 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': {
|
'bq5k4yne': {
|
||||||
'pt': 'Home',
|
'pt': 'Home',
|
||||||
'en': '',
|
'en': '',
|
||||||
|
@ -438,6 +638,30 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
},
|
},
|
||||||
// welcomePage
|
// 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': {
|
'byab1t50': {
|
||||||
'pt': 'Home',
|
'pt': 'Home',
|
||||||
'en': '',
|
'en': '',
|
||||||
|
@ -474,28 +698,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'en': '',
|
'en': '',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
// preferencesPage
|
|
||||||
{
|
|
||||||
'1vyj6y7n': {
|
|
||||||
'pt': 'Preferencias',
|
|
||||||
'en': '',
|
|
||||||
},
|
|
||||||
'sejj3t8w': {
|
|
||||||
'pt': '',
|
|
||||||
'en': '',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// settingsPage
|
|
||||||
{
|
|
||||||
'bc698859': {
|
|
||||||
'pt': 'Preferencias',
|
|
||||||
'en': '',
|
|
||||||
},
|
|
||||||
'sejj3t8w': {
|
|
||||||
'pt': '',
|
|
||||||
'en': '',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
// visitorDetailsModalTemplateComponent
|
// visitorDetailsModalTemplateComponent
|
||||||
{
|
{
|
||||||
'kqzf7nx2': {
|
'kqzf7nx2': {
|
||||||
|
@ -769,248 +971,6 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'en': 'Schedule\nComplete',
|
'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
|
// forgotPasswordTemplateComponent
|
||||||
{
|
{
|
||||||
'xxm3ajsy': {
|
'xxm3ajsy': {
|
||||||
|
|
|
@ -6,7 +6,6 @@ import 'package:provider/provider.dart';
|
||||||
import '/backend/schema/structs/index.dart';
|
import '/backend/schema/structs/index.dart';
|
||||||
|
|
||||||
import '/index.dart';
|
import '/index.dart';
|
||||||
import '/main.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
|
|
||||||
|
@ -63,9 +62,7 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
|
||||||
FFRoute(
|
FFRoute(
|
||||||
name: 'homePage',
|
name: 'homePage',
|
||||||
path: '/homePage',
|
path: '/homePage',
|
||||||
builder: (context, params) => params.isEmpty
|
builder: (context, params) => const HomePageWidget(),
|
||||||
? const NavBarPage(initialPage: 'homePage')
|
|
||||||
: const HomePageWidget(),
|
|
||||||
),
|
),
|
||||||
FFRoute(
|
FFRoute(
|
||||||
name: 'registerVisitorPage',
|
name: 'registerVisitorPage',
|
||||||
|
@ -150,18 +147,6 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
|
||||||
name: 'qrCodePage',
|
name: 'qrCodePage',
|
||||||
path: '/qrCodePage',
|
path: '/qrCodePage',
|
||||||
builder: (context, params) => const QrCodePageWidget(),
|
builder: (context, params) => const QrCodePageWidget(),
|
||||||
),
|
|
||||||
FFRoute(
|
|
||||||
name: 'preferencesPage',
|
|
||||||
path: '/preferencesPage',
|
|
||||||
builder: (context, params) => const PreferencesPageWidget(),
|
|
||||||
),
|
|
||||||
FFRoute(
|
|
||||||
name: 'settingsPage',
|
|
||||||
path: '/settingsPage',
|
|
||||||
builder: (context, params) => params.isEmpty
|
|
||||||
? const NavBarPage(initialPage: 'settingsPage')
|
|
||||||
: const SettingsPageWidget(),
|
|
||||||
)
|
)
|
||||||
].map((r) => r.toRoute(appStateNotifier)).toList(),
|
].map((r) => r.toRoute(appStateNotifier)).toList(),
|
||||||
);
|
);
|
||||||
|
|
|
@ -16,6 +16,3 @@ export '/pages/sign_in_page/sign_in_page_widget.dart' show SignInPageWidget;
|
||||||
export '/pages/sign_up_page/sign_up_page_widget.dart' show SignUpPageWidget;
|
export '/pages/sign_up_page/sign_up_page_widget.dart' show SignUpPageWidget;
|
||||||
export '/pages/welcome_page/welcome_page_widget.dart' show WelcomePageWidget;
|
export '/pages/welcome_page/welcome_page_widget.dart' show WelcomePageWidget;
|
||||||
export '/pages/qr_code_page/qr_code_page_widget.dart' show QrCodePageWidget;
|
export '/pages/qr_code_page/qr_code_page_widget.dart' show QrCodePageWidget;
|
||||||
export '/pages/preferences_page/preferences_page_widget.dart'
|
|
||||||
show PreferencesPageWidget;
|
|
||||||
export '/pages/settings_page/settings_page_widget.dart' show SettingsPageWidget;
|
|
||||||
|
|
|
@ -6,7 +6,6 @@ import 'package:flutter_web_plugins/url_strategy.dart';
|
||||||
import 'flutter_flow/flutter_flow_theme.dart';
|
import 'flutter_flow/flutter_flow_theme.dart';
|
||||||
import 'flutter_flow/flutter_flow_util.dart';
|
import 'flutter_flow/flutter_flow_util.dart';
|
||||||
import 'flutter_flow/internationalization.dart';
|
import 'flutter_flow/internationalization.dart';
|
||||||
import 'index.dart';
|
|
||||||
|
|
||||||
void main() async {
|
void main() async {
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
|
@ -120,74 +119,3 @@ class _MyAppState extends State<MyApp> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class NavBarPage extends StatefulWidget {
|
|
||||||
const NavBarPage({super.key, this.initialPage, this.page});
|
|
||||||
|
|
||||||
final String? initialPage;
|
|
||||||
final Widget? page;
|
|
||||||
|
|
||||||
@override
|
|
||||||
_NavBarPageState createState() => _NavBarPageState();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// This is the private State class that goes with NavBarPage.
|
|
||||||
class _NavBarPageState extends State<NavBarPage> {
|
|
||||||
String _currentPageName = 'homePage';
|
|
||||||
late Widget? _currentPage;
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
_currentPageName = widget.initialPage ?? _currentPageName;
|
|
||||||
_currentPage = widget.page;
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
final tabs = {
|
|
||||||
'homePage': const HomePageWidget(),
|
|
||||||
'settingsPage': const SettingsPageWidget(),
|
|
||||||
};
|
|
||||||
final currentIndex = tabs.keys.toList().indexOf(_currentPageName);
|
|
||||||
|
|
||||||
return Scaffold(
|
|
||||||
body: _currentPage ?? tabs[_currentPageName],
|
|
||||||
bottomNavigationBar: BottomNavigationBar(
|
|
||||||
currentIndex: currentIndex,
|
|
||||||
onTap: (i) => setState(() {
|
|
||||||
_currentPage = null;
|
|
||||||
_currentPageName = tabs.keys.toList()[i];
|
|
||||||
}),
|
|
||||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
|
||||||
selectedItemColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
unselectedItemColor: FlutterFlowTheme.of(context).primaryText,
|
|
||||||
showSelectedLabels: false,
|
|
||||||
showUnselectedLabels: false,
|
|
||||||
type: BottomNavigationBarType.fixed,
|
|
||||||
items: <BottomNavigationBarItem>[
|
|
||||||
BottomNavigationBarItem(
|
|
||||||
icon: const Icon(
|
|
||||||
Icons.home,
|
|
||||||
size: 24.0,
|
|
||||||
),
|
|
||||||
label: FFLocalizations.of(context).getText(
|
|
||||||
'mp6igsok' /* */,
|
|
||||||
),
|
|
||||||
tooltip: '',
|
|
||||||
),
|
|
||||||
BottomNavigationBarItem(
|
|
||||||
icon: const Icon(
|
|
||||||
Icons.settings_rounded,
|
|
||||||
size: 24.0,
|
|
||||||
),
|
|
||||||
label: FFLocalizations.of(context).getText(
|
|
||||||
'sejj3t8w' /* */,
|
|
||||||
),
|
|
||||||
tooltip: '',
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/flutter_flow/flutter_flow_widgets.dart';
|
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||||
|
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'forgot_password_template_component_model.dart';
|
import 'forgot_password_template_component_model.dart';
|
|
@ -1,11 +1,11 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_drop_down.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/flutter_flow/flutter_flow_widgets.dart';
|
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||||
import '/flutter_flow/form_field_controller.dart';
|
import '/flutter_flow/form_field_controller.dart';
|
||||||
import '/flutter_flow/upload_data.dart';
|
import '/flutter_flow/upload_data.dart';
|
||||||
|
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||||
import '/custom_code/actions/index.dart' as actions;
|
import '/custom_code/actions/index.dart' as actions;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
|
@ -1,9 +1,9 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.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 '/flutter_flow/custom_functions.dart' as functions;
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
|
@ -1,9 +1,9 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.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 '/actions/actions.dart' as action_blocks;
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:flutter/material.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 '/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'
|
import 'visit_details_modal_template_component_widget.dart'
|
||||||
show VisitDetailsModalTemplateComponentWidget;
|
show VisitDetailsModalTemplateComponentWidget;
|
||||||
import 'package:flutter/material.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 '/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 'package:flutter/material.dart';
|
||||||
import 'visit_details_modal_template_component_model.dart';
|
import 'visit_details_modal_template_component_model.dart';
|
||||||
export 'visit_details_modal_template_component_model.dart';
|
export 'visit_details_modal_template_component_model.dart';
|
|
@ -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_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/flutter_flow/flutter_flow_widgets.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:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'visitor_not_found_component_model.dart';
|
import 'visitor_not_found_component_model.dart';
|
|
@ -1,10 +1,10 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/flutter_flow/flutter_flow_widgets.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:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
|
@ -1,6 +1,6 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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 '/flutter_flow/flutter_flow_util.dart';
|
||||||
|
import '/modals/opt_modal/opt_modal_widget.dart';
|
||||||
import '/flutter_flow/request_manager.dart';
|
import '/flutter_flow/request_manager.dart';
|
||||||
|
|
||||||
import 'acess_history_page_widget.dart' show AcessHistoryPageWidget;
|
import 'acess_history_page_widget.dart' show AcessHistoryPageWidget;
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.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 '/flutter_flow/custom_functions.dart' as functions;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
import 'package:flutter_spinkit/flutter_spinkit.dart';
|
||||||
|
|
|
@ -1,6 +1,3 @@
|
||||||
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 '/flutter_flow/flutter_flow_util.dart';
|
||||||
import 'home_page_widget.dart' show HomePageWidget;
|
import 'home_page_widget.dart' show HomePageWidget;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
@ -17,30 +14,14 @@ class HomePageModel extends FlutterFlowModel<HomePageWidget> {
|
||||||
FocusNode? textFieldFocusNode;
|
FocusNode? textFieldFocusNode;
|
||||||
TextEditingController? textController;
|
TextEditingController? textController;
|
||||||
String? Function(BuildContext, String?)? textControllerValidator;
|
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
|
@override
|
||||||
void initState(BuildContext context) {
|
void initState(BuildContext context) {}
|
||||||
localComponentModel =
|
|
||||||
createModel(context, () => LocalProfileComponentModel());
|
|
||||||
menuComponentModel = createModel(context, () => MenuComponentModel());
|
|
||||||
messageWellComponentModel =
|
|
||||||
createModel(context, () => MessageWellComponentModel());
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
unfocusNode.dispose();
|
unfocusNode.dispose();
|
||||||
textFieldFocusNode?.dispose();
|
textFieldFocusNode?.dispose();
|
||||||
textController?.dispose();
|
textController?.dispose();
|
||||||
|
|
||||||
localComponentModel.dispose();
|
|
||||||
menuComponentModel.dispose();
|
|
||||||
messageWellComponentModel.dispose();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,27 +0,0 @@
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
|
||||||
import 'preferences_page_widget.dart' show PreferencesPageWidget;
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
class PreferencesPageModel extends FlutterFlowModel<PreferencesPageWidget> {
|
|
||||||
/// Local state fields for this page.
|
|
||||||
|
|
||||||
bool fingerprint = false;
|
|
||||||
|
|
||||||
bool? person;
|
|
||||||
|
|
||||||
bool? changPass;
|
|
||||||
|
|
||||||
bool? notify;
|
|
||||||
|
|
||||||
/// State fields for stateful widgets in this page.
|
|
||||||
|
|
||||||
final unfocusNode = FocusNode();
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState(BuildContext context) {}
|
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
unfocusNode.dispose();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,167 +0,0 @@
|
||||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
|
||||||
import 'preferences_page_model.dart';
|
|
||||||
export 'preferences_page_model.dart';
|
|
||||||
|
|
||||||
class PreferencesPageWidget extends StatefulWidget {
|
|
||||||
const PreferencesPageWidget({super.key});
|
|
||||||
|
|
||||||
@override
|
|
||||||
State<PreferencesPageWidget> createState() => _PreferencesPageWidgetState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _PreferencesPageWidgetState extends State<PreferencesPageWidget> {
|
|
||||||
late PreferencesPageModel _model;
|
|
||||||
|
|
||||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
_model = createModel(context, () => PreferencesPageModel());
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
_model.dispose();
|
|
||||||
|
|
||||||
super.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return GestureDetector(
|
|
||||||
onTap: () => _model.unfocusNode.canRequestFocus
|
|
||||||
? FocusScope.of(context).requestFocus(_model.unfocusNode)
|
|
||||||
: FocusScope.of(context).unfocus(),
|
|
||||||
child: Scaffold(
|
|
||||||
key: scaffoldKey,
|
|
||||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
|
||||||
appBar: AppBar(
|
|
||||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
|
||||||
automaticallyImplyLeading: false,
|
|
||||||
title: Text(
|
|
||||||
FFLocalizations.of(context).getText(
|
|
||||||
'1vyj6y7n' /* Preferencias */,
|
|
||||||
),
|
|
||||||
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
|
||||||
fontFamily: 'Nunito',
|
|
||||||
color: FlutterFlowTheme.of(context).primaryText,
|
|
||||||
fontSize: 17.0,
|
|
||||||
letterSpacing: 0.0,
|
|
||||||
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
actions: const [],
|
|
||||||
centerTitle: true,
|
|
||||||
elevation: 0.0,
|
|
||||||
),
|
|
||||||
body: SafeArea(
|
|
||||||
top: true,
|
|
||||||
child: Column(
|
|
||||||
mainAxisSize: MainAxisSize.max,
|
|
||||||
mainAxisAlignment: MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
Padding(
|
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(20.0, 0.0, 20.0, 0.0),
|
|
||||||
child: GridView(
|
|
||||||
padding: const EdgeInsets.fromLTRB(
|
|
||||||
0,
|
|
||||||
20.0,
|
|
||||||
0,
|
|
||||||
20.0,
|
|
||||||
),
|
|
||||||
gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
|
|
||||||
crossAxisCount: 3,
|
|
||||||
crossAxisSpacing: 10.0,
|
|
||||||
mainAxisSpacing: 10.0,
|
|
||||||
childAspectRatio: 1.0,
|
|
||||||
),
|
|
||||||
shrinkWrap: true,
|
|
||||||
scrollDirection: Axis.vertical,
|
|
||||||
children: [
|
|
||||||
FlutterFlowIconButton(
|
|
||||||
borderRadius: 20.0,
|
|
||||||
borderWidth: 1.0,
|
|
||||||
buttonSize: double.infinity,
|
|
||||||
fillColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
disabledColor: FlutterFlowTheme.of(context).alternate,
|
|
||||||
disabledIconColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
icon: Icon(
|
|
||||||
Icons.fingerprint,
|
|
||||||
color: FlutterFlowTheme.of(context).primaryBackground,
|
|
||||||
size: 40.0,
|
|
||||||
),
|
|
||||||
onPressed: _model.fingerprint
|
|
||||||
? null
|
|
||||||
: () {
|
|
||||||
print('IconButton pressed ...');
|
|
||||||
},
|
|
||||||
),
|
|
||||||
FlutterFlowIconButton(
|
|
||||||
borderRadius: 20.0,
|
|
||||||
borderWidth: 1.0,
|
|
||||||
buttonSize: 40.0,
|
|
||||||
fillColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
disabledColor: FlutterFlowTheme.of(context).alternate,
|
|
||||||
disabledIconColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
icon: Icon(
|
|
||||||
Icons.person,
|
|
||||||
color: FlutterFlowTheme.of(context).primaryBackground,
|
|
||||||
size: 40.0,
|
|
||||||
),
|
|
||||||
onPressed: _model.person!
|
|
||||||
? null
|
|
||||||
: () {
|
|
||||||
print('IconButton pressed ...');
|
|
||||||
},
|
|
||||||
),
|
|
||||||
FlutterFlowIconButton(
|
|
||||||
borderRadius: 20.0,
|
|
||||||
borderWidth: 1.0,
|
|
||||||
buttonSize: 40.0,
|
|
||||||
fillColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
disabledColor: FlutterFlowTheme.of(context).alternate,
|
|
||||||
disabledIconColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
icon: Icon(
|
|
||||||
Icons.notifications_active,
|
|
||||||
color: FlutterFlowTheme.of(context).primaryBackground,
|
|
||||||
size: 40.0,
|
|
||||||
),
|
|
||||||
onPressed: _model.notify!
|
|
||||||
? null
|
|
||||||
: () {
|
|
||||||
print('IconButton pressed ...');
|
|
||||||
},
|
|
||||||
),
|
|
||||||
FlutterFlowIconButton(
|
|
||||||
borderRadius: 20.0,
|
|
||||||
borderWidth: 1.0,
|
|
||||||
buttonSize: 40.0,
|
|
||||||
fillColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
disabledColor: FlutterFlowTheme.of(context).alternate,
|
|
||||||
disabledIconColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
icon: Icon(
|
|
||||||
Icons.password_sharp,
|
|
||||||
color: FlutterFlowTheme.of(context).primaryBackground,
|
|
||||||
size: 40.0,
|
|
||||||
),
|
|
||||||
onPressed: _model.changPass!
|
|
||||||
? null
|
|
||||||
: () {
|
|
||||||
print('IconButton pressed ...');
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -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_animations.dart';
|
||||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
import '/flutter_flow/flutter_flow_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/flutter_flow/flutter_flow_widgets.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 'dart:async';
|
||||||
import '/flutter_flow/custom_functions.dart' as functions;
|
import '/flutter_flow/custom_functions.dart' as functions;
|
||||||
import 'package:barcode_widget/barcode_widget.dart';
|
import 'package:barcode_widget/barcode_widget.dart';
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_drop_down.dart';
|
||||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
import '/flutter_flow/flutter_flow_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
|
@ -7,6 +6,7 @@ import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/flutter_flow/flutter_flow_widgets.dart';
|
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||||
import '/flutter_flow/form_field_controller.dart';
|
import '/flutter_flow/form_field_controller.dart';
|
||||||
import '/flutter_flow/upload_data.dart';
|
import '/flutter_flow/upload_data.dart';
|
||||||
|
import '/modals/throw_exception/throw_exception_widget.dart';
|
||||||
import '/custom_code/actions/index.dart' as actions;
|
import '/custom_code/actions/index.dart' as actions;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_drop_down.dart';
|
||||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
import '/flutter_flow/flutter_flow_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/flutter_flow/flutter_flow_widgets.dart';
|
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||||
import '/flutter_flow/form_field_controller.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 '/flutter_flow/custom_functions.dart' as functions;
|
||||||
import 'package:auto_size_text/auto_size_text.dart';
|
import 'package:auto_size_text/auto_size_text.dart';
|
||||||
import 'package:cached_network_image/cached_network_image.dart';
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
|
|
|
@ -1,10 +1,10 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_icon_button.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/flutter_flow/flutter_flow_widgets.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:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
|
||||||
import 'settings_page_widget.dart' show SettingsPageWidget;
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
|
|
||||||
class SettingsPageModel extends FlutterFlowModel<SettingsPageWidget> {
|
|
||||||
/// State fields for stateful widgets in this page.
|
|
||||||
|
|
||||||
final unfocusNode = FocusNode();
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState(BuildContext context) {}
|
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
unfocusNode.dispose();
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,71 +0,0 @@
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
|
||||||
import 'settings_page_model.dart';
|
|
||||||
export 'settings_page_model.dart';
|
|
||||||
|
|
||||||
class SettingsPageWidget extends StatefulWidget {
|
|
||||||
const SettingsPageWidget({super.key});
|
|
||||||
|
|
||||||
@override
|
|
||||||
State<SettingsPageWidget> createState() => _SettingsPageWidgetState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _SettingsPageWidgetState extends State<SettingsPageWidget> {
|
|
||||||
late SettingsPageModel _model;
|
|
||||||
|
|
||||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
super.initState();
|
|
||||||
_model = createModel(context, () => SettingsPageModel());
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
void dispose() {
|
|
||||||
_model.dispose();
|
|
||||||
|
|
||||||
super.dispose();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return GestureDetector(
|
|
||||||
onTap: () => _model.unfocusNode.canRequestFocus
|
|
||||||
? FocusScope.of(context).requestFocus(_model.unfocusNode)
|
|
||||||
: FocusScope.of(context).unfocus(),
|
|
||||||
child: Scaffold(
|
|
||||||
key: scaffoldKey,
|
|
||||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
|
||||||
appBar: AppBar(
|
|
||||||
backgroundColor: FlutterFlowTheme.of(context).primary,
|
|
||||||
automaticallyImplyLeading: false,
|
|
||||||
title: Text(
|
|
||||||
FFLocalizations.of(context).getText(
|
|
||||||
'bc698859' /* Preferencias */,
|
|
||||||
),
|
|
||||||
style: FlutterFlowTheme.of(context).headlineMedium.override(
|
|
||||||
fontFamily: 'Nunito',
|
|
||||||
color: FlutterFlowTheme.of(context).primaryText,
|
|
||||||
fontSize: 17.0,
|
|
||||||
letterSpacing: 0.0,
|
|
||||||
useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
actions: const [],
|
|
||||||
centerTitle: true,
|
|
||||||
elevation: 0.0,
|
|
||||||
),
|
|
||||||
body: const SafeArea(
|
|
||||||
top: true,
|
|
||||||
child: Column(
|
|
||||||
mainAxisSize: MainAxisSize.max,
|
|
||||||
children: [],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,4 +1,3 @@
|
||||||
import '/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import 'sign_in_page_widget.dart' show SignInPageWidget;
|
import 'sign_in_page_widget.dart' show SignInPageWidget;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
@ -7,18 +6,56 @@ class SignInPageModel extends FlutterFlowModel<SignInPageWidget> {
|
||||||
/// State fields for stateful widgets in this page.
|
/// State fields for stateful widgets in this page.
|
||||||
|
|
||||||
final unfocusNode = FocusNode();
|
final unfocusNode = FocusNode();
|
||||||
// Model for signInTemplateComponent component.
|
final formKey = GlobalKey<FormState>();
|
||||||
late SignInTemplateComponentModel signInTemplateComponentModel;
|
// 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;
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState(BuildContext context) {
|
void initState(BuildContext context) {
|
||||||
signInTemplateComponentModel =
|
emailAddressTextControllerValidator = _emailAddressTextControllerValidator;
|
||||||
createModel(context, () => SignInTemplateComponentModel());
|
passwordVisibility = false;
|
||||||
|
passwordTextControllerValidator = _passwordTextControllerValidator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
unfocusNode.dispose();
|
unfocusNode.dispose();
|
||||||
signInTemplateComponentModel.dispose();
|
emailAddressFocusNode?.dispose();
|
||||||
|
emailAddressTextController?.dispose();
|
||||||
|
|
||||||
|
passwordFocusNode?.dispose();
|
||||||
|
passwordTextController?.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,4 +1,3 @@
|
||||||
import '/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import 'sign_up_page_widget.dart' show SignUpPageWidget;
|
import 'sign_up_page_widget.dart' show SignUpPageWidget;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
@ -7,18 +6,86 @@ class SignUpPageModel extends FlutterFlowModel<SignUpPageWidget> {
|
||||||
/// State fields for stateful widgets in this page.
|
/// State fields for stateful widgets in this page.
|
||||||
|
|
||||||
final unfocusNode = FocusNode();
|
final unfocusNode = FocusNode();
|
||||||
// Model for signUpTemplateComponent component.
|
final formKey = GlobalKey<FormState>();
|
||||||
late SignUpTemplateComponentModel signUpTemplateComponentModel;
|
// 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;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState(BuildContext context) {
|
void initState(BuildContext context) {
|
||||||
signUpTemplateComponentModel =
|
nameRegisterFormTextControllerValidator =
|
||||||
createModel(context, () => SignUpTemplateComponentModel());
|
_nameRegisterFormTextControllerValidator;
|
||||||
|
emailRegisterFormTextControllerValidator =
|
||||||
|
_emailRegisterFormTextControllerValidator;
|
||||||
|
passwordRegisterFormVisibility = false;
|
||||||
|
passwordRegisterFormTextControllerValidator =
|
||||||
|
_passwordRegisterFormTextControllerValidator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
unfocusNode.dispose();
|
unfocusNode.dispose();
|
||||||
signUpTemplateComponentModel.dispose();
|
nameRegisterFormFocusNode?.dispose();
|
||||||
|
nameRegisterFormTextController?.dispose();
|
||||||
|
|
||||||
|
emailRegisterFormFocusNode?.dispose();
|
||||||
|
emailRegisterFormTextController?.dispose();
|
||||||
|
|
||||||
|
passwordRegisterFormFocusNode?.dispose();
|
||||||
|
passwordRegisterFormTextController?.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,14 @@
|
||||||
import '/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart';
|
import '/flutter_flow/flutter_flow_animations.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
|
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||||
import '/actions/actions.dart' as action_blocks;
|
import '/actions/actions.dart' as action_blocks;
|
||||||
|
import 'package:easy_debounce/easy_debounce.dart';
|
||||||
import 'package:flutter/material.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';
|
import 'sign_up_page_model.dart';
|
||||||
export 'sign_up_page_model.dart';
|
export 'sign_up_page_model.dart';
|
||||||
|
|
||||||
|
@ -13,15 +19,64 @@ class SignUpPageWidget extends StatefulWidget {
|
||||||
State<SignUpPageWidget> createState() => _SignUpPageWidgetState();
|
State<SignUpPageWidget> createState() => _SignUpPageWidgetState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _SignUpPageWidgetState extends State<SignUpPageWidget> {
|
class _SignUpPageWidgetState extends State<SignUpPageWidget>
|
||||||
|
with TickerProviderStateMixin {
|
||||||
late SignUpPageModel _model;
|
late SignUpPageModel _model;
|
||||||
|
|
||||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
|
|
||||||
|
final animationsMap = <String, AnimationInfo>{};
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
_model = createModel(context, () => SignUpPageModel());
|
_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
|
@override
|
||||||
|
@ -33,6 +88,8 @@ class _SignUpPageWidgetState extends State<SignUpPageWidget> {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
context.watch<FFAppState>();
|
||||||
|
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
onTap: () => _model.unfocusNode.canRequestFocus
|
onTap: () => _model.unfocusNode.canRequestFocus
|
||||||
? FocusScope.of(context).requestFocus(_model.unfocusNode)
|
? FocusScope.of(context).requestFocus(_model.unfocusNode)
|
||||||
|
@ -42,16 +99,819 @@ class _SignUpPageWidgetState extends State<SignUpPageWidget> {
|
||||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
top: true,
|
top: true,
|
||||||
child: wrapWithModel(
|
child: Row(
|
||||||
model: _model.signUpTemplateComponentModel,
|
mainAxisSize: MainAxisSize.max,
|
||||||
updateCallback: () => setState(() {}),
|
children: [
|
||||||
updateOnChange: true,
|
Expanded(
|
||||||
child: SignUpTemplateComponentWidget(
|
flex: 6,
|
||||||
toggleSignInPage: () async {
|
child: Container(
|
||||||
await action_blocks.toggleSignInPage(context);
|
width: 100.0,
|
||||||
setState(() {});
|
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),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
import '/components/templates_components/welcome_template_component/welcome_template_component_widget.dart';
|
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import 'welcome_page_widget.dart' show WelcomePageWidget;
|
import 'welcome_page_widget.dart' show WelcomePageWidget;
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
@ -11,18 +10,12 @@ class WelcomePageModel extends FlutterFlowModel<WelcomePageWidget> {
|
||||||
/// State fields for stateful widgets in this page.
|
/// State fields for stateful widgets in this page.
|
||||||
|
|
||||||
final unfocusNode = FocusNode();
|
final unfocusNode = FocusNode();
|
||||||
// Model for welcomeTemplateComponent component.
|
|
||||||
late WelcomeTemplateComponentModel welcomeTemplateComponentModel;
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState(BuildContext context) {
|
void initState(BuildContext context) {}
|
||||||
welcomeTemplateComponentModel =
|
|
||||||
createModel(context, () => WelcomeTemplateComponentModel());
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
unfocusNode.dispose();
|
unfocusNode.dispose();
|
||||||
welcomeTemplateComponentModel.dispose();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
import '/components/templates_components/welcome_template_component/welcome_template_component_widget.dart';
|
import '/flutter_flow/flutter_flow_animations.dart';
|
||||||
import '/flutter_flow/flutter_flow_theme.dart';
|
import '/flutter_flow/flutter_flow_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import '/actions/actions.dart' as action_blocks;
|
import '/flutter_flow/flutter_flow_widgets.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter/scheduler.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 'package:provider/provider.dart';
|
||||||
import 'welcome_page_model.dart';
|
import 'welcome_page_model.dart';
|
||||||
export 'welcome_page_model.dart';
|
export 'welcome_page_model.dart';
|
||||||
|
@ -15,11 +18,14 @@ class WelcomePageWidget extends StatefulWidget {
|
||||||
State<WelcomePageWidget> createState() => _WelcomePageWidgetState();
|
State<WelcomePageWidget> createState() => _WelcomePageWidgetState();
|
||||||
}
|
}
|
||||||
|
|
||||||
class _WelcomePageWidgetState extends State<WelcomePageWidget> {
|
class _WelcomePageWidgetState extends State<WelcomePageWidget>
|
||||||
|
with TickerProviderStateMixin {
|
||||||
late WelcomePageModel _model;
|
late WelcomePageModel _model;
|
||||||
|
|
||||||
final scaffoldKey = GlobalKey<ScaffoldState>();
|
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
|
|
||||||
|
final animationsMap = <String, AnimationInfo>{};
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
@ -38,6 +44,43 @@ class _WelcomePageWidgetState extends State<WelcomePageWidget> {
|
||||||
setState(() {});
|
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
|
@override
|
||||||
|
@ -60,17 +103,381 @@ class _WelcomePageWidgetState extends State<WelcomePageWidget> {
|
||||||
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
backgroundColor: FlutterFlowTheme.of(context).primaryBackground,
|
||||||
body: SafeArea(
|
body: SafeArea(
|
||||||
top: true,
|
top: true,
|
||||||
child: wrapWithModel(
|
child: Align(
|
||||||
model: _model.welcomeTemplateComponentModel,
|
alignment: const AlignmentDirectional(0.0, 0.0),
|
||||||
updateCallback: () => setState(() {}),
|
child: SingleChildScrollView(
|
||||||
updateOnChange: true,
|
child: Column(
|
||||||
child: WelcomeTemplateComponentWidget(
|
mainAxisSize: MainAxisSize.max,
|
||||||
toggleSignUpPage: () async {
|
mainAxisAlignment: MainAxisAlignment.spaceAround,
|
||||||
await action_blocks.toggleSignUpPage(context);
|
children: [
|
||||||
},
|
Align(
|
||||||
toggleSignInPage: () async {
|
alignment: const AlignmentDirectional(0.0, 0.0),
|
||||||
await action_blocks.toggleSignInPage(context);
|
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']!),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
Loading…
Reference in New Issue