From 5e96c8d5a8def70def39e28b449c455a175304cf Mon Sep 17 00:00:00 2001 From: FlutterFlow <140657486+FlutterFlowEng@users.noreply.github.com> Date: Wed, 26 Jun 2024 11:30:30 +0000 Subject: [PATCH] add opt modal and fix misc --- android/app/build.gradle | 2 +- android/settings.gradle | 2 +- ios/Flutter/AppFrameworkInfo.plist | 2 +- ios/Podfile | 2 +- ios/Runner.xcodeproj/project.pbxproj | 14 +- lib/actions/actions.dart | 2 +- .../opt_modal/opt_modal_model.dart | 18 +- .../opt_modal/opt_modal_widget.dart | 457 ++-- .../throw_exception_widget.dart | 135 +- .../menu_component/menu_component_model.dart | 3 +- .../sign_in_template_component_widget.dart | 35 +- .../flutter_flow_button_tabbar.dart | 12 +- .../flutter_flow_checkbox_group.dart | 134 ++ lib/flutter_flow/flutter_flow_drop_down.dart | 4 +- .../flutter_flow_icon_button.dart | 18 +- lib/flutter_flow/flutter_flow_util.dart | 42 +- lib/flutter_flow/flutter_flow_widgets.dart | 26 +- lib/flutter_flow/internationalization.dart | 40 +- lib/main.dart | 16 +- .../acess_history_page_model.dart | 22 + .../acess_history_page_widget.dart | 1959 +++++++++-------- pubspec.yaml | 55 +- 22 files changed, 1613 insertions(+), 1387 deletions(-) create mode 100644 lib/flutter_flow/flutter_flow_checkbox_group.dart diff --git a/android/app/build.gradle b/android/app/build.gradle index 9883c333..2caff0ae 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -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" } diff --git a/android/settings.gradle b/android/settings.gradle index e699619d..61534278 100644 --- a/android/settings.gradle +++ b/android/settings.gradle @@ -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 } diff --git a/ios/Flutter/AppFrameworkInfo.plist b/ios/Flutter/AppFrameworkInfo.plist index d57061dd..ff0dcf11 100644 --- a/ios/Flutter/AppFrameworkInfo.plist +++ b/ios/Flutter/AppFrameworkInfo.plist @@ -21,6 +21,6 @@ CFBundleVersion 1.0 MinimumOSVersion - 13.0 + 14.0 diff --git a/ios/Podfile b/ios/Podfile index 23464e32..a43aebd4 100644 --- a/ios/Podfile +++ b/ios/Podfile @@ -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' diff --git a/ios/Runner.xcodeproj/project.pbxproj b/ios/Runner.xcodeproj/project.pbxproj index 17da1887..5c9d5980 100644 --- a/ios/Runner.xcodeproj/project.pbxproj +++ b/ios/Runner.xcodeproj/project.pbxproj @@ -44,8 +44,8 @@ 97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; - 6436409827A31CD000820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; }; - 6436409527A31CDA00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; + 6436409E27A31CDB00820AF7 /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/InfoPlist.strings; sourceTree = ""; }; + 6436409C27A31CDE00820AF7 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; }; 97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* 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 = ""; @@ -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; diff --git a/lib/actions/actions.dart b/lib/actions/actions.dart index 1e35ae5e..30c1b6b9 100644 --- a/lib/actions/actions.dart +++ b/lib/actions/actions.dart @@ -143,7 +143,7 @@ Future singInLoginAction( await showModalBottomSheet( isScrollControlled: true, backgroundColor: Colors.transparent, - enableDrag: false, + useSafeArea: true, context: context, builder: (context) { return Padding( diff --git a/lib/components/molecular_components/opt_modal/opt_modal_model.dart b/lib/components/molecular_components/opt_modal/opt_modal_model.dart index 30a496a6..70a264fc 100644 --- a/lib/components/molecular_components/opt_modal/opt_modal_model.dart +++ b/lib/components/molecular_components/opt_modal/opt_modal_model.dart @@ -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 { 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>? checkboxGroupValueController1; + List? get checkboxGroupValues1 => + checkboxGroupValueController1?.value; + set checkboxGroupValues1(List? v) => + checkboxGroupValueController1?.value = v; + + // State field(s) for CheckboxGroup widget. + FormFieldController>? checkboxGroupValueController2; + List? get checkboxGroupValues2 => + checkboxGroupValueController2?.value; + set checkboxGroupValues2(List? v) => + checkboxGroupValueController2?.value = v; @override void initState(BuildContext context) {} diff --git a/lib/components/molecular_components/opt_modal/opt_modal_widget.dart b/lib/components/molecular_components/opt_modal/opt_modal_widget.dart index fc9f496e..b1457ce9 100644 --- a/lib/components/molecular_components/opt_modal/opt_modal_widget.dart +++ b/lib/components/molecular_components/opt_modal/opt_modal_widget.dart @@ -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 { 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.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.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)), + ), ), ), ); diff --git a/lib/components/molecular_components/throw_exception/throw_exception_widget.dart b/lib/components/molecular_components/throw_exception/throw_exception_widget.dart index 88b29e23..a4c60fa7 100644 --- a/lib/components/molecular_components/throw_exception/throw_exception_widget.dart +++ b/lib/components/molecular_components/throw_exception/throw_exception_widget.dart @@ -67,80 +67,93 @@ class _ThrowExceptionWidgetState extends State 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( - 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( + 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)), + ), + ], + ), ), ), ), diff --git a/lib/components/organism_components/menu_component/menu_component_model.dart b/lib/components/organism_components/menu_component/menu_component_model.dart index 17dc9b4d..bfc7c872 100644 --- a/lib/components/organism_components/menu_component/menu_component_model.dart +++ b/lib/components/organism_components/menu_component/menu_component_model.dart @@ -70,8 +70,7 @@ class MenuComponentModel extends FlutterFlowModel { extra: { kTransitionInfoKey: const TransitionInfo( hasTransition: true, - transitionType: PageTransitionType.scale, - alignment: Alignment.bottomCenter, + transitionType: PageTransitionType.fade, ), }, ); diff --git a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart index ea917de6..59612d43 100644 --- a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart +++ b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart @@ -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, ), diff --git a/lib/flutter_flow/flutter_flow_button_tabbar.dart b/lib/flutter_flow/flutter_flow_button_tabbar.dart index 66b374b4..fcf320b3 100644 --- a/lib/flutter_flow/flutter_flow_button_tabbar.dart +++ b/lib/flutter_flow/flutter_flow_button_tabbar.dart @@ -708,16 +708,16 @@ class _FlutterFlowButtonTabBarState extends State 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, diff --git a/lib/flutter_flow/flutter_flow_checkbox_group.dart b/lib/flutter_flow/flutter_flow_checkbox_group.dart new file mode 100644 index 00000000..61e5f3df --- /dev/null +++ b/lib/flutter_flow/flutter_flow_checkbox_group.dart @@ -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 options; + final void Function(List)? onChanged; + final FormFieldController> 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 createState() => + _FlutterFlowCheckboxGroupState(); +} + +class _FlutterFlowCheckboxGroupState extends State { + late List checkboxValues; + late void Function() _selectedValueListener; + ValueListenable?> get changeSelectedValues => widget.controller; + List 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, + ), + ), + ), + ], + ), + ), + ); + }, + ); +} diff --git a/lib/flutter_flow/flutter_flow_drop_down.dart b/lib/flutter_flow/flutter_flow_drop_down.dart index edaba01f..0e7bc61c 100644 --- a/lib/flutter_flow/flutter_flow_drop_down.dart +++ b/lib/flutter_flow/flutter_flow_drop_down.dart @@ -270,8 +270,8 @@ class _FlutterFlowDropDownState extends State> { .toList(); Widget _buildDropdown() { - final overlayColor = MaterialStateProperty.resolveWith((states) => - states.contains(MaterialState.focused) ? Colors.transparent : null); + final overlayColor = WidgetStateProperty.resolveWith((states) => + states.contains(WidgetState.focused) ? Colors.transparent : null); final iconStyleData = widget.icon != null ? IconStyleData(icon: widget.icon!) : const IconStyleData(); diff --git a/lib/flutter_flow/flutter_flow_icon_button.dart b/lib/flutter_flow/flutter_flow_icon_button.dart index cabfa4e9..6e77c8a0 100644 --- a/lib/flutter_flow/flutter_flow_icon_button.dart +++ b/lib/flutter_flow/flutter_flow_icon_button.dart @@ -77,7 +77,7 @@ class _FlutterFlowIconButtonState extends State { @override Widget build(BuildContext context) { ButtonStyle style = ButtonStyle( - shape: MaterialStateProperty.resolveWith( + shape: WidgetStateProperty.resolveWith( (states) { return RoundedRectangleBorder( borderRadius: BorderRadius.circular(widget.borderRadius ?? 0), @@ -88,26 +88,26 @@ class _FlutterFlowIconButtonState extends State { ); }, ), - iconColor: MaterialStateProperty.resolveWith( + iconColor: WidgetStateProperty.resolveWith( (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( + backgroundColor: WidgetStateProperty.resolveWith( (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 { return widget.fillColor; }, ), - overlayColor: MaterialStateProperty.resolveWith((states) { - if (states.contains(MaterialState.pressed)) { + overlayColor: WidgetStateProperty.resolveWith((states) { + if (states.contains(WidgetState.pressed)) { return null; } return widget.hoverColor == null ? null : Colors.transparent; diff --git a/lib/flutter_flow/flutter_flow_util.dart b/lib/flutter_flow/flutter_flow_util.dart index 443261e2..8bdcf64e 100644 --- a/lib/flutter_flow/flutter_flow_util.dart +++ b/lib/flutter_flow/flutter_flow_util.dart @@ -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, diff --git a/lib/flutter_flow/flutter_flow_widgets.dart b/lib/flutter_flow/flutter_flow_widgets.dart index 64401b5f..5f36df96 100644 --- a/lib/flutter_flow/flutter_flow_widgets.dart +++ b/lib/flutter_flow/flutter_flow_widgets.dart @@ -124,9 +124,9 @@ class _FFButtonWidgetState extends State { : null; ButtonStyle style = ButtonStyle( - shape: MaterialStateProperty.resolveWith( + shape: WidgetStateProperty.resolveWith( (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 { ); }, ), - foregroundColor: MaterialStateProperty.resolveWith( + foregroundColor: WidgetStateProperty.resolveWith( (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( + backgroundColor: WidgetStateProperty.resolveWith( (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((states) { - if (states.contains(MaterialState.pressed)) { + overlayColor: WidgetStateProperty.resolveWith((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( + elevation: WidgetStateProperty.resolveWith( (states) { - if (states.contains(MaterialState.hovered) && + if (states.contains(WidgetState.hovered) && widget.options.hoverElevation != null) { return widget.options.hoverElevation!; } diff --git a/lib/flutter_flow/internationalization.dart b/lib/flutter_flow/internationalization.dart index 625432b8..f98c8ab9 100644 --- a/lib/flutter_flow/internationalization.dart +++ b/lib/flutter_flow/internationalization.dart @@ -513,25 +513,53 @@ final kTranslationsMap = >>[ // 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 { diff --git a/lib/main.dart b/lib/main.dart index 8fc380a0..05c412f7 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -85,13 +85,13 @@ class _MyAppState extends State { 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 { 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); diff --git a/lib/pages/acess_history_page/acess_history_page_model.dart b/lib/pages/acess_history_page/acess_history_page_model.dart index e08cfb0f..158fa4c5 100644 --- a/lib/pages/acess_history_page/acess_history_page_model.dart +++ b/lib/pages/acess_history_page/acess_history_page_model.dart @@ -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 { 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(), + ), + ); + }, + ); + } } diff --git a/lib/pages/acess_history_page/acess_history_page_widget.dart b/lib/pages/acess_history_page/acess_history_page_widget.dart index 9100c70c..88f52ea5 100644 --- a/lib/pages/acess_history_page/acess_history_page_widget.dart +++ b/lib/pages/acess_history_page/acess_history_page_widget.dart @@ -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_icon_button.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; @@ -77,7 +78,7 @@ class _AcessHistoryPageWidgetState extends State style: FlutterFlowTheme.of(context).headlineMedium.override( fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 22.0, + fontSize: 18.0, letterSpacing: 0.0, useGoogleFonts: GoogleFonts.asMap().containsKey( FlutterFlowTheme.of(context).headlineMediumFamily), @@ -143,331 +144,330 @@ class _AcessHistoryPageWidgetState extends State width: double.infinity, height: double.infinity, decoration: const BoxDecoration(), - child: FutureBuilder( - future: _model.visitorsAcessHistory( - requestFn: () => PhpGroup.getAccessCall.call( - devUUID: FFAppState().devUUID, - userUUID: FFAppState().userUUID, - cliID: FFAppState().cliUUID, - atividade: 'getAcessos', - pageSize: '100', - pageNumber: '1', - pesTipo: 'E', - ), - ), - builder: (context, snapshot) { - // Customize what your widget looks like when it's loading. - if (!snapshot.hasData) { - return Center( - child: SizedBox( - width: 50.0, - height: 50.0, - child: SpinKitCircle( - color: FlutterFlowTheme.of(context) - .primary, - size: 50.0, + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.max, + children: [ + FutureBuilder( + future: _model.visitorsAcessHistory( + requestFn: () => + PhpGroup.getAccessCall.call( + devUUID: FFAppState().devUUID, + userUUID: FFAppState().userUUID, + cliID: FFAppState().cliUUID, + atividade: 'getAcessos', + pageSize: '100', + pageNumber: '1', + pesTipo: 'E', ), ), - ); - } - final wrapGetAccessResponse = snapshot.data!; - return Builder( - builder: (context) { - final visitorsAccess = - PhpGroup.getAccessCall - .access( - wrapGetAccessResponse - .jsonBody, - ) - ?.toList() ?? - []; - return Wrap( - spacing: 2.0, - runSpacing: 1.0, - alignment: WrapAlignment.start, - crossAxisAlignment: - WrapCrossAlignment.start, - direction: Axis.horizontal, - runAlignment: WrapAlignment.start, - verticalDirection: VerticalDirection.down, - clipBehavior: Clip.none, - children: - List.generate(visitorsAccess.length, - (visitorsAccessIndex) { - final visitorsAccessItem = - visitorsAccess[visitorsAccessIndex]; - return Align( - alignment: - const AlignmentDirectional(0.0, 0.0), - child: Card( - clipBehavior: - Clip.antiAliasWithSaveLayer, - color: FlutterFlowTheme.of(context) - .secondaryBackground, - shape: RoundedRectangleBorder( - borderRadius: - BorderRadius.circular(8.0), - ), - child: Container( - width: 350.0, - height: 128.0, - decoration: BoxDecoration( - color: - FlutterFlowTheme.of(context) - .secondaryBackground, - ), - child: Column( - mainAxisSize: MainAxisSize.max, - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Row( - mainAxisSize: - MainAxisSize.max, - children: [ - Padding( - padding: const EdgeInsets.all( - 10.0), - child: ClipRRect( - borderRadius: - BorderRadius - .circular( - 100.0), - child: Image.network( - valueOrDefault< - String>( - 'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField( - visitorsAccessItem, - r'''$.VTE_DOCUMENTO''', - ).toString()}&tipo=E', - 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg', - ), - width: 60.0, - height: 60.0, - fit: BoxFit.cover, - ), - ), - ), - Column( - mainAxisSize: - MainAxisSize.max, - crossAxisAlignment: - CrossAxisAlignment - .start, - children: [ - Text( - getJsonField( - visitorsAccessItem, - r'''$.PES_NOME''', - ).toString(), - style: FlutterFlowTheme - .of(context) - .bodyMedium - .override( - fontFamily: FlutterFlowTheme.of( - context) - .bodyMediumFamily, - letterSpacing: - 0.0, - useGoogleFonts: GoogleFonts - .asMap() - .containsKey( - FlutterFlowTheme.of(context) - .bodyMediumFamily), - ), - ), - Container( - width: 100.0, - height: 25.0, - decoration: - BoxDecoration( - color: FlutterFlowTheme - .of(context) - .warning, - borderRadius: - BorderRadius - .circular( - 24.0), - ), - child: Align( - alignment: - const AlignmentDirectional( - 0.0, 0.0), - child: Text( - getJsonField( - visitorsAccessItem, - r'''$.PES_TIPO''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context) - .bodyMediumFamily, - color: FlutterFlowTheme.of( - context) - .info, - letterSpacing: - 0.0, - useGoogleFonts: GoogleFonts - .asMap() - .containsKey( - FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ), - ), - ], - ), - ] - .divide(const SizedBox( - width: 20.0)) - .addToStart(const SizedBox( - width: 5.0)) - .addToEnd(const SizedBox( - width: 5.0)), - ), - Row( - mainAxisSize: - MainAxisSize.max, - children: [ - Expanded( - child: Column( - mainAxisSize: - MainAxisSize.max, - mainAxisAlignment: - MainAxisAlignment - .center, - children: [ - Row( - mainAxisSize: - MainAxisSize - .max, - mainAxisAlignment: - MainAxisAlignment - .start, - children: [ - Text( - FFLocalizations.of( - context) - .getText( - '26dznyam' /* Entrou: */, - ), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - fontWeight: - FontWeight.bold, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - Text( - getJsonField( - visitorsAccessItem, - r'''$.ACE_DATAHORA''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ].addToStart( - const SizedBox( - width: - 10.0)), - ), - Row( - mainAxisSize: - MainAxisSize - .max, - mainAxisAlignment: - MainAxisAlignment - .start, - children: [ - Text( - FFLocalizations.of( - context) - .getText( - 'f2vfwn36' /* Setor */, - ), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - fontWeight: - FontWeight.bold, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - Text( - getJsonField( - visitorsAccessItem, - r'''$.ACI_DESCRICAO''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ].addToStart( - const SizedBox( - width: - 10.0)), - ), - ].divide(const SizedBox( - height: 3.0)), - ), - ), - ] - .addToStart(const SizedBox( - width: 5.0)) - .addToEnd(const SizedBox( - width: 5.0)), - ), - ], - ), + builder: (context, snapshot) { + // Customize what your widget looks like when it's loading. + if (!snapshot.hasData) { + return Center( + child: SizedBox( + width: 50.0, + height: 50.0, + child: SpinKitCircle( + color: + FlutterFlowTheme.of(context) + .primary, + size: 50.0, ), ), ); - }), - ); - }, - ); - }, + } + final wrapGetAccessResponse = + snapshot.data!; + return Builder( + builder: (context) { + final visitorsAccess = + PhpGroup.getAccessCall + .access( + wrapGetAccessResponse + .jsonBody, + ) + ?.toList() ?? + []; + return Wrap( + spacing: 2.0, + runSpacing: 1.0, + alignment: WrapAlignment.start, + crossAxisAlignment: + WrapCrossAlignment.start, + direction: Axis.horizontal, + runAlignment: WrapAlignment.start, + verticalDirection: + VerticalDirection.down, + clipBehavior: Clip.none, + children: List.generate( + visitorsAccess.length, + (visitorsAccessIndex) { + final visitorsAccessItem = + visitorsAccess[ + visitorsAccessIndex]; + return Align( + alignment: const AlignmentDirectional( + 0.0, 0.0), + child: Card( + clipBehavior: Clip + .antiAliasWithSaveLayer, + color: FlutterFlowTheme.of( + context) + .secondaryBackground, + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular( + 8.0), + ), + child: Container( + width: 350.0, + height: 128.0, + decoration: BoxDecoration( + color: FlutterFlowTheme + .of(context) + .secondaryBackground, + ), + child: Column( + mainAxisSize: + MainAxisSize.max, + crossAxisAlignment: + CrossAxisAlignment + .start, + children: [ + Row( + mainAxisSize: + MainAxisSize.max, + children: [ + Padding( + padding: + const EdgeInsets + .all( + 10.0), + child: ClipRRect( + borderRadius: + BorderRadius + .circular( + 100.0), + child: Image + .network( + valueOrDefault< + String>( + 'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField( + visitorsAccessItem, + r'''$.VTE_DOCUMENTO''', + ).toString()}&tipo=E', + 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg', + ), + width: 60.0, + height: 60.0, + fit: BoxFit + .cover, + ), + ), + ), + Column( + mainAxisSize: + MainAxisSize + .max, + crossAxisAlignment: + CrossAxisAlignment + .start, + children: [ + Text( + getJsonField( + visitorsAccessItem, + r'''$.PES_NOME''', + ).toString(), + style: FlutterFlowTheme.of( + context) + .bodyMedium + .override( + fontFamily: + FlutterFlowTheme.of(context).bodyMediumFamily, + letterSpacing: + 0.0, + useGoogleFonts: + GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Container( + width: 100.0, + height: 25.0, + decoration: + BoxDecoration( + color: FlutterFlowTheme.of( + context) + .warning, + borderRadius: + BorderRadius.circular( + 24.0), + ), + child: Align( + alignment: + const AlignmentDirectional( + 0.0, + 0.0), + child: Text( + getJsonField( + visitorsAccessItem, + r'''$.PES_TIPO''', + ).toString(), + style: FlutterFlowTheme.of( + context) + .bodyMedium + .override( + fontFamily: + FlutterFlowTheme.of(context).bodyMediumFamily, + color: + FlutterFlowTheme.of(context).info, + letterSpacing: + 0.0, + useGoogleFonts: + GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ), + ), + ], + ), + ] + .divide(const SizedBox( + width: 20.0)) + .addToStart( + const SizedBox( + width: + 5.0)) + .addToEnd( + const SizedBox( + width: + 5.0)), + ), + Row( + mainAxisSize: + MainAxisSize.max, + children: [ + Expanded( + child: Column( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .center, + children: [ + Row( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .start, + children: [ + Text( + FFLocalizations.of(context) + .getText( + '26dznyam' /* Entrou: */, + ), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + fontWeight: FontWeight.bold, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Text( + getJsonField( + visitorsAccessItem, + r'''$.ACE_DATAHORA''', + ).toString(), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ].addToStart( + const SizedBox( + width: + 10.0)), + ), + Row( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .start, + children: [ + Text( + FFLocalizations.of(context) + .getText( + 'f2vfwn36' /* Setor */, + ), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + fontWeight: FontWeight.bold, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Text( + getJsonField( + visitorsAccessItem, + r'''$.ACI_DESCRICAO''', + ).toString(), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ].addToStart( + const SizedBox( + width: + 10.0)), + ), + ].divide(const SizedBox( + height: + 3.0)), + ), + ), + ] + .addToStart( + const SizedBox( + width: + 5.0)) + .addToEnd( + const SizedBox( + width: + 5.0)), + ), + ], + ), + ), + ), + ); + }), + ); + }, + ); + }, + ), + ], + ), ), ), ), @@ -498,8 +498,28 @@ class _AcessHistoryPageWidgetState extends State FlutterFlowTheme.of(context).primaryText, size: 24.0, ), - onPressed: () { - print('IconButton pressed ...'); + onPressed: () async { + await showModalBottomSheet( + isScrollControlled: true, + backgroundColor: Colors.transparent, + enableDrag: false, + context: context, + builder: (context) { + return GestureDetector( + onTap: () => _model + .unfocusNode.canRequestFocus + ? FocusScope.of(context) + .requestFocus( + _model.unfocusNode) + : FocusScope.of(context).unfocus(), + child: Padding( + padding: + MediaQuery.viewInsetsOf(context), + child: const OptModalWidget(), + ), + ); + }, + ).then((value) => safeSetState(() {})); }, ), ] @@ -512,338 +532,337 @@ class _AcessHistoryPageWidgetState extends State width: double.infinity, height: double.infinity, decoration: const BoxDecoration(), - child: FutureBuilder( - future: _model.accessHistory( - requestFn: () => PhpGroup.getAccessCall.call( - devUUID: FFAppState().devUUID, - userUUID: FFAppState().userUUID, - cliID: FFAppState().cliUUID, - atividade: 'getAcessos', - pageSize: '100', - pageNumber: '1', - pesTipo: 'T', - ), - ), - builder: (context, snapshot) { - // Customize what your widget looks like when it's loading. - if (!snapshot.hasData) { - return Center( - child: SizedBox( - width: 50.0, - height: 50.0, - child: SpinKitCircle( - color: FlutterFlowTheme.of(context) - .primary, - size: 50.0, + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.max, + children: [ + FutureBuilder( + future: _model.accessHistory( + requestFn: () => + PhpGroup.getAccessCall.call( + devUUID: FFAppState().devUUID, + userUUID: FFAppState().userUUID, + cliID: FFAppState().cliUUID, + atividade: 'getAcessos', + pageSize: '100', + pageNumber: '1', + pesTipo: 'T', ), ), - ); - } - final wrapGetAccessResponse = snapshot.data!; - return Builder( - builder: (context) { - final accessHistory = PhpGroup.getAccessCall - .access( - wrapGetAccessResponse.jsonBody, - ) - ?.toList() ?? - []; - return Wrap( - spacing: 2.0, - runSpacing: 1.0, - alignment: WrapAlignment.start, - crossAxisAlignment: - WrapCrossAlignment.start, - direction: Axis.horizontal, - runAlignment: WrapAlignment.start, - verticalDirection: VerticalDirection.down, - clipBehavior: Clip.none, - children: - List.generate(accessHistory.length, - (accessHistoryIndex) { - final accessHistoryItem = - accessHistory[accessHistoryIndex]; - return Align( - alignment: - const AlignmentDirectional(0.0, 0.0), - child: Card( - clipBehavior: - Clip.antiAliasWithSaveLayer, - color: FlutterFlowTheme.of(context) - .secondaryBackground, - shape: RoundedRectangleBorder( - borderRadius: - BorderRadius.circular(8.0), - ), - child: Container( - width: 350.0, - height: 128.0, - decoration: BoxDecoration( - color: - FlutterFlowTheme.of(context) - .secondaryBackground, - ), - child: Column( - mainAxisSize: MainAxisSize.max, - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Row( - mainAxisSize: - MainAxisSize.max, - children: [ - Padding( - padding: const EdgeInsets.all( - 10.0), - child: ClipRRect( - borderRadius: - BorderRadius - .circular( - 100.0), - child: Image.network( - valueOrDefault< - String>( - 'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField( - accessHistoryItem, - r'''$.VTE_DOCUMENTO''', - ).toString()}&tipo=E', - 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg', - ), - width: 60.0, - height: 60.0, - fit: BoxFit.cover, - ), - ), - ), - Column( - mainAxisSize: - MainAxisSize.max, - crossAxisAlignment: - CrossAxisAlignment - .start, - children: [ - Text( - getJsonField( - accessHistoryItem, - r'''$.PES_NOME''', - ).toString(), - style: FlutterFlowTheme - .of(context) - .bodyMedium - .override( - fontFamily: FlutterFlowTheme.of( - context) - .bodyMediumFamily, - letterSpacing: - 0.0, - useGoogleFonts: GoogleFonts - .asMap() - .containsKey( - FlutterFlowTheme.of(context) - .bodyMediumFamily), - ), - ), - Container( - width: 100.0, - height: 25.0, - decoration: - BoxDecoration( - color: functions.jsonToStr( - getJsonField( - accessHistoryItem, - r'''$.PES_TIPO''', - )) == - 'E' - ? FlutterFlowTheme.of( - context) - .primary - : FlutterFlowTheme.of( - context) - .warning, - borderRadius: - BorderRadius - .circular( - 24.0), - ), - child: Align( - alignment: - const AlignmentDirectional( - 0.0, 0.0), - child: Text( - getJsonField( - accessHistoryItem, - r'''$.PES_TIPO''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context) - .bodyMediumFamily, - color: FlutterFlowTheme.of( - context) - .info, - letterSpacing: - 0.0, - useGoogleFonts: GoogleFonts - .asMap() - .containsKey( - FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ), - ), - ], - ), - ] - .divide(const SizedBox( - width: 20.0)) - .addToStart(const SizedBox( - width: 5.0)) - .addToEnd(const SizedBox( - width: 5.0)), - ), - Row( - mainAxisSize: - MainAxisSize.max, - children: [ - Expanded( - child: Column( - mainAxisSize: - MainAxisSize.max, - mainAxisAlignment: - MainAxisAlignment - .center, - children: [ - Row( - mainAxisSize: - MainAxisSize - .max, - mainAxisAlignment: - MainAxisAlignment - .start, - children: [ - Text( - FFLocalizations.of( - context) - .getText( - 'kf5m85d2' /* Entrou: */, - ), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - fontWeight: - FontWeight.bold, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - Text( - getJsonField( - accessHistoryItem, - r'''$.ACE_DATAHORA''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ].addToStart( - const SizedBox( - width: - 10.0)), - ), - Row( - mainAxisSize: - MainAxisSize - .max, - mainAxisAlignment: - MainAxisAlignment - .start, - children: [ - Text( - FFLocalizations.of( - context) - .getText( - 'dxvbfe8h' /* Setor */, - ), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - fontWeight: - FontWeight.bold, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - Text( - getJsonField( - accessHistoryItem, - r'''$.ACI_DESCRICAO''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ].addToStart( - const SizedBox( - width: - 10.0)), - ), - ].divide(const SizedBox( - height: 3.0)), - ), - ), - ] - .addToStart(const SizedBox( - width: 5.0)) - .addToEnd(const SizedBox( - width: 5.0)), - ), - ], - ), + builder: (context, snapshot) { + // Customize what your widget looks like when it's loading. + if (!snapshot.hasData) { + return Center( + child: SizedBox( + width: 50.0, + height: 50.0, + child: SpinKitCircle( + color: + FlutterFlowTheme.of(context) + .primary, + size: 50.0, ), ), ); - }), - ); - }, - ); - }, + } + final wrapGetAccessResponse = + snapshot.data!; + return Builder( + builder: (context) { + final accessHistory = + PhpGroup.getAccessCall + .access( + wrapGetAccessResponse + .jsonBody, + ) + ?.toList() ?? + []; + return Wrap( + spacing: 2.0, + runSpacing: 1.0, + alignment: WrapAlignment.start, + crossAxisAlignment: + WrapCrossAlignment.start, + direction: Axis.horizontal, + runAlignment: WrapAlignment.start, + verticalDirection: + VerticalDirection.down, + clipBehavior: Clip.none, + children: List.generate( + accessHistory.length, + (accessHistoryIndex) { + final accessHistoryItem = + accessHistory[ + accessHistoryIndex]; + return Align( + alignment: const AlignmentDirectional( + 0.0, 0.0), + child: Card( + clipBehavior: Clip + .antiAliasWithSaveLayer, + color: FlutterFlowTheme.of( + context) + .secondaryBackground, + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular( + 8.0), + ), + child: Container( + width: 350.0, + height: 128.0, + decoration: BoxDecoration( + color: FlutterFlowTheme + .of(context) + .secondaryBackground, + ), + child: Column( + mainAxisSize: + MainAxisSize.max, + crossAxisAlignment: + CrossAxisAlignment + .start, + children: [ + Row( + mainAxisSize: + MainAxisSize.max, + children: [ + Padding( + padding: + const EdgeInsets + .all( + 10.0), + child: ClipRRect( + borderRadius: + BorderRadius + .circular( + 100.0), + child: Image + .network( + valueOrDefault< + String>( + 'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField( + accessHistoryItem, + r'''$.VTE_DOCUMENTO''', + ).toString()}&tipo=E', + 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg', + ), + width: 60.0, + height: 60.0, + fit: BoxFit + .cover, + ), + ), + ), + Column( + mainAxisSize: + MainAxisSize + .max, + crossAxisAlignment: + CrossAxisAlignment + .start, + children: [ + Text( + getJsonField( + accessHistoryItem, + r'''$.PES_NOME''', + ).toString(), + style: FlutterFlowTheme.of( + context) + .bodyMedium + .override( + fontFamily: + FlutterFlowTheme.of(context).bodyMediumFamily, + letterSpacing: + 0.0, + useGoogleFonts: + GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Container( + width: 100.0, + height: 25.0, + decoration: + BoxDecoration( + color: functions.jsonToStr( + getJsonField( + accessHistoryItem, + r'''$.PES_TIPO''', + )) == + 'E' + ? FlutterFlowTheme.of(context) + .primary + : FlutterFlowTheme.of(context) + .warning, + borderRadius: + BorderRadius.circular( + 24.0), + ), + child: Align( + alignment: + const AlignmentDirectional( + 0.0, + 0.0), + child: Text( + getJsonField( + accessHistoryItem, + r'''$.PES_TIPO''', + ).toString(), + style: FlutterFlowTheme.of( + context) + .bodyMedium + .override( + fontFamily: + FlutterFlowTheme.of(context).bodyMediumFamily, + color: + FlutterFlowTheme.of(context).info, + letterSpacing: + 0.0, + useGoogleFonts: + GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ), + ), + ], + ), + ] + .divide(const SizedBox( + width: 20.0)) + .addToStart( + const SizedBox( + width: + 5.0)) + .addToEnd( + const SizedBox( + width: + 5.0)), + ), + Row( + mainAxisSize: + MainAxisSize.max, + children: [ + Expanded( + child: Column( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .center, + children: [ + Row( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .start, + children: [ + Text( + FFLocalizations.of(context) + .getText( + 'kf5m85d2' /* Entrou: */, + ), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + fontWeight: FontWeight.bold, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Text( + getJsonField( + accessHistoryItem, + r'''$.ACE_DATAHORA''', + ).toString(), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ].addToStart( + const SizedBox( + width: + 10.0)), + ), + Row( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .start, + children: [ + Text( + FFLocalizations.of(context) + .getText( + 'dxvbfe8h' /* Setor */, + ), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + fontWeight: FontWeight.bold, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Text( + getJsonField( + accessHistoryItem, + r'''$.ACI_DESCRICAO''', + ).toString(), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ].addToStart( + const SizedBox( + width: + 10.0)), + ), + ].divide(const SizedBox( + height: + 3.0)), + ), + ), + ] + .addToStart( + const SizedBox( + width: + 5.0)) + .addToEnd( + const SizedBox( + width: + 5.0)), + ), + ], + ), + ), + ), + ); + }), + ); + }, + ); + }, + ), + ], + ), ), ), ), @@ -858,332 +877,330 @@ class _AcessHistoryPageWidgetState extends State width: double.infinity, height: double.infinity, decoration: const BoxDecoration(), - child: FutureBuilder( - future: _model.residentsAcessHistory( - requestFn: () => PhpGroup.getAccessCall.call( - devUUID: FFAppState().devUUID, - userUUID: FFAppState().userUUID, - cliID: FFAppState().cliUUID, - atividade: 'getAcessos', - pageSize: '100', - pageNumber: '1', - pesTipo: 'O', - ), - ), - builder: (context, snapshot) { - // Customize what your widget looks like when it's loading. - if (!snapshot.hasData) { - return Center( - child: SizedBox( - width: 50.0, - height: 50.0, - child: SpinKitCircle( - color: FlutterFlowTheme.of(context) - .primary, - size: 50.0, + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.max, + children: [ + FutureBuilder( + future: _model.residentsAcessHistory( + requestFn: () => + PhpGroup.getAccessCall.call( + devUUID: FFAppState().devUUID, + userUUID: FFAppState().userUUID, + cliID: FFAppState().cliUUID, + atividade: 'getAcessos', + pageSize: '100', + pageNumber: '1', + pesTipo: 'O', ), ), - ); - } - final wrapGetAccessResponse = snapshot.data!; - return Builder( - builder: (context) { - final residentsAccess = - PhpGroup.getAccessCall - .access( - wrapGetAccessResponse - .jsonBody, - ) - ?.toList() ?? - []; - return Wrap( - spacing: 2.0, - runSpacing: 1.0, - alignment: WrapAlignment.start, - crossAxisAlignment: - WrapCrossAlignment.start, - direction: Axis.horizontal, - runAlignment: WrapAlignment.start, - verticalDirection: VerticalDirection.down, - clipBehavior: Clip.none, - children: - List.generate(residentsAccess.length, - (residentsAccessIndex) { - final residentsAccessItem = - residentsAccess[ - residentsAccessIndex]; - return Align( - alignment: - const AlignmentDirectional(0.0, 0.0), - child: Card( - clipBehavior: - Clip.antiAliasWithSaveLayer, - color: FlutterFlowTheme.of(context) - .secondaryBackground, - shape: RoundedRectangleBorder( - borderRadius: - BorderRadius.circular(8.0), - ), - child: Container( - width: 350.0, - height: 128.0, - decoration: BoxDecoration( - color: - FlutterFlowTheme.of(context) - .secondaryBackground, - ), - child: Column( - mainAxisSize: MainAxisSize.max, - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - Row( - mainAxisSize: - MainAxisSize.max, - children: [ - Padding( - padding: const EdgeInsets.all( - 10.0), - child: ClipRRect( - borderRadius: - BorderRadius - .circular( - 100.0), - child: Image.network( - valueOrDefault< - String>( - 'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField( - residentsAccessItem, - r'''$.VTE_DOCUMENTO''', - ).toString()}&tipo=E', - 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg', - ), - width: 60.0, - height: 60.0, - fit: BoxFit.cover, - ), - ), - ), - Column( - mainAxisSize: - MainAxisSize.max, - crossAxisAlignment: - CrossAxisAlignment - .start, - children: [ - Text( - getJsonField( - residentsAccessItem, - r'''$.PES_NOME''', - ).toString(), - style: FlutterFlowTheme - .of(context) - .bodyMedium - .override( - fontFamily: FlutterFlowTheme.of( - context) - .bodyMediumFamily, - letterSpacing: - 0.0, - useGoogleFonts: GoogleFonts - .asMap() - .containsKey( - FlutterFlowTheme.of(context) - .bodyMediumFamily), - ), - ), - Container( - width: 100.0, - height: 25.0, - decoration: - BoxDecoration( - color: FlutterFlowTheme - .of(context) - .primary, - borderRadius: - BorderRadius - .circular( - 24.0), - ), - child: Align( - alignment: - const AlignmentDirectional( - 0.0, 0.0), - child: Text( - getJsonField( - residentsAccessItem, - r'''$.PES_TIPO''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context) - .bodyMediumFamily, - color: FlutterFlowTheme.of( - context) - .info, - letterSpacing: - 0.0, - useGoogleFonts: GoogleFonts - .asMap() - .containsKey( - FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ), - ), - ], - ), - ] - .divide(const SizedBox( - width: 20.0)) - .addToStart(const SizedBox( - width: 5.0)) - .addToEnd(const SizedBox( - width: 5.0)), - ), - Row( - mainAxisSize: - MainAxisSize.max, - children: [ - Expanded( - child: Column( - mainAxisSize: - MainAxisSize.max, - mainAxisAlignment: - MainAxisAlignment - .center, - children: [ - Row( - mainAxisSize: - MainAxisSize - .max, - mainAxisAlignment: - MainAxisAlignment - .start, - children: [ - Text( - FFLocalizations.of( - context) - .getText( - '5thshl66' /* Entrou: */, - ), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - fontWeight: - FontWeight.bold, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - Text( - getJsonField( - residentsAccessItem, - r'''$.ACE_DATAHORA''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ].addToStart( - const SizedBox( - width: - 10.0)), - ), - Row( - mainAxisSize: - MainAxisSize - .max, - mainAxisAlignment: - MainAxisAlignment - .start, - children: [ - Text( - FFLocalizations.of( - context) - .getText( - 'd13i2fmk' /* Setor */, - ), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - fontWeight: - FontWeight.bold, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - Text( - getJsonField( - residentsAccessItem, - r'''$.ACI_DESCRICAO''', - ).toString(), - style: FlutterFlowTheme.of( - context) - .bodyMedium - .override( - fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: - 12.5, - letterSpacing: - 0.0, - useGoogleFonts: - GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), - ), - ), - ].addToStart( - const SizedBox( - width: - 10.0)), - ), - ].divide(const SizedBox( - height: 3.0)), - ), - ), - ] - .addToStart(const SizedBox( - width: 5.0)) - .addToEnd(const SizedBox( - width: 5.0)), - ), - ], - ), + builder: (context, snapshot) { + // Customize what your widget looks like when it's loading. + if (!snapshot.hasData) { + return Center( + child: SizedBox( + width: 50.0, + height: 50.0, + child: SpinKitCircle( + color: + FlutterFlowTheme.of(context) + .primary, + size: 50.0, ), ), ); - }), - ); - }, - ); - }, + } + final wrapGetAccessResponse = + snapshot.data!; + return Builder( + builder: (context) { + final residentsAccess = + PhpGroup.getAccessCall + .access( + wrapGetAccessResponse + .jsonBody, + ) + ?.toList() ?? + []; + return Wrap( + spacing: 2.0, + runSpacing: 1.0, + alignment: WrapAlignment.start, + crossAxisAlignment: + WrapCrossAlignment.start, + direction: Axis.horizontal, + runAlignment: WrapAlignment.start, + verticalDirection: + VerticalDirection.down, + clipBehavior: Clip.none, + children: List.generate( + residentsAccess.length, + (residentsAccessIndex) { + final residentsAccessItem = + residentsAccess[ + residentsAccessIndex]; + return Align( + alignment: const AlignmentDirectional( + 0.0, 0.0), + child: Card( + clipBehavior: Clip + .antiAliasWithSaveLayer, + color: FlutterFlowTheme.of( + context) + .secondaryBackground, + shape: RoundedRectangleBorder( + borderRadius: + BorderRadius.circular( + 8.0), + ), + child: Container( + width: 350.0, + height: 128.0, + decoration: BoxDecoration( + color: FlutterFlowTheme + .of(context) + .secondaryBackground, + ), + child: Column( + mainAxisSize: + MainAxisSize.max, + crossAxisAlignment: + CrossAxisAlignment + .start, + children: [ + Row( + mainAxisSize: + MainAxisSize.max, + children: [ + Padding( + padding: + const EdgeInsets + .all( + 10.0), + child: ClipRRect( + borderRadius: + BorderRadius + .circular( + 100.0), + child: Image + .network( + valueOrDefault< + String>( + 'https://freaccess.com.br/freaccess/getImage.php?devUUID=${FFAppState().devUUID}&userUUID=${FFAppState().userUUID}&cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${getJsonField( + residentsAccessItem, + r'''$.VTE_DOCUMENTO''', + ).toString()}&tipo=E', + 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/7ftdetkzc3s0/360_F_64676383_LdbmhiNM6Ypzb3FM4PPuFP9rHe7ri8Ju.jpg', + ), + width: 60.0, + height: 60.0, + fit: BoxFit + .cover, + ), + ), + ), + Column( + mainAxisSize: + MainAxisSize + .max, + crossAxisAlignment: + CrossAxisAlignment + .start, + children: [ + Text( + getJsonField( + residentsAccessItem, + r'''$.PES_NOME''', + ).toString(), + style: FlutterFlowTheme.of( + context) + .bodyMedium + .override( + fontFamily: + FlutterFlowTheme.of(context).bodyMediumFamily, + letterSpacing: + 0.0, + useGoogleFonts: + GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Container( + width: 100.0, + height: 25.0, + decoration: + BoxDecoration( + color: FlutterFlowTheme.of( + context) + .primary, + borderRadius: + BorderRadius.circular( + 24.0), + ), + child: Align( + alignment: + const AlignmentDirectional( + 0.0, + 0.0), + child: Text( + getJsonField( + residentsAccessItem, + r'''$.PES_TIPO''', + ).toString(), + style: FlutterFlowTheme.of( + context) + .bodyMedium + .override( + fontFamily: + FlutterFlowTheme.of(context).bodyMediumFamily, + color: + FlutterFlowTheme.of(context).info, + letterSpacing: + 0.0, + useGoogleFonts: + GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ), + ), + ], + ), + ] + .divide(const SizedBox( + width: 20.0)) + .addToStart( + const SizedBox( + width: + 5.0)) + .addToEnd( + const SizedBox( + width: + 5.0)), + ), + Row( + mainAxisSize: + MainAxisSize.max, + children: [ + Expanded( + child: Column( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .center, + children: [ + Row( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .start, + children: [ + Text( + FFLocalizations.of(context) + .getText( + '5thshl66' /* Entrou: */, + ), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + fontWeight: FontWeight.bold, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Text( + getJsonField( + residentsAccessItem, + r'''$.ACE_DATAHORA''', + ).toString(), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ].addToStart( + const SizedBox( + width: + 10.0)), + ), + Row( + mainAxisSize: + MainAxisSize + .max, + mainAxisAlignment: + MainAxisAlignment + .start, + children: [ + Text( + FFLocalizations.of(context) + .getText( + 'd13i2fmk' /* Setor */, + ), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + fontWeight: FontWeight.bold, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + Text( + getJsonField( + residentsAccessItem, + r'''$.ACI_DESCRICAO''', + ).toString(), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context).bodyMediumFamily, + fontSize: 12.5, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey(FlutterFlowTheme.of(context).bodyMediumFamily), + ), + ), + ].addToStart( + const SizedBox( + width: + 10.0)), + ), + ].divide(const SizedBox( + height: + 3.0)), + ), + ), + ] + .addToStart( + const SizedBox( + width: + 5.0)) + .addToEnd( + const SizedBox( + width: + 5.0)), + ), + ], + ), + ), + ), + ); + }), + ); + }, + ); + }, + ), + ], + ), ), ), ), diff --git a/pubspec.yaml b/pubspec.yaml index 9cd89217..ce5e2ffe 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -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