Updating to latest FlutterFlow output.
This commit is contained in:
parent
d7f3c754a9
commit
074d465185
|
@ -44,8 +44,8 @@
|
|||
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
|
||||
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
|
||||
6436409227A31CD600820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
6436409227A31CDA00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
6436409127A31CD300820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
6436409227A31CD300820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
||||
97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
/* End PBXFileReference section */
|
||||
|
||||
|
@ -225,8 +225,8 @@
|
|||
6436409C27A31CD800820AF7 /* InfoPlist.strings */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
6436409227A31CD600820AF7 /* pt */,
|
||||
6436409227A31CDA00820AF7 /* en */,
|
||||
6436409127A31CD300820AF7 /* pt */,
|
||||
6436409227A31CD300820AF7 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import '/backend/api_requests/api_calls.dart';
|
||||
import '/flutter_flow/flutter_flow_icon_button.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
|
@ -77,6 +78,32 @@ class _BottomArrowLinkedLocalsComponentWidgetState
|
|||
topRight: Radius.circular(0.0),
|
||||
),
|
||||
),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
children: [
|
||||
Container(
|
||||
width: 100.0,
|
||||
height: 100.0,
|
||||
decoration: BoxDecoration(
|
||||
color: FlutterFlowTheme.of(context)
|
||||
.secondaryBackground,
|
||||
),
|
||||
child: FlutterFlowIconButton(
|
||||
borderRadius: 20.0,
|
||||
borderWidth: 1.0,
|
||||
buttonSize: 40.0,
|
||||
fillColor: FlutterFlowTheme.of(context).accent1,
|
||||
icon: Icon(
|
||||
Icons.add,
|
||||
color: FlutterFlowTheme.of(context).primary,
|
||||
size: 24.0,
|
||||
),
|
||||
onPressed: () {
|
||||
print('IconButton pressed ...');
|
||||
},
|
||||
),
|
||||
),
|
||||
Expanded(
|
||||
child: FutureBuilder<ApiCallResponse>(
|
||||
future: PhpGroup.getLocalsCall.call(
|
||||
devUUID: FFAppState().devUUID,
|
||||
|
@ -90,7 +117,8 @@ class _BottomArrowLinkedLocalsComponentWidgetState
|
|||
width: 50.0,
|
||||
height: 50.0,
|
||||
child: SpinKitCircle(
|
||||
color: FlutterFlowTheme.of(context).primary,
|
||||
color:
|
||||
FlutterFlowTheme.of(context).primary,
|
||||
size: 50.0,
|
||||
),
|
||||
),
|
||||
|
@ -150,7 +178,8 @@ class _BottomArrowLinkedLocalsComponentWidgetState
|
|||
width: 50.0,
|
||||
height: double.infinity,
|
||||
decoration: const BoxDecoration(),
|
||||
alignment: const AlignmentDirectional(0.0, 0.0),
|
||||
alignment:
|
||||
const AlignmentDirectional(0.0, 0.0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment:
|
||||
|
@ -160,29 +189,38 @@ class _BottomArrowLinkedLocalsComponentWidgetState
|
|||
width: 100.0,
|
||||
height: 100.0,
|
||||
decoration: BoxDecoration(
|
||||
color: FlutterFlowTheme.of(context)
|
||||
color: FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryText,
|
||||
borderRadius: const BorderRadius.only(
|
||||
bottomLeft: Radius.circular(25.0),
|
||||
borderRadius:
|
||||
const BorderRadius.only(
|
||||
bottomLeft:
|
||||
Radius.circular(25.0),
|
||||
bottomRight:
|
||||
Radius.circular(25.0),
|
||||
topLeft: Radius.circular(25.0),
|
||||
topRight: Radius.circular(25.0),
|
||||
topLeft:
|
||||
Radius.circular(25.0),
|
||||
topRight:
|
||||
Radius.circular(25.0),
|
||||
),
|
||||
border: Border.all(
|
||||
color:
|
||||
FlutterFlowTheme.of(context)
|
||||
color: FlutterFlowTheme.of(
|
||||
context)
|
||||
.secondaryText,
|
||||
width: 3.0,
|
||||
),
|
||||
),
|
||||
child: ClipRRect(
|
||||
borderRadius: const BorderRadius.only(
|
||||
bottomLeft: Radius.circular(25.0),
|
||||
borderRadius:
|
||||
const BorderRadius.only(
|
||||
bottomLeft:
|
||||
Radius.circular(25.0),
|
||||
bottomRight:
|
||||
Radius.circular(25.0),
|
||||
topLeft: Radius.circular(25.0),
|
||||
topRight: Radius.circular(25.0),
|
||||
topLeft:
|
||||
Radius.circular(25.0),
|
||||
topRight:
|
||||
Radius.circular(25.0),
|
||||
),
|
||||
child: Image.network(
|
||||
'https://freaccess.com.br/freaccess/Images/Clients/${getJsonField(
|
||||
|
@ -192,27 +230,30 @@ class _BottomArrowLinkedLocalsComponentWidgetState
|
|||
width: double.infinity,
|
||||
height: double.infinity,
|
||||
fit: BoxFit.fill,
|
||||
alignment: const Alignment(0.0, 0.0),
|
||||
alignment:
|
||||
const Alignment(0.0, 0.0),
|
||||
),
|
||||
),
|
||||
),
|
||||
Padding(
|
||||
padding:
|
||||
const EdgeInsetsDirectional.fromSTEB(
|
||||
padding: const EdgeInsetsDirectional
|
||||
.fromSTEB(
|
||||
0.0, 10.0, 0.0, 0.0),
|
||||
child: Text(
|
||||
getJsonField(
|
||||
eachLocalsItem,
|
||||
r'''$.CLI_NOME''',
|
||||
).toString(),
|
||||
style: FlutterFlowTheme.of(context)
|
||||
style: FlutterFlowTheme.of(
|
||||
context)
|
||||
.bodyMedium
|
||||
.override(
|
||||
fontFamily:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.bodyMediumFamily,
|
||||
color: FlutterFlowTheme.of(
|
||||
color:
|
||||
FlutterFlowTheme.of(
|
||||
context)
|
||||
.primaryText,
|
||||
letterSpacing: 0.0,
|
||||
|
@ -236,6 +277,9 @@ class _BottomArrowLinkedLocalsComponentWidgetState
|
|||
},
|
||||
),
|
||||
),
|
||||
].addToStart(const SizedBox(width: 20.0)),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
|
|
@ -80,7 +80,7 @@ class _MenuStaggeredViewComponentWidgetState
|
|||
),
|
||||
crossAxisSpacing: 10.0,
|
||||
mainAxisSpacing: 10.0,
|
||||
itemCount: 8,
|
||||
itemCount: 9,
|
||||
padding: const EdgeInsets.fromLTRB(
|
||||
0,
|
||||
10.0,
|
||||
|
@ -1002,6 +1002,123 @@ de Liberação */
|
|||
),
|
||||
),
|
||||
),
|
||||
() => InkWell(
|
||||
splashColor: Colors.transparent,
|
||||
focusColor: Colors.transparent,
|
||||
hoverColor: Colors.transparent,
|
||||
highlightColor: Colors.transparent,
|
||||
onTap: () async {
|
||||
await widget.liberationHistoryOptAction?.call();
|
||||
},
|
||||
child: Container(
|
||||
width: 100.0,
|
||||
height: 100.0,
|
||||
decoration: BoxDecoration(
|
||||
color:
|
||||
FlutterFlowTheme.of(context).primaryBackground,
|
||||
boxShadow: [
|
||||
BoxShadow(
|
||||
blurRadius: 4.0,
|
||||
color:
|
||||
FlutterFlowTheme.of(context).customColor5,
|
||||
offset: const Offset(
|
||||
0.0,
|
||||
2.0,
|
||||
),
|
||||
)
|
||||
],
|
||||
borderRadius: BorderRadius.circular(24.0),
|
||||
shape: BoxShape.rectangle,
|
||||
border: Border.all(
|
||||
color: FlutterFlowTheme.of(context).alternate,
|
||||
width: 0.5,
|
||||
),
|
||||
),
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.all(4.0),
|
||||
child: Column(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
children: [
|
||||
Align(
|
||||
alignment: const AlignmentDirectional(0.0, 0.0),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.max,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Expanded(
|
||||
child: Align(
|
||||
alignment:
|
||||
const AlignmentDirectional(-1.0, 0.0),
|
||||
child: Padding(
|
||||
padding:
|
||||
const EdgeInsetsDirectional.fromSTEB(
|
||||
8.0, 0.0, 0.0, 0.0),
|
||||
child: Container(
|
||||
width: 30.0,
|
||||
height: 30.0,
|
||||
decoration: BoxDecoration(
|
||||
color:
|
||||
FlutterFlowTheme.of(context)
|
||||
.primaryBackground,
|
||||
shape: BoxShape.circle,
|
||||
),
|
||||
alignment: const AlignmentDirectional(
|
||||
0.0, 0.0),
|
||||
child: Icon(
|
||||
Icons.settings_rounded,
|
||||
color:
|
||||
FlutterFlowTheme.of(context)
|
||||
.accent1,
|
||||
size: 24.0,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
Align(
|
||||
alignment: const AlignmentDirectional(0.0, 0.0),
|
||||
child: Row(
|
||||
mainAxisSize: MainAxisSize.min,
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Align(
|
||||
alignment:
|
||||
const AlignmentDirectional(0.0, 0.0),
|
||||
child: Text(
|
||||
FFLocalizations.of(context).getText(
|
||||
'dzk31zpc' /* Preferencias
|
||||
do Sistema */
|
||||
,
|
||||
),
|
||||
style: FlutterFlowTheme.of(context)
|
||||
.titleLarge
|
||||
.override(
|
||||
fontFamily: 'Nunito',
|
||||
color:
|
||||
FlutterFlowTheme.of(context)
|
||||
.primaryText,
|
||||
fontSize: 14.0,
|
||||
letterSpacing: 0.0,
|
||||
fontWeight: FontWeight.w500,
|
||||
useGoogleFonts:
|
||||
GoogleFonts.asMap()
|
||||
.containsKey('Nunito'),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
].divide(const SizedBox(height: 0.0)),
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
][index]();
|
||||
},
|
||||
),
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import '/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart';
|
||||
import '/components/view_visit_detail/view_visit_detail_widget.dart';
|
||||
import '/components/templates_components/view_visit_detail/view_visit_detail_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'visit_details_modal_template_component_widget.dart'
|
||||
show VisitDetailsModalTemplateComponentWidget;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import '/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart';
|
||||
import '/components/view_visit_detail/view_visit_detail_widget.dart';
|
||||
import '/components/templates_components/view_visit_detail/view_visit_detail_widget.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'visit_details_modal_template_component_model.dart';
|
||||
|
|
|
@ -152,7 +152,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
'en': 'FREE ACCESS',
|
||||
},
|
||||
'mp6igsok': {
|
||||
'pt': 'Home',
|
||||
'pt': '',
|
||||
'en': '',
|
||||
},
|
||||
},
|
||||
|
@ -490,6 +490,28 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
'en': '',
|
||||
},
|
||||
},
|
||||
// preferencesPage
|
||||
{
|
||||
'1vyj6y7n': {
|
||||
'pt': 'Preferencias',
|
||||
'en': '',
|
||||
},
|
||||
'uv1iug83': {
|
||||
'pt': '',
|
||||
'en': '',
|
||||
},
|
||||
},
|
||||
// settingsPage
|
||||
{
|
||||
'bc698859': {
|
||||
'pt': 'Preferencias',
|
||||
'en': '',
|
||||
},
|
||||
'8fgc7z33': {
|
||||
'pt': '',
|
||||
'en': '',
|
||||
},
|
||||
},
|
||||
// visitorDetailsModalTemplateComponent
|
||||
{
|
||||
'kqzf7nx2': {
|
||||
|
@ -836,6 +858,10 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
|||
'pt': 'Histórico\nde Liberação',
|
||||
'en': 'Liberation\nHistory',
|
||||
},
|
||||
'dzk31zpc': {
|
||||
'pt': 'Preferencias\ndo Sistema',
|
||||
'en': '',
|
||||
},
|
||||
},
|
||||
// messageWellComponent
|
||||
{
|
||||
|
|
|
@ -6,6 +6,7 @@ import 'package:provider/provider.dart';
|
|||
import '/backend/schema/structs/index.dart';
|
||||
|
||||
import '/index.dart';
|
||||
import '/main.dart';
|
||||
import '/flutter_flow/flutter_flow_theme.dart';
|
||||
import '/flutter_flow/flutter_flow_util.dart';
|
||||
|
||||
|
@ -62,7 +63,9 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
|
|||
FFRoute(
|
||||
name: 'homePage',
|
||||
path: '/homePage',
|
||||
builder: (context, params) => const HomePageWidget(),
|
||||
builder: (context, params) => params.isEmpty
|
||||
? const NavBarPage(initialPage: 'homePage')
|
||||
: const HomePageWidget(),
|
||||
),
|
||||
FFRoute(
|
||||
name: 'registerVisitorPage',
|
||||
|
@ -147,6 +150,18 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
|
|||
name: 'qrCodePage',
|
||||
path: '/qrCodePage',
|
||||
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(),
|
||||
);
|
||||
|
|
|
@ -16,3 +16,6 @@ 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/welcome_page/welcome_page_widget.dart' show WelcomePageWidget;
|
||||
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,6 +6,7 @@ import 'package:flutter_web_plugins/url_strategy.dart';
|
|||
import 'flutter_flow/flutter_flow_theme.dart';
|
||||
import 'flutter_flow/flutter_flow_util.dart';
|
||||
import 'flutter_flow/internationalization.dart';
|
||||
import 'index.dart';
|
||||
|
||||
void main() async {
|
||||
WidgetsFlutterBinding.ensureInitialized();
|
||||
|
@ -119,3 +120,74 @@ 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(
|
||||
'8fgc7z33' /* */,
|
||||
),
|
||||
tooltip: '',
|
||||
)
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
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();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,167 @@
|
|||
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 ...');
|
||||
},
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
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();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,71 @@
|
|||
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: [],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue