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 { 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 { plugins {
id "dev.flutter.flutter-plugin-loader" version "1.0.0" id "dev.flutter.flutter-plugin-loader" version "1.0.0"
id "com.android.application" version "7.3.0" apply false 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> <key>CFBundleVersion</key>
<string>1.0</string> <string>1.0</string>
<key>MinimumOSVersion</key> <key>MinimumOSVersion</key>
<string>13.0</string> <string>14.0</string>
</dict> </dict>
</plist> </plist>

View File

@ -1,5 +1,5 @@
# Uncomment this line to define a global platform for your project # 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. # CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true' 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>"; }; 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>"; };
6436409827A31CD000820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = "<group>"; }; 6436409E27A31CDB00820AF7 /* 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>"; }; 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>"; }; 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 = (
6436409827A31CD000820AF7 /* pt */, 6436409E27A31CDB00820AF7 /* pt */,
6436409527A31CDA00820AF7 /* en */, 6436409C27A31CDE00820AF7 /* en */,
); );
name = InfoPlist.strings; name = InfoPlist.strings;
sourceTree = "<group>"; sourceTree = "<group>";
@ -291,7 +291,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos; SUPPORTED_PLATFORMS = iphoneos;
@ -373,7 +373,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = YES; MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES; ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos; SDKROOT = iphoneos;
@ -422,7 +422,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES; GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 13.0; IPHONEOS_DEPLOYMENT_TARGET = 14.0;
MTL_ENABLE_DEBUG_INFO = NO; MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos; SDKROOT = iphoneos;
SUPPORTED_PLATFORMS = iphoneos; SUPPORTED_PLATFORMS = iphoneos;

View File

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

View File

