chore: Update iOS platform version to 14.0

This commit is contained in:
Jonatas Antunes Messias 2024-06-26 09:05:44 -03:00
commit 352031e243
21 changed files with 1613 additions and 1370 deletions

View File

@ -21,6 +21,6 @@
<key>CFBundleVersion</key>
<string>1.0</string>
<key>MinimumOSVersion</key>
<string>13.0</string>
<string>14.0</string>
</dict>
</plist>

View File

@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project
platform :ios, '13.0'
platform :ios, '14.0'
# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

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>"; };
6436409827A31CD000820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409527A31CDA00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409927A31CDE00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409C27A31CD500820AF7 /* 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 = (
6436409827A31CD000820AF7 /* pt */,
6436409527A31CDA00820AF7 /* en */,
6436409927A31CDE00820AF7 /* pt */,
6436409C27A31CD500820AF7 /* en */,
);
name = InfoPlist.strings;
sourceTree = "<group>";
@ -291,7 +291,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;
@ -373,7 +373,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@ -422,7 +422,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0;
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos;

View File

@ -143,7 +143,7 @@ Future singInLoginAction(
await showModalBottomSheet(
isScrollControlled: true,
backgroundColor: Colors.transparent,
enableDrag: false,
useSafeArea: true,
context: context,
builder: (context) {
return Padding(

View File

@ -1,4 +1,5 @@
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/form_field_controller.dart';
import 'opt_modal_widget.dart' show OptModalWidget;
import 'package:flutter/material.dart';
@ -9,10 +10,19 @@ class OptModalModel extends FlutterFlowModel<OptModalWidget> {
FocusNode? textFieldFocusNode;
TextEditingController? textController;
String? Function(BuildContext, String?)? textControllerValidator;
// State field(s) for CheckboxListTile widget.
bool? checkboxListTileValue1;
// State field(s) for CheckboxListTile widget.
bool? checkboxListTileValue2;
// State field(s) for CheckboxGroup widget.
FormFieldController<List<String>>? checkboxGroupValueController1;
List<String>? get checkboxGroupValues1 =>
checkboxGroupValueController1?.value;
set checkboxGroupValues1(List<String>? v) =>
checkboxGroupValueController1?.value = v;
// State field(s) for CheckboxGroup widget.
FormFieldController<List<String>>? checkboxGroupValueController2;
List<String>? get checkboxGroupValues2 =>
checkboxGroupValueController2?.value;
set checkboxGroupValues2(List<String>? v) =>
checkboxGroupValueController2?.value = v;
@override
void initState(BuildContext context) {}

View File

@ -1,6 +1,8 @@
import '/flutter_flow/flutter_flow_checkbox_group.dart';
import '/flutter_flow/flutter_flow_theme.dart';
import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart';
import '/flutter_flow/form_field_controller.dart';
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'opt_modal_model.dart';
@ -47,252 +49,261 @@ class _OptModalWidgetState extends State<OptModalWidget> {
height: 400.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
borderRadius: BorderRadius.circular(24.0),
),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0),
child: Icon(
Icons.filter_list,
color: FlutterFlowTheme.of(context).primary,
size: 24.0,
),
),
],
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(8.0, 0.0, 8.0, 0.0),
child: TextFormField(
controller: _model.textController,
focusNode: _model.textFieldFocusNode,
autofocus: true,
obscureText: false,
decoration: InputDecoration(
isDense: true,
labelText: FFLocalizations.of(context).getText(
'0enrtljz' /* Label here... */,
),
labelStyle: FlutterFlowTheme.of(context).labelMedium.override(
fontFamily:
FlutterFlowTheme.of(context).labelMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).labelMediumFamily),
),
hintStyle: FlutterFlowTheme.of(context).labelMedium.override(
fontFamily:
FlutterFlowTheme.of(context).labelMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).labelMediumFamily),
),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).alternate,
width: 2.0,
),
borderRadius: BorderRadius.circular(8.0),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(
child: Padding(
padding: const EdgeInsets.all(4.0),
child: Column(
mainAxisSize: MainAxisSize.max,
children: [
Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0),
child: Icon(
Icons.filter_list,
color: FlutterFlowTheme.of(context).primary,
width: 2.0,
size: 24.0,
),
borderRadius: BorderRadius.circular(8.0),
),
errorBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 2.0,
),
borderRadius: BorderRadius.circular(8.0),
),
focusedErrorBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 2.0,
),
borderRadius: BorderRadius.circular(8.0),
),
suffixIcon: const Icon(
Icons.search_outlined,
),
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).bodyMediumFamily),
),
validator: _model.textControllerValidator.asValidator(context),
],
),
),
Column(
mainAxisSize: MainAxisSize.max,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
Text(
FFLocalizations.of(context).getText(
'l7tw8b92' /* Tipo de Pessoa */,
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).bodyMediumFamily),
),
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(8.0, 0.0, 8.0, 0.0),
child: TextFormField(
controller: _model.textController,
focusNode: _model.textFieldFocusNode,
autofocus: true,
obscureText: false,
decoration: InputDecoration(
isDense: true,
labelText: FFLocalizations.of(context).getText(
'0enrtljz' /* Pesquise aqui..... */,
),
].addToStart(const SizedBox(width: 24.0)),
),
Theme(
data: ThemeData(
checkboxTheme: CheckboxThemeData(
visualDensity: VisualDensity.compact,
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(25),
labelStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily:
FlutterFlowTheme.of(context).labelMediumFamily,
color: FlutterFlowTheme.of(context).primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).labelMediumFamily),
),
hintStyle: FlutterFlowTheme.of(context)
.labelMedium
.override(
fontFamily:
FlutterFlowTheme.of(context).labelMediumFamily,
color: FlutterFlowTheme.of(context).primaryText,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).labelMediumFamily),
),
enabledBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).alternate,
width: 2.0,
),
borderRadius: BorderRadius.circular(8.0),
),
focusedBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).primary,
width: 2.0,
),
borderRadius: BorderRadius.circular(8.0),
),
errorBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 2.0,
),
borderRadius: BorderRadius.circular(8.0),
),
focusedErrorBorder: UnderlineInputBorder(
borderSide: BorderSide(
color: FlutterFlowTheme.of(context).error,
width: 2.0,
),
borderRadius: BorderRadius.circular(8.0),
),
filled: true,
fillColor: FlutterFlowTheme.of(context).alternate,
suffixIcon: const Icon(
Icons.search_outlined,
),
unselectedWidgetColor:
FlutterFlowTheme.of(context).secondaryText,
),
child: CheckboxListTile(
value: _model.checkboxListTileValue1 ??= true,
onChanged: (newValue) async {
setState(() => _model.checkboxListTileValue1 = newValue!);
},
title: Text(
FFLocalizations.of(context).getText(
'dkvmdln1' /* Title */,
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).bodyMediumFamily),
),
style: FlutterFlowTheme.of(context).titleLarge.override(
fontFamily:
FlutterFlowTheme.of(context).titleLargeFamily,
fontSize: 10.0,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).titleLargeFamily),
),
validator:
_model.textControllerValidator.asValidator(context),
),
),
Column(
mainAxisSize: MainAxisSize.max,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
Text(
FFLocalizations.of(context).getText(
'l7tw8b92' /* Tipo de Pessoa */,
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
].addToStart(const SizedBox(width: 24.0)),
),
FlutterFlowCheckboxGroup(
options: [
FFLocalizations.of(context).getText(
'zok7lu4w' /* Visitante */,
),
FFLocalizations.of(context).getText(
'oonqk812' /* Morador */,
)
],
onChanged: (val) =>
setState(() => _model.checkboxGroupValues1 = val),
controller: _model.checkboxGroupValueController1 ??=
FormFieldController<List<String>>(
List.from([
FFLocalizations.of(context).getText(
'yfj9pd6k' /* Visitante */,
),
FFLocalizations.of(context).getText(
'svfcf5xs' /* Morador */,
)
] ??
[]),
),
tileColor: FlutterFlowTheme.of(context).secondaryBackground,
activeColor: FlutterFlowTheme.of(context).primary,
checkColor: FlutterFlowTheme.of(context).info,
dense: true,
controlAffinity: ListTileControlAffinity.leading,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(0.0),
),
),
),
]
.addToStart(const SizedBox(height: 10.0))
.addToEnd(const SizedBox(height: 10.0)),
),
Column(
mainAxisSize: MainAxisSize.max,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
Text(
FFLocalizations.of(context).getText(
'pepv7gl9' /* Tipo de Acesso */,
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).bodyMediumFamily),
),
),
].addToStart(const SizedBox(width: 24.0)),
),
Theme(
data: ThemeData(
checkboxTheme: CheckboxThemeData(
visualDensity: VisualDensity.compact,
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(25),
),
),
unselectedWidgetColor:
checkboxBorderColor:
FlutterFlowTheme.of(context).secondaryText,
textStyle: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).bodyMediumFamily),
),
checkboxBorderRadius: BorderRadius.circular(6.0),
initialized: _model.checkboxGroupValues1 != null,
),
child: CheckboxListTile(
value: _model.checkboxListTileValue2 ??= true,
onChanged: (newValue) async {
setState(() => _model.checkboxListTileValue2 = newValue!);
},
title: Text(
FFLocalizations.of(context).getText(
'qos4r9fy' /* Title */,
]
.addToStart(const SizedBox(height: 10.0))
.addToEnd(const SizedBox(height: 10.0)),
),
Column(
mainAxisSize: MainAxisSize.max,
children: [
Row(
mainAxisSize: MainAxisSize.max,
children: [
Text(
FFLocalizations.of(context).getText(
'pepv7gl9' /* Tipo de Acesso */,
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
style: FlutterFlowTheme.of(context).titleLarge.override(
fontFamily:
FlutterFlowTheme.of(context).titleLargeFamily,
fontSize: 10.0,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).titleLargeFamily),
),
].addToStart(const SizedBox(width: 24.0)),
),
FlutterFlowCheckboxGroup(
options: [
FFLocalizations.of(context).getText(
'580z80ct' /* Entrada */,
),
FFLocalizations.of(context).getText(
'1nbwqtzs' /* Saida */,
)
],
onChanged: (val) =>
setState(() => _model.checkboxGroupValues2 = val),
controller: _model.checkboxGroupValueController2 ??=
FormFieldController<List<String>>(
List.from([
FFLocalizations.of(context).getText(
'5zn9x69v' /* Entrada */,
),
FFLocalizations.of(context).getText(
'8uf522zq' /* Saida */,
)
] ??
[]),
),
tileColor: FlutterFlowTheme.of(context).secondaryBackground,
activeColor: FlutterFlowTheme.of(context).primary,
checkColor: FlutterFlowTheme.of(context).info,
dense: true,
controlAffinity: ListTileControlAffinity.leading,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(0.0),
),
checkboxBorderColor:
FlutterFlowTheme.of(context).secondaryText,
textStyle: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).bodyMediumFamily),
),
checkboxBorderRadius: BorderRadius.circular(6.0),
initialized: _model.checkboxGroupValues2 != null,
),
),
]
.addToStart(const SizedBox(height: 10.0))
.addToEnd(const SizedBox(height: 10.0)),
),
FFButtonWidget(
onPressed: () {
print('Button pressed ...');
},
text: '',
icon: const Icon(
Icons.done,
size: 15.0,
]
.addToStart(const SizedBox(height: 10.0))
.addToEnd(const SizedBox(height: 10.0)),
),
options: FFButtonOptions(
height: 40.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: FlutterFlowTheme.of(context).primary,
textStyle: FlutterFlowTheme.of(context).titleSmall.override(
fontFamily: FlutterFlowTheme.of(context).titleSmallFamily,
color: Colors.white,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).titleSmallFamily),
),
elevation: 3.0,
borderSide: const BorderSide(
color: Colors.transparent,
width: 1.0,
FFButtonWidget(
onPressed: () {
print('Button pressed ...');
},
text: FFLocalizations.of(context).getText(
'88kshkph' /* Salvar */,
),
options: FFButtonOptions(
height: 40.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: FlutterFlowTheme.of(context).primary,
textStyle: FlutterFlowTheme.of(context).titleSmall.override(
fontFamily:
FlutterFlowTheme.of(context).titleSmallFamily,
color: Colors.white,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).titleSmallFamily),
),
borderSide: const BorderSide(
color: Colors.transparent,
),
borderRadius: BorderRadius.circular(8.0),
),
borderRadius: BorderRadius.circular(8.0),
),
),
]
.divide(const SizedBox(height: 10.0))
.addToStart(const SizedBox(height: 10.0))
.addToEnd(const SizedBox(height: 10.0)),
]
.divide(const SizedBox(height: 10.0))
.addToStart(const SizedBox(height: 10.0))
.addToEnd(const SizedBox(height: 10.0)),
),
),
),
);

