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>"; };
|
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>"; };
|
||||||
6436409227A31CD600820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
|
6436409127A31CD300820AF7 /* 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>"; };
|
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>"; };
|
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 = (
|
||||||
6436409227A31CD600820AF7 /* pt */,
|
6436409127A31CD300820AF7 /* pt */,
|
||||||
6436409227A31CDA00820AF7 /* en */,
|
6436409227A31CD300820AF7 /* en */,
|
||||||
);
|
);
|
||||||
name = InfoPlist.strings;
|
name = InfoPlist.strings;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
import '/backend/api_requests/api_calls.dart';
|
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_theme.dart';
|
||||||
import '/flutter_flow/flutter_flow_util.dart';
|
import '/flutter_flow/flutter_flow_util.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
@ -77,163 +78,206 @@ class _BottomArrowLinkedLocalsComponentWidgetState
|
||||||
topRight: Radius.circular(0.0),
|
topRight: Radius.circular(0.0),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: FutureBuilder<ApiCallResponse>(
|
child: Row(
|
||||||
future: PhpGroup.getLocalsCall.call(
|
mainAxisSize: MainAxisSize.max,
|
||||||
devUUID: FFAppState().devUUID,
|
children: [
|
||||||
userUUID: FFAppState().userUUID,
|
Container(
|
||||||
),
|
width: 100.0,
|
||||||
builder: (context, snapshot) {
|
height: 100.0,
|
||||||
// Customize what your widget looks like when it's loading.
|
decoration: BoxDecoration(
|
||||||
if (!snapshot.hasData) {
|
color: FlutterFlowTheme.of(context)
|
||||||
return Center(
|
.secondaryBackground,
|
||||||
child: SizedBox(
|
),
|
||||||
width: 50.0,
|
child: FlutterFlowIconButton(
|
||||||
height: 50.0,
|
borderRadius: 20.0,
|
||||||
child: SpinKitCircle(
|
borderWidth: 1.0,
|
||||||
color: FlutterFlowTheme.of(context).primary,
|
buttonSize: 40.0,
|
||||||
size: 50.0,
|
fillColor: FlutterFlowTheme.of(context).accent1,
|
||||||
),
|
icon: Icon(
|
||||||
|
Icons.add,
|
||||||
|
color: FlutterFlowTheme.of(context).primary,
|
||||||
|
size: 24.0,
|
||||||
),
|
),
|
||||||
);
|
onPressed: () {
|
||||||
}
|
print('IconButton pressed ...');
|
||||||
final gridViewGetLocalsResponse = snapshot.data!;
|
},
|
||||||
|
),
|
||||||
return Builder(
|
),
|
||||||
builder: (context) {
|
Expanded(
|
||||||
final eachLocals = PhpGroup.getLocalsCall
|
child: FutureBuilder<ApiCallResponse>(
|
||||||
.locais(
|
future: PhpGroup.getLocalsCall.call(
|
||||||
gridViewGetLocalsResponse.jsonBody,
|
devUUID: FFAppState().devUUID,
|
||||||
)
|
userUUID: FFAppState().userUUID,
|
||||||
?.map((e) => e)
|
),
|
||||||
.toList()
|
builder: (context, snapshot) {
|
||||||
.toList() ??
|
// Customize what your widget looks like when it's loading.
|
||||||
[];
|
if (!snapshot.hasData) {
|
||||||
|
return Center(
|
||||||
return GridView.builder(
|
child: SizedBox(
|
||||||
padding: EdgeInsets.zero,
|
|
||||||
gridDelegate:
|
|
||||||
const SliverGridDelegateWithFixedCrossAxisCount(
|
|
||||||
crossAxisCount: 1,
|
|
||||||
crossAxisSpacing: 10.0,
|
|
||||||
mainAxisSpacing: 0.0,
|
|
||||||
childAspectRatio: 1.0,
|
|
||||||
),
|
|
||||||
scrollDirection: Axis.horizontal,
|
|
||||||
itemCount: eachLocals.length,
|
|
||||||
itemBuilder: (context, eachLocalsIndex) {
|
|
||||||
final eachLocalsItem =
|
|
||||||
eachLocals[eachLocalsIndex];
|
|
||||||
return InkWell(
|
|
||||||
splashColor: Colors.transparent,
|
|
||||||
focusColor: Colors.transparent,
|
|
||||||
hoverColor: Colors.transparent,
|
|
||||||
highlightColor: Colors.transparent,
|
|
||||||
onTap: () async {
|
|
||||||
FFAppState().cliUUID = getJsonField(
|
|
||||||
eachLocalsItem,
|
|
||||||
r'''$.CLI_ID''',
|
|
||||||
).toString();
|
|
||||||
setState(() {});
|
|
||||||
FFAppState().local = getJsonField(
|
|
||||||
eachLocalsItem,
|
|
||||||
r'''$.CLI_NOME''',
|
|
||||||
).toString();
|
|
||||||
setState(() {});
|
|
||||||
FFAppState().ownerUUID = getJsonField(
|
|
||||||
eachLocalsItem,
|
|
||||||
r'''$.CLU_OWNER_ID''',
|
|
||||||
).toString();
|
|
||||||
setState(() {});
|
|
||||||
Navigator.pop(context);
|
|
||||||
},
|
|
||||||
child: Container(
|
|
||||||
width: 50.0,
|
width: 50.0,
|
||||||
height: double.infinity,
|
height: 50.0,
|
||||||
decoration: const BoxDecoration(),
|
child: SpinKitCircle(
|
||||||
alignment: const AlignmentDirectional(0.0, 0.0),
|
color:
|
||||||
child: Column(
|
FlutterFlowTheme.of(context).primary,
|
||||||
mainAxisSize: MainAxisSize.max,
|
size: 50.0,
|
||||||
mainAxisAlignment:
|
|
||||||
MainAxisAlignment.center,
|
|
||||||
children: [
|
|
||||||
Container(
|
|
||||||
width: 100.0,
|
|
||||||
height: 100.0,
|
|
||||||
decoration: BoxDecoration(
|
|
||||||
color: FlutterFlowTheme.of(context)
|
|
||||||
.primaryText,
|
|
||||||
borderRadius: const BorderRadius.only(
|
|
||||||
bottomLeft: Radius.circular(25.0),
|
|
||||||
bottomRight:
|
|
||||||
Radius.circular(25.0),
|
|
||||||
topLeft: Radius.circular(25.0),
|
|
||||||
topRight: Radius.circular(25.0),
|
|
||||||
),
|
|
||||||
border: Border.all(
|
|
||||||
color:
|
|
||||||
FlutterFlowTheme.of(context)
|
|
||||||
.secondaryText,
|
|
||||||
width: 3.0,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
child: ClipRRect(
|
|
||||||
borderRadius: const BorderRadius.only(
|
|
||||||
bottomLeft: Radius.circular(25.0),
|
|
||||||
bottomRight:
|
|
||||||
Radius.circular(25.0),
|
|
||||||
topLeft: Radius.circular(25.0),
|
|
||||||
topRight: Radius.circular(25.0),
|
|
||||||
),
|
|
||||||
child: Image.network(
|
|
||||||
'https://freaccess.com.br/freaccess/Images/Clients/${getJsonField(
|
|
||||||
eachLocalsItem,
|
|
||||||
r'''$.CLI_ID''',
|
|
||||||
).toString()}.png',
|
|
||||||
width: double.infinity,
|
|
||||||
height: double.infinity,
|
|
||||||
fit: BoxFit.fill,
|
|
||||||
alignment: const Alignment(0.0, 0.0),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Padding(
|
|
||||||
padding:
|
|
||||||
const EdgeInsetsDirectional.fromSTEB(
|
|
||||||
0.0, 10.0, 0.0, 0.0),
|
|
||||||
child: Text(
|
|
||||||
getJsonField(
|
|
||||||
eachLocalsItem,
|
|
||||||
r'''$.CLI_NOME''',
|
|
||||||
).toString(),
|
|
||||||
style: FlutterFlowTheme.of(context)
|
|
||||||
.bodyMedium
|
|
||||||
.override(
|
|
||||||
fontFamily:
|
|
||||||
FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.bodyMediumFamily,
|
|
||||||
color: FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.primaryText,
|
|
||||||
letterSpacing: 0.0,
|
|
||||||
useGoogleFonts: GoogleFonts
|
|
||||||
.asMap()
|
|
||||||
.containsKey(
|
|
||||||
FlutterFlowTheme.of(
|
|
||||||
context)
|
|
||||||
.bodyMediumFamily),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
}
|
||||||
);
|
final gridViewGetLocalsResponse = snapshot.data!;
|
||||||
},
|
|
||||||
);
|
return Builder(
|
||||||
},
|
builder: (context) {
|
||||||
|
final eachLocals = PhpGroup.getLocalsCall
|
||||||
|
.locais(
|
||||||
|
gridViewGetLocalsResponse.jsonBody,
|
||||||
|
)
|
||||||
|
?.map((e) => e)
|
||||||
|
.toList()
|
||||||
|
.toList() ??
|
||||||
|
[];
|
||||||
|
|
||||||
|
return GridView.builder(
|
||||||
|
padding: EdgeInsets.zero,
|
||||||
|
gridDelegate:
|
||||||
|
const SliverGridDelegateWithFixedCrossAxisCount(
|
||||||
|
crossAxisCount: 1,
|
||||||
|
crossAxisSpacing: 10.0,
|
||||||
|
mainAxisSpacing: 0.0,
|
||||||
|
childAspectRatio: 1.0,
|
||||||
|
),
|
||||||
|
scrollDirection: Axis.horizontal,
|
||||||
|
itemCount: eachLocals.length,
|
||||||
|
itemBuilder: (context, eachLocalsIndex) {
|
||||||
|
final eachLocalsItem =
|
||||||
|
eachLocals[eachLocalsIndex];
|
||||||
|
return InkWell(
|
||||||
|
splashColor: Colors.transparent,
|
||||||
|
focusColor: Colors.transparent,
|
||||||
|
hoverColor: Colors.transparent,
|
||||||
|
highlightColor: Colors.transparent,
|
||||||
|
onTap: () async {
|
||||||
|
FFAppState().cliUUID = getJsonField(
|
||||||
|
eachLocalsItem,
|
||||||
|
r'''$.CLI_ID''',
|
||||||
|
).toString();
|
||||||
|
setState(() {});
|
||||||
|
FFAppState().local = getJsonField(
|
||||||
|
eachLocalsItem,
|
||||||
|
r'''$.CLI_NOME''',
|
||||||
|
).toString();
|
||||||
|
setState(() {});
|
||||||
|
FFAppState().ownerUUID = getJsonField(
|
||||||
|
eachLocalsItem,
|
||||||
|
r'''$.CLU_OWNER_ID''',
|
||||||
|
).toString();
|
||||||
|
setState(() {});
|
||||||
|
Navigator.pop(context);
|
||||||
|
},
|
||||||
|
child: Container(
|
||||||
|
width: 50.0,
|
||||||
|
height: double.infinity,
|
||||||
|
decoration: const BoxDecoration(),
|
||||||
|
alignment:
|
||||||
|
const AlignmentDirectional(0.0, 0.0),
|
||||||
|
child: Column(
|
||||||
|
mainAxisSize: MainAxisSize.max,
|
||||||
|
mainAxisAlignment:
|
||||||
|
MainAxisAlignment.center,
|
||||||
|
children: [
|
||||||
|
Container(
|
||||||
|
width: 100.0,
|
||||||
|
height: 100.0,
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
color: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primaryText,
|
||||||
|
borderRadius:
|
||||||
|
const BorderRadius.only(
|
||||||
|
bottomLeft:
|
||||||
|
Radius.circular(25.0),
|
||||||
|
bottomRight:
|
||||||
|
Radius.circular(25.0),
|
||||||
|
topLeft:
|
||||||
|
Radius.circular(25.0),
|
||||||
|
topRight:
|
||||||
|
Radius.circular(25.0),
|
||||||
|
),
|
||||||
|
border: Border.all(
|
||||||
|
color: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.secondaryText,
|
||||||
|
width: 3.0,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
child: ClipRRect(
|
||||||
|
borderRadius:
|
||||||
|
const BorderRadius.only(
|
||||||
|
bottomLeft:
|
||||||
|
Radius.circular(25.0),
|
||||||
|
bottomRight:
|
||||||
|
Radius.circular(25.0),
|
||||||
|
topLeft:
|
||||||
|
Radius.circular(25.0),
|
||||||
|
topRight:
|
||||||
|
Radius.circular(25.0),
|
||||||
|
),
|
||||||
|
child: Image.network(
|
||||||
|
'https://freaccess.com.br/freaccess/Images/Clients/${getJsonField(
|
||||||
|
eachLocalsItem,
|
||||||
|
r'''$.CLI_ID''',
|
||||||
|
).toString()}.png',
|
||||||
|
width: double.infinity,
|
||||||
|
height: double.infinity,
|
||||||
|
fit: BoxFit.fill,
|
||||||
|
alignment:
|
||||||
|
const Alignment(0.0, 0.0),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
Padding(
|
||||||
|
padding: const EdgeInsetsDirectional
|
||||||
|
.fromSTEB(
|
||||||
|
0.0, 10.0, 0.0, 0.0),
|
||||||
|
child: Text(
|
||||||
|
getJsonField(
|
||||||
|
eachLocalsItem,
|
||||||
|
r'''$.CLI_NOME''',
|
||||||
|
).toString(),
|
||||||
|
style: FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMedium
|
||||||
|
.override(
|
||||||
|
fontFamily:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily,
|
||||||
|
color:
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.primaryText,
|
||||||
|
letterSpacing: 0.0,
|
||||||
|
useGoogleFonts: GoogleFonts
|
||||||
|
.asMap()
|
||||||
|
.containsKey(
|
||||||
|
FlutterFlowTheme.of(
|
||||||
|
context)
|
||||||
|
.bodyMediumFamily),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
].addToStart(const SizedBox(width: 20.0)),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
|
|
|
@ -80,7 +80,7 @@ class _MenuStaggeredViewComponentWidgetState
|
||||||
),
|
),
|
||||||
crossAxisSpacing: 10.0,
|
crossAxisSpacing: 10.0,
|
||||||
mainAxisSpacing: 10.0,
|
mainAxisSpacing: 10.0,
|
||||||
itemCount: 8,
|
itemCount: 9,
|
||||||
padding: const EdgeInsets.fromLTRB(
|
padding: const EdgeInsets.fromLTRB(
|
||||||
0,
|
0,
|
||||||
10.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]();
|
][index]();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import '/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart';
|
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 '/flutter_flow/flutter_flow_util.dart';
|
||||||
import 'visit_details_modal_template_component_widget.dart'
|
import 'visit_details_modal_template_component_widget.dart'
|
||||||
show VisitDetailsModalTemplateComponentWidget;
|
show VisitDetailsModalTemplateComponentWidget;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import '/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart';
|
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 '/flutter_flow/flutter_flow_util.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';
|
||||||
|
|
|
@ -152,7 +152,7 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'en': 'FREE ACCESS',
|
'en': 'FREE ACCESS',
|
||||||
},
|
},
|
||||||
'mp6igsok': {
|
'mp6igsok': {
|
||||||
'pt': 'Home',
|
'pt': '',
|
||||||
'en': '',
|
'en': '',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -490,6 +490,28 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'en': '',
|
'en': '',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
// preferencesPage
|
||||||
|
{
|
||||||
|
'1vyj6y7n': {
|
||||||
|
'pt': 'Preferencias',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
'uv1iug83': {
|
||||||
|
'pt': '',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
// settingsPage
|
||||||
|
{
|
||||||
|
'bc698859': {
|
||||||
|
'pt': 'Preferencias',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
'8fgc7z33': {
|
||||||
|
'pt': '',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
|
},
|
||||||
// visitorDetailsModalTemplateComponent
|
// visitorDetailsModalTemplateComponent
|
||||||
{
|
{
|
||||||
'kqzf7nx2': {
|
'kqzf7nx2': {
|
||||||
|
@ -836,6 +858,10 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
|
||||||
'pt': 'Histórico\nde Liberação',
|
'pt': 'Histórico\nde Liberação',
|
||||||
'en': 'Liberation\nHistory',
|
'en': 'Liberation\nHistory',
|
||||||
},
|
},
|
||||||
|
'dzk31zpc': {
|
||||||
|
'pt': 'Preferencias\ndo Sistema',
|
||||||
|
'en': '',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
// messageWellComponent
|
// messageWellComponent
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,6 +6,7 @@ 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';
|
||||||
|
|
||||||
|
@ -62,7 +63,9 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) => GoRouter(
|
||||||
FFRoute(
|
FFRoute(
|
||||||
name: 'homePage',
|
name: 'homePage',
|
||||||
path: '/homePage',
|
path: '/homePage',
|
||||||
builder: (context, params) => const HomePageWidget(),
|
builder: (context, params) => params.isEmpty
|
||||||
|
? const NavBarPage(initialPage: 'homePage')
|
||||||
|
: const HomePageWidget(),
|
||||||
),
|
),
|
||||||
FFRoute(
|
FFRoute(
|
||||||
name: 'registerVisitorPage',
|
name: 'registerVisitorPage',
|
||||||
|
@ -147,6 +150,18 @@ 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,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/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,6 +6,7 @@ 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();
|
||||||
|
@ -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