From 7026c0b08e620210e777a01a46096040d2fe19a7 Mon Sep 17 00:00:00 2001 From: jantunesmesias Date: Thu, 25 Jul 2024 11:33:28 -0300 Subject: [PATCH] chore: Update tab controller length in message widget --- assets/images/welcome.svg | 30 +++ lib/app_state.dart | 2 +- lib/modals/forms/change_password/model.dart | 5 +- lib/modals/forms/change_password/widget.dart | 212 +++++++++---------- lib/modals/forms/qr_code/model.dart | 5 +- lib/modals/forms/qr_code/widget.dart | 3 +- lib/pages/consults/message/widget.dart | 40 +++- lib/pages/consults/qrcode/widget.dart | 11 +- lib/pages/onboarding/welcome/component.dart | 4 +- pubspec.yaml | 1 + 10 files changed, 185 insertions(+), 128 deletions(-) create mode 100644 assets/images/welcome.svg diff --git a/assets/images/welcome.svg b/assets/images/welcome.svg new file mode 100644 index 00000000..8983fac0 --- /dev/null +++ b/assets/images/welcome.svg @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/lib/app_state.dart b/lib/app_state.dart index a0918b1c..c16883dc 100644 --- a/lib/app_state.dart +++ b/lib/app_state.dart @@ -1,4 +1,4 @@ -import 'dart:ffi'; +// import 'dart:ffi'; import 'commons/widgets/permissions_util.dart'; import 'package:flutter/material.dart'; diff --git a/lib/modals/forms/change_password/model.dart b/lib/modals/forms/change_password/model.dart index b2927743..a6144794 100644 --- a/lib/modals/forms/change_password/model.dart +++ b/lib/modals/forms/change_password/model.dart @@ -20,8 +20,9 @@ class PassKeyTemplateComponentModel String? _keyTextFieldTextControllerValidator( BuildContext context, String? val) { if (val == null || val.isEmpty) { - return FFLocalizations.of(context).getText( - 'f128ajey' /* Field is required */, + return FFLocalizations.of(context).getVariableText( + enText: 'This field is required', + ptText: 'Este campo é obrigatório', ); } return null; diff --git a/lib/modals/forms/change_password/widget.dart b/lib/modals/forms/change_password/widget.dart index a53a1545..11c2dfa5 100644 --- a/lib/modals/forms/change_password/widget.dart +++ b/lib/modals/forms/change_password/widget.dart @@ -166,101 +166,43 @@ class _PassKeyTemplateWidgetState child: SizedBox( width: double.infinity, child: TextFormField( - controller: _model.keyTextFieldTextController1, - focusNode: _model.keyTextFieldFocusNode1, - onChanged: (_) => EasyDebounce.debounce( - '_model.keyTextFieldTextController', - const Duration(milliseconds: 2000), - () { - if (mounted) setState(() {}); - }, - ), - autofillHints: const [AutofillHints.password], - textCapitalization: TextCapitalization.none, - textInputAction: TextInputAction.done, - obscureText: !_model.keyTextFieldVisibility1, - decoration: InputDecoration( - isDense: true, - labelText: FFLocalizations.of(context).getVariableText( - ptText: 'Senha', - enText: 'Password', + controller: _model.keyTextFieldTextController1, + focusNode: _model.keyTextFieldFocusNode1, + onChanged: (_) => EasyDebounce.debounce( + '_model.keyTextFieldTextController', + const Duration(milliseconds: 2000), + () { + if (mounted) setState(() {}); + }, ), - labelStyle: FlutterFlowTheme.of(context) - .labelMedium - .override( - fontFamily: 'Plus Jakarta Sans', - color: FlutterFlowTheme.of(context).primary, - fontSize: 14.0, - letterSpacing: 0.0, - fontWeight: FontWeight.w500, - useGoogleFonts: GoogleFonts.asMap() - .containsKey('Plus Jakarta Sans'), - ), - hintText: FFLocalizations.of(context).getVariableText( - ptText: 'Digite a sua senha.....', - enText: 'Enter your password.....', - ), - hintStyle: FlutterFlowTheme.of(context) - .labelMedium - .override( - fontFamily: 'Plus Jakarta Sans', - color: FlutterFlowTheme.of(context).primaryText, - fontSize: 14.0, - letterSpacing: 0.0, - fontWeight: FontWeight.w500, - useGoogleFonts: GoogleFonts.asMap() - .containsKey('Plus Jakarta Sans'), - ), - enabledBorder: OutlineInputBorder( - borderSide: BorderSide( - color: FlutterFlowTheme.of(context).accent1, - width: 2.0, - ), - borderRadius: BorderRadius.circular(12.0), - ), - focusedBorder: OutlineInputBorder( - borderSide: BorderSide( - color: FlutterFlowTheme.of(context).accent3, - width: 2.0, - ), - borderRadius: BorderRadius.circular(12.0), - ), - errorBorder: OutlineInputBorder( - borderSide: BorderSide( - color: FlutterFlowTheme.of(context).error, - width: 2.0, - ), - borderRadius: BorderRadius.circular(12.0), - ), - focusedErrorBorder: OutlineInputBorder( - borderSide: BorderSide( - color: FlutterFlowTheme.of(context).error, - width: 2.0, - ), - borderRadius: BorderRadius.circular(12.0), - ), - filled: true, - fillColor: - FlutterFlowTheme.of(context).primaryBackground, - contentPadding: - const EdgeInsetsDirectional.fromSTEB( - 24.0, 24.0, 20.0, 24.0), - suffixIcon: InkWell( - onTap: () => setState( - () => _model.keyTextFieldVisibility1 = - !_model.keyTextFieldVisibility1, - ), - focusNode: FocusNode(skipTraversal: true), - child: Icon( - _model.keyTextFieldVisibility1 - ? Icons.visibility_outlined - : Icons.visibility_off_outlined, - color: FlutterFlowTheme.of(context).accent1, - size: 22.0, - ), - ), - ), - style: FlutterFlowTheme.of(context).bodyMedium.override( + autofillHints: const [AutofillHints.password], + textCapitalization: TextCapitalization.none, + textInputAction: TextInputAction.done, + obscureText: !_model.keyTextFieldVisibility1, + decoration: InputDecoration( + isDense: true, + labelText: FFLocalizations.of(context).getVariableText( + ptText: 'Senha', + enText: 'Password', + ), + labelStyle: FlutterFlowTheme.of(context) + .labelMedium + .override( + fontFamily: 'Plus Jakarta Sans', + color: FlutterFlowTheme.of(context).primary, + fontSize: 14.0, + letterSpacing: 0.0, + fontWeight: FontWeight.w500, + useGoogleFonts: GoogleFonts.asMap() + .containsKey('Plus Jakarta Sans'), + ), + hintText: FFLocalizations.of(context).getVariableText( + ptText: 'Digite a sua senha.....', + enText: 'Enter your password.....', + ), + hintStyle: FlutterFlowTheme.of(context) + .labelMedium + .override( fontFamily: 'Plus Jakarta Sans', color: FlutterFlowTheme.of(context).primaryText, fontSize: 14.0, @@ -268,19 +210,77 @@ class _PassKeyTemplateWidgetState fontWeight: FontWeight.w500, useGoogleFonts: GoogleFonts.asMap() .containsKey('Plus Jakarta Sans'), + ), + enabledBorder: OutlineInputBorder( + borderSide: BorderSide( + color: FlutterFlowTheme.of(context).accent1, + width: 2.0, + ), + borderRadius: BorderRadius.circular(12.0), + ), + focusedBorder: OutlineInputBorder( + borderSide: BorderSide( + color: FlutterFlowTheme.of(context).accent3, + width: 2.0, + ), + borderRadius: BorderRadius.circular(12.0), + ), + errorBorder: OutlineInputBorder( + borderSide: BorderSide( + color: FlutterFlowTheme.of(context).error, + width: 2.0, + ), + borderRadius: BorderRadius.circular(12.0), + ), + focusedErrorBorder: OutlineInputBorder( + borderSide: BorderSide( + color: FlutterFlowTheme.of(context).error, + width: 2.0, + ), + borderRadius: BorderRadius.circular(12.0), + ), + filled: true, + fillColor: + FlutterFlowTheme.of(context).primaryBackground, + contentPadding: + const EdgeInsetsDirectional.fromSTEB( + 24.0, 24.0, 20.0, 24.0), + suffixIcon: InkWell( + onTap: () => setState( + () => _model.keyTextFieldVisibility1 = + !_model.keyTextFieldVisibility1, + ), + focusNode: FocusNode(skipTraversal: true), + child: Icon( + _model.keyTextFieldVisibility1 + ? Icons.visibility_outlined + : Icons.visibility_off_outlined, + color: FlutterFlowTheme.of(context).accent1, + size: 22.0, + ), + ), ), - maxLength: 4, - maxLengthEnforcement: MaxLengthEnforcement.enforced, - buildCounter: (context, - {required currentLength, - required isFocused, - maxLength}) => - null, - keyboardType: TextInputType.number, - cursorColor: FlutterFlowTheme.of(context).primary, - validator: _model.keyTextFieldTextControllerValidator1 - .asValidator(context), - inputFormatters: [ + style: FlutterFlowTheme.of(context).bodyMedium.override( + fontFamily: 'Plus Jakarta Sans', + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 14.0, + letterSpacing: 0.0, + fontWeight: FontWeight.w500, + useGoogleFonts: GoogleFonts.asMap() + .containsKey('Plus Jakarta Sans'), + ), + maxLength: 4, + maxLengthEnforcement: MaxLengthEnforcement.enforced, + buildCounter: (context, + {required currentLength, + required isFocused, + maxLength}) => + null, + keyboardType: TextInputType.number, + cursorColor: FlutterFlowTheme.of(context).primary, + validator: _model.keyTextFieldTextControllerValidator1 + .asValidator(context), + inputFormatters: [ FilteringTextInputFormatter.allow(RegExp('[0-9]')), ], ), diff --git a/lib/modals/forms/qr_code/model.dart b/lib/modals/forms/qr_code/model.dart index 1c41f39a..1c9aa433 100644 --- a/lib/modals/forms/qr_code/model.dart +++ b/lib/modals/forms/qr_code/model.dart @@ -16,8 +16,9 @@ class QrCodePassKeyTemplateComponentModel String? _keyTextFieldTextControllerValidator( BuildContext context, String? val) { if (val == null || val.isEmpty) { - return FFLocalizations.of(context).getText( - 'f128ajey' /* Field is required */, + return FFLocalizations.of(context).getVariableText( + enText: 'This field is required', + ptText: 'Este campo é obrigatório', ); } diff --git a/lib/modals/forms/qr_code/widget.dart b/lib/modals/forms/qr_code/widget.dart index 0bf75907..6ffff798 100644 --- a/lib/modals/forms/qr_code/widget.dart +++ b/lib/modals/forms/qr_code/widget.dart @@ -163,7 +163,6 @@ class _QrCodePassKeyTemplateComponentWidgetState width: double.infinity, child: TextFormField( controller: _model.keyTextFieldTextController, - focusNode: _model.keyTextFieldFocusNode, onChanged: (_) => EasyDebounce.debounce( '_model.keyTextFieldTextController', @@ -259,7 +258,7 @@ class _QrCodePassKeyTemplateComponentWidgetState .containsKey('Plus Jakarta Sans'), ), maxLength: 4, - maxLengthEnforcement: MaxLengthEnforcement.none, + maxLengthEnforcement: MaxLengthEnforcement.enforced, buildCounter: (context, {required currentLength, required isFocused, diff --git a/lib/pages/consults/message/widget.dart b/lib/pages/consults/message/widget.dart index 969fdd5f..fe7b90a8 100644 --- a/lib/pages/consults/message/widget.dart +++ b/lib/pages/consults/message/widget.dart @@ -257,18 +257,38 @@ Widget messageHistoryItem( mainAxisAlignment: MainAxisAlignment.center, children: [ Row( - mainAxisAlignment: MainAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisSize: MainAxisSize.max, children: [ Padding( - padding: const EdgeInsets.symmetric(horizontal: 15.0), - child: Text(jsonBody['MSG_ORIGEM_DESC'].toString(), style: TextStyle( - fontWeight: FontWeight.bold, - fontSize: 16, - color: FlutterFlowTheme.of(context).primary, - ),), + padding: const EdgeInsets.only(left: 15.0), + child: Text( + jsonBody['MSG_DATE'].toString(), + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16, + color: FlutterFlowTheme.of(context).primary, + ), + ), ), - Icon(jsonBody['MSG_DESTINO_TP'] == 'T'? Icons.group : Icons.person), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 15.0), + child: Container( + width: 100, // Adjust the width as needed + child: Text( + jsonBody['MSG_ORIGEM_DESC'].toString(), + style: TextStyle( + fontWeight: FontWeight.bold, + fontSize: 16, + color: FlutterFlowTheme.of(context).primary, + ), + overflow: TextOverflow.ellipsis, + ), + ), + ), + Icon(jsonBody['MSG_DESTINO_TP'] == 'T' + ? Icons.group + : Icons.person, color: FlutterFlowTheme.of(context).accent1,), ], ), Text(jsonBody['MSG_TEXTO'].toString()), @@ -277,5 +297,7 @@ Widget messageHistoryItem( ), ), ), - ); + ); + + } diff --git a/lib/pages/consults/qrcode/widget.dart b/lib/pages/consults/qrcode/widget.dart index 07a790be..72fe46a0 100644 --- a/lib/pages/consults/qrcode/widget.dart +++ b/lib/pages/consults/qrcode/widget.dart @@ -151,9 +151,12 @@ void dispose() { alignment: const AlignmentDirectional(0.0, 0.0), child: InkWell( onTap: () { - safeSetState(() { - - }); + + safeSetState(() async { + _resetAnimationAndToggleAccess(); + FFAppState().fingerprint ? await _showBiometricsAuth(context) : await _showQrCodeBottomSheet(context); + }); + }, child: buildQrCode( dimension: dimension, @@ -184,7 +187,7 @@ void dispose() { ), ), if (_model.isAccess == false && _model.key == null) - Align( + Align( alignment: const AlignmentDirectional(0.0, 0.0), child: InkWell( splashColor: Colors.transparent, diff --git a/lib/pages/onboarding/welcome/component.dart b/lib/pages/onboarding/welcome/component.dart index 71c4954f..a489e5f7 100644 --- a/lib/pages/onboarding/welcome/component.dart +++ b/lib/pages/onboarding/welcome/component.dart @@ -175,8 +175,8 @@ class _WelcomeTemplateComponentWidgetState decoration: const BoxDecoration(), child: ClipRRect( borderRadius: BorderRadius.circular(0.0), - child: SvgPicture.network( - 'https://storage.googleapis.com/flutterflow-io-6f20.appspot.com/projects/flutter-freaccess-hub-0xgz9q/assets/lv1waa0etd3j/undraw_appreciate_it_re_yc8h_(1)_1.svg', + child: SvgPicture.asset( + 'assets/images/welcome.svg', width: 603.0, height: double.infinity, fit: BoxFit.contain, diff --git a/pubspec.yaml b/pubspec.yaml index 3f38a251..dfe4419b 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -133,6 +133,7 @@ flutter_launcher_icons: adaptive_icon_foreground: 'assets/images/adaptive_foreground_icon.svg' + # For information on the generic Dart part of this file, see the # following page: https://dart.dev/tools/pub/pubspec