View File

@ -67,80 +67,93 @@ class _ThrowExceptionWidgetState extends State<ThrowExceptionWidget>
children: [
Padding(
padding: const EdgeInsetsDirectional.fromSTEB(10.0, 0.0, 10.0, 0.0),
child: Container(
height: 400.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(10.0),
bottomRight: Radius.circular(10.0),
topLeft: Radius.circular(10.0),
topRight: Radius.circular(10.0),
child: InkWell(
splashColor: Colors.transparent,
focusColor: Colors.transparent,
hoverColor: Colors.transparent,
highlightColor: Colors.transparent,
onTap: () async {
Navigator.pop(context);
},
child: Container(
height: 400.0,
decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground,
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(10.0),
bottomRight: Radius.circular(10.0),
topLeft: Radius.circular(10.0),
topRight: Radius.circular(10.0),
),
),
),
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Stack(
children: [
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Icon(
Icons.circle_outlined,
color: FlutterFlowTheme.of(context).error,
size: 200.0,
child: Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.center,
children: [
Stack(
children: [
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Icon(
Icons.circle_outlined,
color: FlutterFlowTheme.of(context).error,
size: 200.0,
),
),
),
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Icon(
Icons.close_outlined,
color: FlutterFlowTheme.of(context).error,
size: 200.0,
Align(
alignment: const AlignmentDirectional(0.0, 0.0),
child: Icon(
Icons.close_outlined,
color: FlutterFlowTheme.of(context).error,
size: 200.0,
),
),
),
],
).animateOnPageLoad(animationsMap['stackOnPageLoadAnimation']!),
Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
FFLocalizations.of(context).getText(
'e58xxxiq' /* ERRO */,
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
fontSize: 20.0,
letterSpacing: 0.0,
fontWeight: FontWeight.bold,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context).bodyMediumFamily),
),
),
Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0),
child: Text(
valueOrDefault<String>(
widget.msg,
'Message Not Found',
],
).animateOnPageLoad(
animationsMap['stackOnPageLoadAnimation']!),
Column(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
FFLocalizations.of(context).getText(
'e58xxxiq' /* ERRO */,
),
style: FlutterFlowTheme.of(context).bodyMedium.override(
fontFamily:
FlutterFlowTheme.of(context).bodyMediumFamily,
fontSize: 20.0,
letterSpacing: 0.0,
fontWeight: FontWeight.bold,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
),
].addToStart(const SizedBox(height: 50.0)),
),
],
Padding(
padding:
const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0),
child: Text(
valueOrDefault<String>(
widget.msg,
'Message Not Found',
),
style: FlutterFlowTheme.of(context)
.bodyMedium
.override(
fontFamily: FlutterFlowTheme.of(context)
.bodyMediumFamily,
letterSpacing: 0.0,
useGoogleFonts: GoogleFonts.asMap().containsKey(
FlutterFlowTheme.of(context)
.bodyMediumFamily),
),
),
),
].addToStart(const SizedBox(height: 50.0)),
),
],
),
),
),
),