@ -1,4 +1,5 @@
import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/form_field_controller.dart';
import 'opt_modal_widget.dart' show OptModalWidget; import 'opt_modal_widget.dart' show OptModalWidget;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -9,10 +10,19 @@ class OptModalModel extends FlutterFlowModel<OptModalWidget> {
FocusNode? textFieldFocusNode; FocusNode? textFieldFocusNode;
TextEditingController? textController; TextEditingController? textController;
String? Function(BuildContext, String?)? textControllerValidator; String? Function(BuildContext, String?)? textControllerValidator;
// State field(s) for CheckboxListTile widget. // State field(s) for CheckboxGroup widget.
bool? checkboxListTileValue1; FormFieldController<List<String>>? checkboxGroupValueController1;
// State field(s) for CheckboxListTile widget. List<String>? get checkboxGroupValues1 =>
bool? checkboxListTileValue2; 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 @override
void initState(BuildContext context) {} 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_theme.dart';
import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_util.dart';
import '/flutter_flow/flutter_flow_widgets.dart'; import '/flutter_flow/flutter_flow_widgets.dart';
import '/flutter_flow/form_field_controller.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart'; import 'package:google_fonts/google_fonts.dart';
import 'opt_modal_model.dart'; import 'opt_modal_model.dart';
@ -47,252 +49,261 @@ class _OptModalWidgetState extends State<OptModalWidget> {
height: 400.0, height: 400.0,
decoration: BoxDecoration( decoration: BoxDecoration(
color: FlutterFlowTheme.of(context).primaryBackground, color: FlutterFlowTheme.of(context).primaryBackground,
borderRadius: BorderRadius.circular(24.0),
), ),
child: Column( child: Padding(
mainAxisSize: MainAxisSize.max, padding: const EdgeInsets.all(4.0),
children: [ child: Column(
Row( mainAxisSize: MainAxisSize.max,
mainAxisSize: MainAxisSize.max, children: [
mainAxisAlignment: MainAxisAlignment.center, Row(
children: [ mainAxisSize: MainAxisSize.max,
Padding( mainAxisAlignment: MainAxisAlignment.center,
padding: const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0), children: [
child: Icon( Padding(
Icons.filter_list, padding:
color: FlutterFlowTheme.of(context).primary, const EdgeInsetsDirectional.fromSTEB(0.0, 10.0, 0.0, 0.0),
size: 24.0, child: Icon(
), Icons.filter_list,
),
],
),
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(
color: FlutterFlowTheme.of(context).primary, 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),
), ),
), Padding(
Column( padding: const EdgeInsetsDirectional.fromSTEB(8.0, 0.0, 8.0, 0.0),
mainAxisSize: MainAxisSize.max, child: TextFormField(
children: [ controller: _model.textController,
Row( focusNode: _model.textFieldFocusNode,
mainAxisSize: MainAxisSize.max, autofocus: true,
children: [ obscureText: false,
Text( decoration: InputDecoration(
FFLocalizations.of(context).getText( isDense: true,
'l7tw8b92' /* Tipo de Pessoa */, labelText: FFLocalizations.of(context).getText(
), '0enrtljz' /* Pesquise aqui..... */,
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)), labelStyle: FlutterFlowTheme.of(context)
), .labelMedium
Theme( .override(
data: ThemeData( fontFamily:
checkboxTheme: CheckboxThemeData( FlutterFlowTheme.of(context).labelMediumFamily,
visualDensity: VisualDensity.compact, color: FlutterFlowTheme.of(context).primaryText,
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, letterSpacing: 0.0,
shape: RoundedRectangleBorder( useGoogleFonts: GoogleFonts.asMap().containsKey(
borderRadius: BorderRadius.circular(25), 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( style: FlutterFlowTheme.of(context).bodyMedium.override(
value: _model.checkboxListTileValue1 ??= true, fontFamily:
onChanged: (newValue) async { FlutterFlowTheme.of(context).bodyMediumFamily,
setState(() => _model.checkboxListTileValue1 = newValue!); letterSpacing: 0.0,
}, useGoogleFonts: GoogleFonts.asMap().containsKey(
title: Text( FlutterFlowTheme.of(context).bodyMediumFamily),
FFLocalizations.of(context).getText(
'dkvmdln1' /* Title */,
), ),
style: FlutterFlowTheme.of(context).titleLarge.override( validator:
fontFamily: _model.textControllerValidator.asValidator(context),
FlutterFlowTheme.of(context).titleLargeFamily, ),
fontSize: 10.0, ),
letterSpacing: 0.0, Column(
useGoogleFonts: GoogleFonts.asMap().containsKey( mainAxisSize: MainAxisSize.max,
FlutterFlowTheme.of(context).titleLargeFamily), 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, activeColor: FlutterFlowTheme.of(context).primary,
checkColor: FlutterFlowTheme.of(context).info, checkColor: FlutterFlowTheme.of(context).info,
dense: true, checkboxBorderColor:
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:
FlutterFlowTheme.of(context).secondaryText, 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, .addToStart(const SizedBox(height: 10.0))
onChanged: (newValue) async { .addToEnd(const SizedBox(height: 10.0)),
setState(() => _model.checkboxListTileValue2 = newValue!); ),
}, Column(
title: Text( mainAxisSize: MainAxisSize.max,
FFLocalizations.of(context).getText( children: [
'qos4r9fy' /* Title */, 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( ].addToStart(const SizedBox(width: 24.0)),
fontFamily: ),
FlutterFlowTheme.of(context).titleLargeFamily, FlutterFlowCheckboxGroup(
fontSize: 10.0, options: [
letterSpacing: 0.0, FFLocalizations.of(context).getText(
useGoogleFonts: GoogleFonts.asMap().containsKey( '580z80ct' /* Entrada */,
FlutterFlowTheme.of(context).titleLargeFamily), ),
), 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, activeColor: FlutterFlowTheme.of(context).primary,
checkColor: FlutterFlowTheme.of(context).info, checkColor: FlutterFlowTheme.of(context).info,
dense: true, checkboxBorderColor:
controlAffinity: ListTileControlAffinity.leading, FlutterFlowTheme.of(context).secondaryText,
shape: RoundedRectangleBorder( textStyle: FlutterFlowTheme.of(context).bodyMedium.override(
borderRadius: BorderRadius.circular(0.0), 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))
.addToStart(const SizedBox(height: 10.0)) .addToEnd(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,
), ),
options: FFButtonOptions( FFButtonWidget(
height: 40.0, onPressed: () {
padding: const EdgeInsetsDirectional.fromSTEB(24.0, 0.0, 24.0, 0.0), print('Button pressed ...');
iconPadding: const EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0), },
color: FlutterFlowTheme.of(context).primary, text: FFLocalizations.of(context).getText(
textStyle: FlutterFlowTheme.of(context).titleSmall.override( '88kshkph' /* Salvar */,
fontFamily: FlutterFlowTheme.of(context).titleSmallFamily, ),
color: Colors.white, options: FFButtonOptions(
letterSpacing: 0.0, height: 40.0,
useGoogleFonts: GoogleFonts.asMap().containsKey( padding: const EdgeInsetsDirectional.fromSTEB(24.0, 0.0, 24.0, 0.0),
FlutterFlowTheme.of(context).titleSmallFamily), iconPadding:
), const EdgeInsetsDirectional.fromSTEB(0.0, 0.0, 0.0, 0.0),
elevation: 3.0, color: FlutterFlowTheme.of(context).primary,
borderSide: const BorderSide( textStyle: FlutterFlowTheme.of(context).titleSmall.override(
color: Colors.transparent, fontFamily:
width: 1.0, 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))
.divide(const SizedBox(height: 10.0)) .addToStart(const SizedBox(height: 10.0))
.addToStart(const SizedBox(height: 10.0)) .addToEnd(const SizedBox(height: 10.0)),
.addToEnd(const SizedBox(height: 10.0)), ),
), ),
), ),
); );

View File

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

View File

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

View File

@ -708,16 +708,16 @@ class _FlutterFlowButtonTabBarState extends State<FlutterFlowButtonTabBar>
child: TextButton( child: TextButton(
onPressed: () => _handleTap(index), onPressed: () => _handleTap(index),
style: ButtonStyle( style: ButtonStyle(
elevation: MaterialStateProperty.all( elevation: WidgetStateProperty.all(
widget.useToggleButtonStyle ? 0 : widget.elevation), widget.useToggleButtonStyle ? 0 : widget.elevation),
/// give a pretty small minimum size /// give a pretty small minimum size
minimumSize: MaterialStateProperty.all(const Size(10, 10)), minimumSize: WidgetStateProperty.all(const Size(10, 10)),
padding: MaterialStateProperty.all(EdgeInsets.zero), padding: WidgetStateProperty.all(EdgeInsets.zero),
textStyle: MaterialStateProperty.all(textStyle), textStyle: WidgetStateProperty.all(textStyle),
foregroundColor: MaterialStateProperty.all(textColor), foregroundColor: WidgetStateProperty.all(textColor),
tapTargetSize: MaterialTapTargetSize.shrinkWrap, tapTargetSize: MaterialTapTargetSize.shrinkWrap,
shape: MaterialStateProperty.all( shape: WidgetStateProperty.all(
widget.useToggleButtonStyle widget.useToggleButtonStyle
? const RoundedRectangleBorder( ? const RoundedRectangleBorder(
side: BorderSide.none, 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(); .toList();
Widget _buildDropdown() { Widget _buildDropdown() {
final overlayColor = MaterialStateProperty.resolveWith<Color?>((states) => final overlayColor = WidgetStateProperty.resolveWith<Color?>((states) =>
states.contains(MaterialState.focused) ? Colors.transparent : null); states.contains(WidgetState.focused) ? Colors.transparent : null);
final iconStyleData = widget.icon != null final iconStyleData = widget.icon != null
? IconStyleData(icon: widget.icon!) ? IconStyleData(icon: widget.icon!)
: const IconStyleData(); : const IconStyleData();

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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