Updating to latest FlutterFlow output.

This commit is contained in:
FlutterFlow 2024-07-20 02:11:30 +00:00
parent d7f3c754a9
commit 074d465185
15 changed files with 720 additions and 161 deletions

View File

@ -44,8 +44,8 @@
97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
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>";

View File

@ -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)),
),
),
],
),
),

View File

@ -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]();
},
),

View File

@ -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;

View File

@ -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';

View File

@ -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
{

View File

@ -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(),
);

View File

@ -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;

View File

@ -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: '',
)
],
),
);
}
}

View File

@ -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();
}
}

View File

@ -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 ...');
},
),
],
),
),
],
),
),
),
);
}
}

View File

@ -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();
}
}

View File

@ -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: [],
),
),
),
);
}
}