From 80de2599aeff5dcb225fa40e780040f8c66d22c7 Mon Sep 17 00:00:00 2001 From: dab246 Date: Thu, 6 Jul 2023 12:50:50 +0700 Subject: [PATCH] TF-1956 Fix email subjects are displayed overlap email content in RTL mode (cherry picked from commit 6b341d449790ff00d8ed210b1b8580535d97e721) --- .../views/button/icon_button_web.dart | 12 +++++------ .../email_quick_search_item_tile_widget.dart | 4 ++-- .../recent_search_item_tile_widget.dart | 4 ++-- .../mixin/base_email_item_tile.dart | 8 ++++---- .../widgets/email_tile_builder.dart | 20 +++++++++---------- .../widgets/email_tile_web_builder.dart | 18 ++++++++--------- 6 files changed, 33 insertions(+), 33 deletions(-) diff --git a/core/lib/presentation/views/button/icon_button_web.dart b/core/lib/presentation/views/button/icon_button_web.dart index 9b846ca4d..be3bcb8ad 100644 --- a/core/lib/presentation/views/button/icon_button_web.dart +++ b/core/lib/presentation/views/button/icon_button_web.dart @@ -12,7 +12,7 @@ Widget buildIconWeb({ required Widget icon, String? tooltip, IconWebCallback? onTap, - EdgeInsets? iconPadding, + EdgeInsetsGeometry? iconPadding, double? iconSize, double? splashRadius, double? minSize, @@ -38,7 +38,7 @@ Widget buildIconWeb({ Widget buildSVGIconButton({ required String icon, String? tooltip, - EdgeInsets? padding, + EdgeInsetsGeometry? padding, double? iconSize, Color? iconColor, OnTapIconButtonCallbackAction? onTap, @@ -127,7 +127,7 @@ Widget buildTextCircleButton(String text, { Widget buildTextIcon(String text, { TextStyle? textStyle, - EdgeInsets? padding, + EdgeInsetsGeometry? padding, IconWebCallback? onTap, }) { return Material( @@ -147,7 +147,7 @@ Widget buildTextButton(String text, { double? width, double? height, Color? backgroundColor, - EdgeInsets? padding, + EdgeInsetsGeometry? padding, double? radius, IconWebCallback? onTap, FocusNode? focusNode, @@ -160,7 +160,7 @@ Widget buildTextButton(String text, { style: ButtonStyle( backgroundColor: MaterialStateProperty.resolveWith((states) => backgroundColor ?? AppColor.colorTextButton), elevation: MaterialStateProperty.resolveWith((states) => 0), - padding: MaterialStateProperty.resolveWith( + padding: MaterialStateProperty.resolveWith( (Set states) => padding ?? const EdgeInsets.symmetric(horizontal: 8)), shape: MaterialStateProperty.all(RoundedRectangleBorder(borderRadius: BorderRadius.circular(radius ?? 0)))), child: Text( @@ -182,7 +182,7 @@ Widget buildButtonWrapText(String name, { double? radius, double? height, double? minWidth, - EdgeInsets? padding, + EdgeInsetsGeometry? padding, FocusNode? focusNode, IconWebCallback? onTap }) { diff --git a/lib/features/mailbox_dashboard/presentation/widgets/email_quick_search_item_tile_widget.dart b/lib/features/mailbox_dashboard/presentation/widgets/email_quick_search_item_tile_widget.dart index a20ce6533..a602c3f8d 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/email_quick_search_item_tile_widget.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/email_quick_search_item_tile_widget.dart @@ -13,7 +13,7 @@ class EmailQuickSearchItemTileWidget extends StatelessWidget { final PresentationEmail _presentationEmail; final PresentationMailbox? _presentationMailbox; - final EdgeInsets? contentPadding; + final EdgeInsetsGeometry? contentPadding; EmailQuickSearchItemTileWidget( this._presentationEmail, @@ -29,7 +29,7 @@ class EmailQuickSearchItemTileWidget extends StatelessWidget { final maxWidthItem = constraints.maxWidth; log('EmailQuickSearchItemTileWidget::build(): maxWidthItem: $maxWidthItem'); return Padding( - padding: contentPadding ?? const EdgeInsets.all(12), + padding: contentPadding ?? const EdgeInsetsDirectional.all(12), child: Row( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.center, diff --git a/lib/features/mailbox_dashboard/presentation/widgets/recent_search_item_tile_widget.dart b/lib/features/mailbox_dashboard/presentation/widgets/recent_search_item_tile_widget.dart index 5e112c590..9d2364476 100644 --- a/lib/features/mailbox_dashboard/presentation/widgets/recent_search_item_tile_widget.dart +++ b/lib/features/mailbox_dashboard/presentation/widgets/recent_search_item_tile_widget.dart @@ -10,7 +10,7 @@ class RecentSearchItemTileWidget extends StatelessWidget { final imagePath = Get.find(); final RecentSearch recentSearch; - final EdgeInsets? contentPadding; + final EdgeInsetsGeometry? contentPadding; RecentSearchItemTileWidget( this.recentSearch, { @@ -21,7 +21,7 @@ class RecentSearchItemTileWidget extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( - padding: contentPadding ?? const EdgeInsets.all(12), + padding: contentPadding ?? const EdgeInsetsDirectional.all(12), child: Row( children: [ SvgPicture.asset(imagePath.icClockSB), diff --git a/lib/features/thread/presentation/mixin/base_email_item_tile.dart b/lib/features/thread/presentation/mixin/base_email_item_tile.dart index 5a997cda0..cdb5aa3b6 100644 --- a/lib/features/thread/presentation/mixin/base_email_item_tile.dart +++ b/lib/features/thread/presentation/mixin/base_email_item_tile.dart @@ -34,8 +34,8 @@ mixin BaseEmailItemTile { ) { if (hasMailboxLabel(isSearchEmailRunning, email)) { return Container( - margin: const EdgeInsets.only(left: 8), - padding: const EdgeInsets.symmetric( + margin: const EdgeInsetsDirectional.only(start: 8), + padding: const EdgeInsetsDirectional.symmetric( horizontal: 8, vertical: 3), constraints: const BoxConstraints(maxWidth: 100), @@ -248,8 +248,8 @@ mixin BaseEmailItemTile { height: iconSize ?? 48, alignment: Alignment.center, padding: responsiveUtils.isDesktop(context) - ? const EdgeInsets.symmetric(horizontal: 4) - : const EdgeInsets.all(12), + ? const EdgeInsetsDirectional.symmetric(horizontal: 4) + : const EdgeInsetsDirectional.all(12), child: SvgPicture.asset( email.selectMode == SelectMode.ACTIVE ? imagePaths.icSelected diff --git a/lib/features/thread/presentation/widgets/email_tile_builder.dart b/lib/features/thread/presentation/widgets/email_tile_builder.dart index 2480d0570..bcf409f02 100644 --- a/lib/features/thread/presentation/widgets/email_tile_builder.dart +++ b/lib/features/thread/presentation/widgets/email_tile_builder.dart @@ -16,8 +16,8 @@ class EmailTileBuilder with BaseEmailItemTile { final PresentationMailbox? mailboxContain; final SearchQuery? _searchQuery; final bool isSearchEmailRunning; - final EdgeInsets? padding; - final EdgeInsets? paddingDivider; + final EdgeInsetsGeometry? padding; + final EdgeInsetsGeometry? paddingDivider; final bool isDrag; final bool _isShowingEmailContent; @@ -51,7 +51,7 @@ class EmailTileBuilder with BaseEmailItemTile { children: [ ListTile( tileColor: _isShowingEmailContent ? AppColor.colorItemEmailSelectedDesktop : null, - contentPadding: padding ?? const EdgeInsets.symmetric(horizontal: 16, vertical: 5), + contentPadding: padding ?? const EdgeInsetsDirectional.symmetric(horizontal: 16, vertical: 5), onTap: () => _emailActionClick?.call( EmailActionType.preview, _presentationEmail), @@ -75,7 +75,7 @@ class EmailTileBuilder with BaseEmailItemTile { children: [ if (!_presentationEmail.hasRead) Padding( - padding: const EdgeInsets.only(right: 5), + padding: const EdgeInsetsDirectional.only(end: 5), child: SvgPicture.asset( imagePaths.icUnreadStatus, width: 9, @@ -89,10 +89,10 @@ class EmailTileBuilder with BaseEmailItemTile { buildIconAnsweredOrForwarded(width: 16, height: 16, presentationEmail: _presentationEmail), if (_presentationEmail.hasAttachment == true) Padding( - padding: const EdgeInsets.only(left: 8), + padding: const EdgeInsetsDirectional.only(start: 8), child: buildIconAttachment()), Padding( - padding: const EdgeInsets.only(right: 4, left: 8), + padding: const EdgeInsetsDirectional.only(end: 4, start: 8), child: buildDateTime(_context, _presentationEmail)), buildIconChevron(), ], @@ -102,7 +102,7 @@ class EmailTileBuilder with BaseEmailItemTile { mainAxisSize: MainAxisSize.min, children: [ Padding( - padding: const EdgeInsets.only(top: 6), + padding: const EdgeInsetsDirectional.only(top: 6), child: Row( mainAxisSize: MainAxisSize.min, children: [ @@ -116,13 +116,13 @@ class EmailTileBuilder with BaseEmailItemTile { _presentationEmail), if (_presentationEmail.hasStarred) Padding( - padding: const EdgeInsets.only(left: 8), + padding: const EdgeInsetsDirectional.only(start: 8), child: buildIconStar(), ) ], )), Padding( - padding: const EdgeInsets.only(top: 6), + padding: const EdgeInsetsDirectional.only(top: 6), child: Row(children: [ Expanded(child: buildEmailPartialContent( _presentationEmail, @@ -134,7 +134,7 @@ class EmailTileBuilder with BaseEmailItemTile { ), ), Padding( - padding: paddingDivider ?? const EdgeInsets.symmetric(horizontal: 16), + padding: paddingDivider ?? const EdgeInsetsDirectional.symmetric(horizontal: 16), child: const Divider( color: AppColor.lineItemListColor, height: 1, diff --git a/lib/features/thread/presentation/widgets/email_tile_web_builder.dart b/lib/features/thread/presentation/widgets/email_tile_web_builder.dart index b18ca9db1..8cc59fbb5 100644 --- a/lib/features/thread/presentation/widgets/email_tile_web_builder.dart +++ b/lib/features/thread/presentation/widgets/email_tile_web_builder.dart @@ -132,7 +132,7 @@ class EmailTileBuilder with BaseEmailItemTile { : EmailActionType.preview, _presentationEmail), child: Padding( - padding: const EdgeInsets.only(top: 8, right: 12), + padding: const EdgeInsetsDirectional.only(top: 8, end: 12), child: _buildAvatarIcon(), ), ), @@ -141,7 +141,7 @@ class EmailTileBuilder with BaseEmailItemTile { Row(children: [ if (!_presentationEmail.hasRead) Padding( - padding: const EdgeInsets.only(right: 5), + padding: const EdgeInsetsDirectional.only(end: 5), child: SvgPicture.asset( imagePaths.icUnreadStatus, width: 9, @@ -156,14 +156,14 @@ class EmailTileBuilder with BaseEmailItemTile { buildIconAnsweredOrForwarded(width: 16, height: 16, presentationEmail: _presentationEmail), if (_presentationEmail.hasAttachment == true) Padding( - padding: const EdgeInsets.only(left: 8), + padding: const EdgeInsetsDirectional.only(start: 8), child: SvgPicture.asset( imagePaths.icAttachment, width: 16, height: 16, fit: BoxFit.fill)), Padding( - padding: const EdgeInsets.only(right: 4, left: 8), + padding: const EdgeInsetsDirectional.only(end: 4, start: 8), child: buildDateTime(_context, _presentationEmail)), buildIconChevron() ]), @@ -183,7 +183,7 @@ class EmailTileBuilder with BaseEmailItemTile { ), if (_presentationEmail.hasStarred) Padding( - padding: const EdgeInsets.only(left: 8), + padding: const EdgeInsetsDirectional.only(start: 8), child: buildIconStar(), ), ], @@ -323,7 +323,7 @@ class EmailTileBuilder with BaseEmailItemTile { child: Stack(alignment: Alignment.bottomCenter, children: [ Row(children: [ Container( - padding: const EdgeInsets.only(left: 16, right: 16), + padding: const EdgeInsetsDirectional.symmetric(horizontal: 16), alignment: Alignment.center, child: !_presentationEmail.hasRead ? SvgPicture.asset( @@ -351,7 +351,7 @@ class EmailTileBuilder with BaseEmailItemTile { buildIconWeb( icon: buildIconAnsweredOrForwarded(presentationEmail: _presentationEmail), tooltip: messageToolTipForAnsweredOrForwarded(context, _presentationEmail), - iconPadding: const EdgeInsets.only(right: 12), + iconPadding: const EdgeInsetsDirectional.only(end: 12), splashRadius: 1), InkWell( onTap: () { @@ -390,7 +390,7 @@ class EmailTileBuilder with BaseEmailItemTile { Transform( transform: Matrix4.translationValues(0.0, 10, 0.0), child: const Padding( - padding: EdgeInsets.only(left: 120), + padding: EdgeInsetsDirectional.only(start: 120), child: Divider( color: AppColor.lineItemListColor, height: 1, @@ -524,7 +524,7 @@ class EmailTileBuilder with BaseEmailItemTile { if (_presentationEmail.getEmailTitle().isNotEmpty) Container( constraints: BoxConstraints(maxWidth: constraints.maxWidth / 2), - padding: const EdgeInsets.only(right: 12), + padding: const EdgeInsetsDirectional.only(end: 12), child: buildEmailTitle( _presentationEmail, isSearchEmailRunning,