View File

@ -70,8 +70,7 @@ class MenuComponentModel extends FlutterFlowModel<MenuComponentWidget> {
extra: <String, dynamic>{
kTransitionInfoKey: const TransitionInfo(
hasTransition: true,
transitionType: PageTransitionType.scale,
alignment: Alignment.bottomCenter,
transitionType: PageTransitionType.fade,
),
},
);

View File

@ -65,10 +65,10 @@ class _MenuStaggeredViewComponentWidgetState
children: [
Container(
width: double.infinity,
height: MediaQuery.sizeOf(context).height * 0.44,
height: MediaQuery.sizeOf(context).height * 0.498,
decoration: const BoxDecoration(),
child: Padding(
padding: const EdgeInsets.all(16.0),
padding: const EdgeInsets.all(14.0),
child: MasonryGridView.builder(
physics: const NeverScrollableScrollPhysics(),
gridDelegate: const SliverSimpleGridDelegateWithFixedCrossAxisCount(
@ -77,6 +77,12 @@ class _MenuStaggeredViewComponentWidgetState
crossAxisSpacing: 10.0,
mainAxisSpacing: 10.0,
itemCount: 7,
padding: const EdgeInsets.fromLTRB(
0,
10.0,
0,
10.0,
),
shrinkWrap: true,
itemBuilder: (context, index) {
return [

View File

@ -499,26 +499,19 @@ class _SignInTemplateComponentWidgetState
.fromSTEB(
0.0, 0.0, 0.0, 16.0),
child: FFButtonWidget(
onPressed: ((_model.emailAddressTextController
.text ==
'') &&
(_model.passwordTextController
.text ==
''))
? null
: () async {
await action_blocks
.singInLoginAction(
context,
emailAdress: _model
.emailAddressTextController
.text,
password: _model
.passwordTextController
.text,
);
setState(() {});
},
onPressed: () async {
await action_blocks
.singInLoginAction(
context,
emailAdress: _model
.emailAddressTextController
.text,
password: _model
.passwordTextController
.text,
);
setState(() {});
},
text: FFLocalizations.of(
context)
.getText(
@ -575,8 +568,6 @@ class _SignInTemplateComponentWidgetState
borderRadius:
BorderRadius.circular(
12.0),
disabledColor:
const Color(0xE81AAB5F),
),
showLoadingIndicator: false,
),

View File

@ -708,16 +708,16 @@ class _FlutterFlowButtonTabBarState extends State<FlutterFlowButtonTabBar>
child: TextButton(
onPressed: () => _handleTap(index),
style: ButtonStyle(
elevation: MaterialStateProperty.all(
elevation: WidgetStateProperty.all(
widget.useToggleButtonStyle ? 0 : widget.elevation),
/// give a pretty small minimum size
minimumSize: MaterialStateProperty.all(const Size(10, 10)),
padding: MaterialStateProperty.all(EdgeInsets.zero),
textStyle: MaterialStateProperty.all(textStyle),
foregroundColor: MaterialStateProperty.all(textColor),
minimumSize: WidgetStateProperty.all(const Size(10, 10)),
padding: WidgetStateProperty.all(EdgeInsets.zero),
textStyle: WidgetStateProperty.all(textStyle),
foregroundColor: WidgetStateProperty.all(textColor),
tapTargetSize: MaterialTapTargetSize.shrinkWrap,
shape: MaterialStateProperty.all(
shape: WidgetStateProperty.all(
widget.useToggleButtonStyle
? const RoundedRectangleBorder(
side: BorderSide.none,

View File

@ -0,0 +1,134 @@
import 'form_field_controller.dart';
import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
import 'package:flutter/scheduler.dart';
class FlutterFlowCheckboxGroup extends StatefulWidget {
const FlutterFlowCheckboxGroup({
super.key,
required this.options,
required this.onChanged,
required this.controller,
required this.textStyle,
this.labelPadding,
this.itemPadding,
required this.activeColor,
required this.checkColor,
this.checkboxBorderRadius,
required this.checkboxBorderColor,
this.initialized = true,
this.unselectedTextStyle,
});
final List<String> options;
final void Function(List<String>)? onChanged;
final FormFieldController<List<String>> controller;
final TextStyle textStyle;
final EdgeInsetsGeometry? labelPadding;
final EdgeInsetsGeometry? itemPadding;
final Color activeColor;
final Color checkColor;
final BorderRadius? checkboxBorderRadius;
final Color checkboxBorderColor;
final bool initialized;
final TextStyle? unselectedTextStyle;
@override
State<FlutterFlowCheckboxGroup> createState() =>
_FlutterFlowCheckboxGroupState();
}
class _FlutterFlowCheckboxGroupState extends State<FlutterFlowCheckboxGroup> {
late List<String> checkboxValues;
late void Function() _selectedValueListener;
ValueListenable<List<String>?> get changeSelectedValues => widget.controller;
List<String> get selectedValues => widget.controller.value ?? [];
@override
void initState() {
super.initState();
checkboxValues = List.from(widget.controller.initialValue ?? []);
if (!widget.initialized && checkboxValues.isNotEmpty) {
SchedulerBinding.instance.addPostFrameCallback(
(_) {
if (widget.onChanged != null) {
widget.onChanged!(checkboxValues);
}
},
);
}
_selectedValueListener = () {
if (!listEquals(checkboxValues, selectedValues)) {
setState(() => checkboxValues = List.from(selectedValues));
}
if (widget.onChanged != null) {
widget.onChanged!(selectedValues);
}
};
changeSelectedValues.addListener(_selectedValueListener);
}
@override
void dispose() {
changeSelectedValues.removeListener(_selectedValueListener);
super.dispose();
}
@override
Widget build(BuildContext context) => ListView.builder(
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
padding: EdgeInsets.zero,
itemCount: widget.options.length,
itemBuilder: (context, index) {
final option = widget.options[index];
final selected = selectedValues.contains(option);
final unselectedTextStyle =
widget.unselectedTextStyle ?? widget.textStyle;
return Theme(
data: ThemeData(unselectedWidgetColor: widget.checkboxBorderColor),
child: Padding(
padding: widget.itemPadding ?? EdgeInsets.zero,
child: Row(
children: [
Checkbox(
value: selected,
onChanged: widget.onChanged != null
? (isSelected) {
if (isSelected == null) {
return;
}
isSelected
? checkboxValues.add(option)
: checkboxValues.remove(option);
widget.controller.value = List.from(checkboxValues);
setState(() {});
}
: null,
activeColor: widget.activeColor,
checkColor: widget.checkColor,
shape: RoundedRectangleBorder(
borderRadius:
widget.checkboxBorderRadius ?? BorderRadius.zero,
),
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
visualDensity: VisualDensity.compact,
),
Expanded(
child: Padding(
padding: widget.labelPadding ?? EdgeInsets.zero,
child: Text(
widget.options[index],
style:
selected ? widget.textStyle : unselectedTextStyle,
),
),
),
],
),
),
);
},
);
}

View File

@ -270,8 +270,8 @@ class _FlutterFlowDropDownState<T> extends State<FlutterFlowDropDown<T>> {
.toList();
Widget _buildDropdown() {
final overlayColor = MaterialStateProperty.resolveWith<Color?>((states) =>
states.contains(MaterialState.focused) ? Colors.transparent : null);
final overlayColor = WidgetStateProperty.resolveWith<Color?>((states) =>
states.contains(WidgetState.focused) ? Colors.transparent : null);
final iconStyleData = widget.icon != null
? IconStyleData(icon: widget.icon!)
: const IconStyleData();

View File

@ -77,7 +77,7 @@ class _FlutterFlowIconButtonState extends State<FlutterFlowIconButton> {
@override
Widget build(BuildContext context) {
ButtonStyle style = ButtonStyle(
shape: MaterialStateProperty.resolveWith<OutlinedBorder>(
shape: WidgetStateProperty.resolveWith<OutlinedBorder>(
(states) {
return RoundedRectangleBorder(
borderRadius: BorderRadius.circular(widget.borderRadius ?? 0),
@ -88,26 +88,26 @@ class _FlutterFlowIconButtonState extends State<FlutterFlowIconButton> {
);
},
),
iconColor: MaterialStateProperty.resolveWith<Color?>(
iconColor: WidgetStateProperty.resolveWith<Color?>(
(states) {
if (states.contains(MaterialState.disabled) &&
if (states.contains(WidgetState.disabled) &&
widget.disabledIconColor != null) {
return widget.disabledIconColor;
}
if (states.contains(MaterialState.hovered) &&
if (states.contains(WidgetState.hovered) &&
widget.hoverIconColor != null) {
return widget.hoverIconColor;
}
return iconColor;
},
),
backgroundColor: MaterialStateProperty.resolveWith<Color?>(
backgroundColor: WidgetStateProperty.resolveWith<Color?>(
(states) {
if (states.contains(MaterialState.disabled) &&
if (states.contains(WidgetState.disabled) &&
widget.disabledColor != null) {
return widget.disabledColor;
}
if (states.contains(MaterialState.hovered) &&
if (states.contains(WidgetState.hovered) &&
widget.hoverColor != null) {
return widget.hoverColor;
}
@ -115,8 +115,8 @@ class _FlutterFlowIconButtonState extends State<FlutterFlowIconButton> {
return widget.fillColor;
},
),
overlayColor: MaterialStateProperty.resolveWith<Color?>((states) {
if (states.contains(MaterialState.pressed)) {
overlayColor: WidgetStateProperty.resolveWith<Color?>((states) {
if (states.contains(WidgetState.pressed)) {
return null;
}
return widget.hoverColor == null ? null : Colors.transparent;

View File

@ -65,11 +65,11 @@ Theme wrapInMaterialDatePickerTheme(
}) {
final baseTheme = Theme.of(context);
final dateTimeMaterialStateForegroundColor =
MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.disabled)) {
WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.disabled)) {
return pickerForegroundColor.withOpacity(0.60);
}
if (states.contains(MaterialState.selected)) {
if (states.contains(WidgetState.selected)) {
return selectedDateTimeForegroundColor;
}
if (states.isEmpty) {
@ -79,8 +79,8 @@ Theme wrapInMaterialDatePickerTheme(
});
final dateTimeMaterialStateBackgroundColor =
MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.selected)) {
WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.selected)) {
return selectedDateTimeBackgroundColor;
}
return null;
@ -101,15 +101,15 @@ Theme wrapInMaterialDatePickerTheme(
),
textButtonTheme: TextButtonThemeData(
style: ButtonStyle(
foregroundColor: MaterialStatePropertyAll(
foregroundColor: WidgetStatePropertyAll(
actionButtonForegroundColor,
),
overlayColor: MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.hovered)) {
overlayColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.hovered)) {
return actionButtonForegroundColor.withOpacity(0.04);
}
if (states.contains(MaterialState.focused) ||
states.contains(MaterialState.pressed)) {
if (states.contains(WidgetState.focused) ||
states.contains(WidgetState.pressed)) {
return actionButtonForegroundColor.withOpacity(0.12);
}
return null;
@ -155,15 +155,15 @@ Theme wrapInMaterialTimePickerTheme(
),
textButtonTheme: TextButtonThemeData(
style: ButtonStyle(
foregroundColor: MaterialStatePropertyAll(
foregroundColor: WidgetStatePropertyAll(
actionButtonForegroundColor,
),
overlayColor: MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.hovered)) {
overlayColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.hovered)) {
return actionButtonForegroundColor.withOpacity(0.04);
}
if (states.contains(MaterialState.focused) ||
states.contains(MaterialState.pressed)) {
if (states.contains(WidgetState.focused) ||
states.contains(WidgetState.pressed)) {
return actionButtonForegroundColor.withOpacity(0.12);
}
return null;
@ -173,19 +173,19 @@ Theme wrapInMaterialTimePickerTheme(
backgroundColor: pickerBackgroundColor,
hourMinuteTextColor: pickerForegroundColor,
dialHandColor: selectedDateTimeBackgroundColor,
dialTextColor: MaterialStateColor.resolveWith((states) =>
states.contains(MaterialState.selected)
dialTextColor: WidgetStateColor.resolveWith((states) =>
states.contains(WidgetState.selected)
? selectedDateTimeForegroundColor
: pickerForegroundColor),
dayPeriodBorderSide: BorderSide(
color: pickerForegroundColor,
),
dayPeriodTextColor: MaterialStateColor.resolveWith((states) =>
states.contains(MaterialState.selected)
dayPeriodTextColor: WidgetStateColor.resolveWith((states) =>
states.contains(WidgetState.selected)
? selectedDateTimeForegroundColor
: pickerForegroundColor),
dayPeriodColor: MaterialStateColor.resolveWith((states) =>
states.contains(MaterialState.selected)
dayPeriodColor: WidgetStateColor.resolveWith((states) =>
states.contains(WidgetState.selected)
? selectedDateTimeBackgroundColor
: Colors.transparent),
entryModeIconColor: pickerForegroundColor,

View File

@ -124,9 +124,9 @@ class _FFButtonWidgetState extends State<FFButtonWidget> {
: null;
ButtonStyle style = ButtonStyle(
shape: MaterialStateProperty.resolveWith<OutlinedBorder>(
shape: WidgetStateProperty.resolveWith<OutlinedBorder>(
(states) {
if (states.contains(MaterialState.hovered) &&
if (states.contains(WidgetState.hovered) &&
widget.options.hoverBorderSide != null) {
return RoundedRectangleBorder(
borderRadius:
@ -141,43 +141,43 @@ class _FFButtonWidgetState extends State<FFButtonWidget> {
);
},
),
foregroundColor: MaterialStateProperty.resolveWith<Color?>(
foregroundColor: WidgetStateProperty.resolveWith<Color?>(
(states) {
if (states.contains(MaterialState.disabled) &&
if (states.contains(WidgetState.disabled) &&
widget.options.disabledTextColor != null) {
return widget.options.disabledTextColor;
}
if (states.contains(MaterialState.hovered) &&
if (states.contains(WidgetState.hovered) &&
widget.options.hoverTextColor != null) {
return widget.options.hoverTextColor;
}
return widget.options.textStyle?.color ?? Colors.white;
},
),
backgroundColor: MaterialStateProperty.resolveWith<Color?>(
backgroundColor: WidgetStateProperty.resolveWith<Color?>(
(states) {
if (states.contains(MaterialState.disabled) &&
if (states.contains(WidgetState.disabled) &&
widget.options.disabledColor != null) {
return widget.options.disabledColor;
}
if (states.contains(MaterialState.hovered) &&
if (states.contains(WidgetState.hovered) &&
widget.options.hoverColor != null) {
return widget.options.hoverColor;
}
return widget.options.color;
},
),
overlayColor: MaterialStateProperty.resolveWith<Color?>((states) {
if (states.contains(MaterialState.pressed)) {
overlayColor: WidgetStateProperty.resolveWith<Color?>((states) {
if (states.contains(WidgetState.pressed)) {
return widget.options.splashColor;
}
return widget.options.hoverColor == null ? null : Colors.transparent;
}),
padding: MaterialStateProperty.all(widget.options.padding ??
padding: WidgetStateProperty.all(widget.options.padding ??
const EdgeInsets.symmetric(horizontal: 12.0, vertical: 4.0)),
elevation: MaterialStateProperty.resolveWith<double?>(
elevation: WidgetStateProperty.resolveWith<double?>(
(states) {
if (states.contains(MaterialState.hovered) &&
if (states.contains(WidgetState.hovered) &&
widget.options.hoverElevation != null) {
return widget.options.hoverElevation!;
}

View File

@ -513,25 +513,53 @@ final kTranslationsMap = <Map<String, Map<String, String>>>[
// optModal
{
'0enrtljz': {
'pt': 'Label here...',
'en': '',
'pt': 'Pesquise aqui.....',
'en': 'Search here.....',
},
'l7tw8b92': {
'pt': 'Tipo de Pessoa',
'en': 'Kind of person',
},
'zok7lu4w': {
'pt': 'Visitante',
'en': 'Visitor',
},
'oonqk812': {
'pt': 'Morador',
'en': 'Resident',
},
'yfj9pd6k': {
'pt': 'Visitante',
'en': '',
},
'dkvmdln1': {
'pt': 'Title',
'svfcf5xs': {
'pt': 'Morador',
'en': '',
},
'pepv7gl9': {
'pt': 'Tipo de Acesso',
'en': 'Access Type',
},
'580z80ct': {
'pt': 'Entrada',
'en': 'Prohibited',
},
'1nbwqtzs': {
'pt': 'Saida',
'en': 'Exit',
},
'5zn9x69v': {
'pt': 'Entrada',
'en': '',
},
'qos4r9fy': {
'pt': 'Title',
'8uf522zq': {
'pt': 'Saida',
'en': '',
},
'88kshkph': {
'pt': 'Salvar',
'en': 'To save',
},
},
// throwException
{

View File

@ -94,6 +94,12 @@ class _MyAppState extends State<MyApp> {
thumbVisibility: WidgetStateProperty.all(false),
interactive: false,
thumbColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.dragged)) {
return const Color(0xff1aab5f);
}
if (states.contains(WidgetState.hovered)) {
return const Color(0xff1aab5f);
}
return const Color(0xff1aab5f);
}),
),
@ -104,6 +110,12 @@ class _MyAppState extends State<MyApp> {
thumbVisibility: WidgetStateProperty.all(false),
interactive: false,
thumbColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.dragged)) {
return const Color(0xff1aab5f);
}
if (states.contains(WidgetState.hovered)) {
return const Color(0xff1aab5f);
}
return const Color(0xff1aab5f);
}),
),

View File

@ -1,4 +1,5 @@
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/request_manager.dart';
@ -78,4 +79,25 @@ class AcessHistoryPageModel extends FlutterFlowModel<AcessHistoryPageWidget> {
clearAccessHistoryCache();
}
/// Action blocks.
Future toggleOptionsAction(BuildContext context) async {
await showModalBottomSheet(
isScrollControlled: true,
backgroundColor: Colors.transparent,
useSafeArea: true,
context: context,
builder: (context) {
return GestureDetector(
onTap: () => unfocusNode.canRequestFocus
? FocusScope.of(context).requestFocus(unfocusNode)
: FocusScope.of(context).unfocus(),
child: Padding(
padding: MediaQuery.viewInsetsOf(context),
child: const OptModalWidget(),
),
);
},
);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -72,6 +72,10 @@ dependencies:
path_provider_android: 2.2.5
path_provider_foundation: 2.4.0
path_provider_platform_interface: 2.1.2
path_provider: 2.1.3
path_provider_android: 2.2.5
path_provider_foundation: 2.4.0
path_provider_platform_interface: 2.1.2
plugin_platform_interface: 2.1.8
provider: 6.1.2
shared_preferences: 2.2.3
@ -98,8 +102,10 @@ dependencies:
cupertino_icons: ^1.0.0
dependency_overrides:
http: 1.2.1
http: 1.2.1
uuid: ^4.0.0
win32: 5.5.1
dev_dependencies:
flutter_launcher_icons: 0.13.1