diff --git a/lib/backend/push_notification/pushNotificationService.dart b/lib/backend/push_notification/pushNotificationService.dart index df5bfab7..a9224dc3 100644 --- a/lib/backend/push_notification/pushNotificationService.dart +++ b/lib/backend/push_notification/pushNotificationService.dart @@ -417,6 +417,7 @@ class NotificationHandler { log('Showing visit request notification dialog'); showDialog( context: context, + barrierDismissible: true, builder: (BuildContext context) { _getIdBasedOnUserType(message); return Dialog( diff --git a/lib/components/templates_components/visit_request_template_component/visit_request_template_component_widget.dart b/lib/components/templates_components/visit_request_template_component/visit_request_template_component_widget.dart index 8211b6e9..a95cf428 100644 --- a/lib/components/templates_components/visit_request_template_component/visit_request_template_component_widget.dart +++ b/lib/components/templates_components/visit_request_template_component/visit_request_template_component_widget.dart @@ -145,133 +145,130 @@ class _VisitRequestTemplateComponentWidgetState return LayoutBuilder( builder: (context, constraints) { - return Align( - alignment: const AlignmentDirectional(0.0, 0.0), - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 10.0), - child: Container( - width: constraints.maxWidth, - decoration: BoxDecoration( - color: FlutterFlowTheme.of(context).primaryBackground, - borderRadius: const BorderRadius.all(Radius.circular(25.0)), - ), - child: SingleChildScrollView( - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - const SizedBox(height: 20.0), - Container( - width: 150.0, - height: 150.0, - clipBehavior: Clip.antiAlias, - decoration: const BoxDecoration( - shape: BoxShape.circle, - ), - child: CachedNetworkImage( - fadeInDuration: const Duration(milliseconds: 100), - fadeOutDuration: const Duration(milliseconds: 100), - imageUrl: - 'https://freaccess.com.br/freaccess/getImage.php?cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${widget.imageHashMap['key']}&tipo=${widget.imageHashMap['value']}', - fit: BoxFit.cover, - ), + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 10.0), + child: Container( + width: constraints.maxWidth, + decoration: BoxDecoration( + color: FlutterFlowTheme.of(context).primaryBackground, + borderRadius: const BorderRadius.all(Radius.circular(25.0)), + ), + child: SingleChildScrollView( + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + const SizedBox(height: 20.0), + Container( + width: 150.0, + height: 150.0, + clipBehavior: Clip.antiAlias, + decoration: const BoxDecoration( + shape: BoxShape.circle, ), - const SizedBox(height: 10.0), - Row( - children: statusLinkedHashMap.expand((linkedHashMap) { - return linkedHashMap.entries - .map((MapEntry item) { - return Expanded( - child: Padding( - padding: - const EdgeInsets.symmetric(horizontal: 24.0), - child: TextFormField( - // controller: _model.textControllerStatus, - // focusNode: _model.textFieldFocusNodeStatus, - autofocus: false, - canRequestFocus: false, - readOnly: true, - obscureText: false, - decoration: InputDecoration( - isDense: true, - enabledBorder: OutlineInputBorder( - borderRadius: BorderRadius.circular(10.0), - ), - filled: true, - fillColor: item.value, - labelText: item.key, - 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), - ), - focusedBorder: InputBorder.none, - errorBorder: InputBorder.none, - focusedErrorBorder: InputBorder.none, - suffixIcon: Icon( - Icons.info, - color: FlutterFlowTheme.of(context).accent1, - ), + child: CachedNetworkImage( + fadeInDuration: const Duration(milliseconds: 100), + fadeOutDuration: const Duration(milliseconds: 100), + imageUrl: + 'https://freaccess.com.br/freaccess/getImage.php?cliID=${FFAppState().cliUUID}&atividade=getFoto&Documento=${widget.imageHashMap['key']}&tipo=${widget.imageHashMap['value']}', + fit: BoxFit.cover, + ), + ), + const SizedBox(height: 10.0), + Row( + children: statusLinkedHashMap.expand((linkedHashMap) { + return linkedHashMap.entries + .map((MapEntry item) { + return Expanded( + child: Padding( + padding: + const EdgeInsets.symmetric(horizontal: 24.0), + child: TextFormField( + // controller: _model.textControllerStatus, + // focusNode: _model.textFieldFocusNodeStatus, + autofocus: false, + canRequestFocus: false, + readOnly: true, + obscureText: false, + decoration: InputDecoration( + isDense: true, + enabledBorder: OutlineInputBorder( + borderRadius: BorderRadius.circular(10.0), ), - style: FlutterFlowTheme.of(context) - .bodyMedium + filled: true, + fillColor: item.value, + labelText: item.key, + labelStyle: FlutterFlowTheme.of(context) + .labelMedium .override( fontFamily: FlutterFlowTheme.of(context) - .bodyMediumFamily, + .labelMediumFamily, color: FlutterFlowTheme.of(context) .primaryText, letterSpacing: 0.0, useGoogleFonts: GoogleFonts.asMap() .containsKey( FlutterFlowTheme.of(context) - .bodyMediumFamily), + .labelMediumFamily), ), - textAlign: TextAlign.start, - maxLines: null, - keyboardType: TextInputType.name, - validator: _model.textController1Validator - .asValidator(context), + 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), + ), + focusedBorder: InputBorder.none, + errorBorder: InputBorder.none, + focusedErrorBorder: InputBorder.none, + suffixIcon: Icon( + Icons.info, + color: FlutterFlowTheme.of(context).accent1, + ), ), + style: FlutterFlowTheme.of(context) + .bodyMedium + .override( + fontFamily: FlutterFlowTheme.of(context) + .bodyMediumFamily, + color: FlutterFlowTheme.of(context) + .primaryText, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap() + .containsKey( + FlutterFlowTheme.of(context) + .bodyMediumFamily), + ), + textAlign: TextAlign.start, + maxLines: null, + keyboardType: TextInputType.name, + validator: _model.textController1Validator + .asValidator(context), ), - ); - }).toList(); - }).toList(), - ), - const SizedBox(height: 10.0), - // ListView.builder( - // shrinkWrap: true, - // itemCount: labelsLinkedHashMap.length, - // physics: const NeverScrollableScrollPhysics(), - // itemBuilder: (context, index) { - // String key = labelsLinkedHashMap.keys.elementAt(index); - // String value = labelsLinkedHashMap[key]!; - // return Text('key: $key, value: $value'); - // }, - // ), - const SizedBox(height: 20.0), - ], - ), + ), + ); + }).toList(); + }).toList(), + ), + const SizedBox(height: 10.0), + // ListView.builder( + // shrinkWrap: true, + // itemCount: labelsLinkedHashMap.length, + // physics: const NeverScrollableScrollPhysics(), + // itemBuilder: (context, index) { + // String key = labelsLinkedHashMap.keys.elementAt(index); + // String value = labelsLinkedHashMap[key]!; + // return Text('key: $key, value: $value'); + // }, + // ), + const SizedBox(height: 20.0), + ], ), ), ), diff --git a/lib/pages/message_history_page/message_history_page_widget.dart b/lib/pages/message_history_page/message_history_page_widget.dart index c4f70c8d..7f242130 100644 --- a/lib/pages/message_history_page/message_history_page_widget.dart +++ b/lib/pages/message_history_page/message_history_page_widget.dart @@ -2,6 +2,7 @@ import 'dart:developer'; +import 'package:eva_icons_flutter/eva_icons_flutter.dart'; import 'package:hub/app_state.dart'; import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/backend/api_requests/api_manager.dart'; @@ -260,8 +261,10 @@ Widget messageHistoryItem(BuildContext context, dynamic jsonBody) { children: [ Icon( jsonBody['MSG_DESTINO_TP'] == 'T' - ? Icons.group - : Icons.person, + ? EvaIcons.globe + : jsonBody['MSG_DESTINO_TP'] == 'P' + ? Icons.person + : Icons.home, color: FlutterFlowTheme.of(context).primary, size: 25, ), diff --git a/pubspec.lock b/pubspec.lock index db941ddb..d60bd97b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -233,6 +233,14 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.5" + eva_icons_flutter: + dependency: "direct main" + description: + name: eva_icons_flutter + sha256: "6d48a10b93590ab83eb092bee5adacdeb14f3d83f527a4b9e4092c363d56e2a8" + url: "https://pub.dev" + source: hosted + version: "3.1.0" fake_async: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 8efce314..828e33cd 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -3,7 +3,7 @@ description: A new Flutter project. # The following line prevents the package from being accidentally published to # pub.dev using `pub publish`. This is preferred for private packages. -publish_to: 'none' # Remove this line if you wish to publish to pub.dev +publish_to: "none" # Remove this line if you wish to publish to pub.dev # The following defines the version and build number for your application. # A version number is three numbers separated by dots, like 1.2.43 @@ -29,7 +29,7 @@ dependencies: barcode_widget: 2.0.3 cached_network_image: 3.3.1 firebase_core: 3.1.0 - flutter_inappwebview: ^6.0.0 + flutter_inappwebview: ^6.0.0 webview_flutter: ^4.8.0 rxdart: ^0.27.7 collection: 1.18.0 @@ -49,6 +49,7 @@ dependencies: flutter_plugin_android_lifecycle: 2.0.20 share_plus: ^9.0.0 flutter_secure_storage: 9.2.2 + eva_icons_flutter: ^3.1.0 flutter_secure_storage_linux: 1.2.1 flutter_secure_storage_macos: 3.1.2 flutter_secure_storage_platform_interface: 1.1.2 @@ -87,7 +88,7 @@ dependencies: shared_preferences_web: 2.3.0 sqflite: 2.3.3+1 synchronized: 3.1.0+1 - responsive_framework: 1.4.0 + responsive_framework: 1.4.0 timeago: 3.6.1 url_launcher: 6.3.0 url_launcher_android: 6.3.3 @@ -99,7 +100,6 @@ dependencies: video_player_platform_interface: 6.2.2 video_player_web: 2.3.1 - # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.0 @@ -123,24 +123,20 @@ dev_dependencies: flutter_test: sdk: flutter - flutter_launcher_icons: - android: 'launcher_icon' + android: "launcher_icon" ios: true web: generate: true - image_path: 'assets/images/app_launcher_icon.svg' - adaptive_icon_background: 'assets/images/adaptive_background_icon.svg' - adaptive_icon_foreground: 'assets/images/adaptive_foreground_icon.svg' - - + image_path: "assets/images/app_launcher_icon.svg" + adaptive_icon_background: "assets/images/adaptive_background_icon.svg" + 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 # The following section is specific to Flutter. flutter: - # The following line ensures that the Material Icons font is # included with your application, so that you can use the icons in # the material Icons class. @@ -158,7 +154,7 @@ flutter: - assets/rive_animations/ - assets/pdfs/ fonts: - - family: 'SF Pro' + - family: "SF Pro" fonts: - asset: assets/fonts/SFPRODISPLAYREGULAR.OTF - asset: assets/fonts/SFPRODISPLAYMEDIUM.OTF @@ -173,7 +169,6 @@ flutter: fonts: - asset: assets/fonts/menu.ttf - # An image asset can refer to one or more resolution-specific "variants", see # https://flutter.dev/assets-and-images/#resolution-aware.