add opt modal and fix misc

This commit is contained in:
FlutterFlow 2024-06-26 11:30:30 +00:00
parent 6d79130aad
commit 5e96c8d5a8
22 changed files with 1613 additions and 1387 deletions

View File

@ -75,5 +75,5 @@ flutter {
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.10"
}

View File

@ -19,7 +19,7 @@ pluginManagement {
plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false
id "org.jetbrains.kotlin.android" version "1.7.10" apply false
id "org.jetbrains.kotlin.android" version "1.8.10" apply false
}

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>"; };
6436409E27A31CDB00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; };
6436409C27A31CDE00820AF7 /* 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 */,
6436409E27A31CDB00820AF7 /* pt */,
6436409C27A31CDE00820AF7 /* 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

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

@ -85,13 +85,13 @@ class _MyAppState extends State<MyApp> {
theme: ThemeData(
brightness: Brightness.light,
scrollbarTheme: ScrollbarThemeData(
thumbVisibility: MaterialStateProperty.all(false),
thumbVisibility: WidgetStateProperty.all(false),
interactive: false,
thumbColor: MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.dragged)) {
thumbColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.dragged)) {
return const Color(0xff1aab5f);
}
if (states.contains(MaterialState.hovered)) {
if (states.contains(WidgetState.hovered)) {
return const Color(0xff1aab5f);
}
return const Color(0xff1aab5f);
@ -101,13 +101,13 @@ class _MyAppState extends State<MyApp> {
darkTheme: ThemeData(
brightness: Brightness.dark,
scrollbarTheme: ScrollbarThemeData(
thumbVisibility: MaterialStateProperty.all(false),
thumbVisibility: WidgetStateProperty.all(false),
interactive: false,
thumbColor: MaterialStateProperty.resolveWith((states) {
if (states.contains(MaterialState.dragged)) {
thumbColor: WidgetStateProperty.resolveWith((states) {
if (states.contains(WidgetState.dragged)) {
return const Color(0xff1aab5f);
}
if (states.contains(MaterialState.hovered)) {
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

@ -29,21 +29,21 @@ dependencies:
cached_network_image: 3.3.1
collection: 1.18.0
crop_your_image: 1.0.0
csv: 5.0.1
csv: 6.0.0
device_info_plus: 9.1.2
dropdown_button2: 2.3.9
easy_debounce: 2.0.1
equatable: 2.0.5
file_picker: 6.1.1
flutter_animate: 4.1.1+1
file_picker: 8.0.3
flutter_animate: 4.5.0
flutter_cache_manager: 3.3.1
flutter_plugin_android_lifecycle: 2.0.17
flutter_secure_storage: 8.0.0
flutter_secure_storage_linux: 1.2.0
flutter_secure_storage_macos: 3.0.1
flutter_secure_storage_platform_interface: 1.0.2
flutter_secure_storage_web: 1.1.2
flutter_secure_storage_windows: 2.1.1
flutter_plugin_android_lifecycle: 2.0.20
flutter_secure_storage: 9.2.2
flutter_secure_storage_linux: 1.2.1
flutter_secure_storage_macos: 3.1.2
flutter_secure_storage_platform_interface: 1.1.2
flutter_secure_storage_web: 1.2.1
flutter_secure_storage_windows: 3.1.2
flutter_spinkit: 5.2.0
flutter_staggered_grid_view: 0.7.0
flutter_svg: 2.0.9
@ -51,22 +51,22 @@ dependencies:
from_css_color: 2.0.0
go_router: 12.1.3
google_fonts: 6.1.0
http: 1.2.0
http: 1.2.1
image_picker: 1.0.4
image_picker_android: 0.8.8
image_picker_for_web: 3.0.1
image_picker_ios: 0.8.8+2
image_picker_platform_interface: 2.9.1
intl: 0.18.1
json_path: 0.6.2
intl: 0.19.0
json_path: 0.7.2
mime_type: 1.0.0
page_transition: 2.1.0
path_provider: 2.0.14
path_provider_android: 2.0.25
path_provider_foundation: 2.2.2
path_provider_platform_interface: 2.0.6
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.0.5
provider: 6.1.2
shared_preferences: 2.2.2
shared_preferences_android: 2.2.1
shared_preferences_foundation: 2.3.4
@ -74,16 +74,16 @@ dependencies:
shared_preferences_web: 2.2.1
sqflite: 2.2.6
synchronized: 3.1.0
timeago: 3.2.2
timeago: 3.6.1
url_launcher: 6.2.5
url_launcher_android: 6.3.0
url_launcher_ios: 6.2.5
url_launcher_platform_interface: 2.3.2
video_player: 2.8.1
video_player_android: 2.4.10
video_player_avfoundation: 2.5.1
video_player_platform_interface: 6.2.1
video_player_web: 2.1.2
video_player: 2.8.6
video_player_android: 2.4.16
video_player_avfoundation: 2.6.1
video_player_platform_interface: 6.2.2
video_player_web: 2.3.1
# The following adds the Cupertino Icons font to your application.
@ -91,14 +91,15 @@ dependencies:
cupertino_icons: ^1.0.0
dependency_overrides:
http: 1.2.0
http: 1.2.1
uuid: ^4.0.0
win32: 5.5.1
dev_dependencies:
flutter_launcher_icons: 0.13.1
flutter_lints: 3.0.0
flutter_lints: 4.0.0
image: 4.0.17
lints: 3.0.0
lints: 4.0.0
flutter_test:
sdk: flutter