TF-1956 Fix email subjects are displayed overlap email content in RTL mode

(cherry picked from commit 6b341d449790ff00d8ed210b1b8580535d97e721)
This commit is contained in:
dab246
2023-07-06 12:50:50 +07:00
committed by Dat Vu
parent 0583406e3b
commit 80de2599ae
6 changed files with 33 additions and 33 deletions
@@ -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<EdgeInsets>(
padding: MaterialStateProperty.resolveWith<EdgeInsetsGeometry>(
(Set<MaterialState> 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
}) {
@@ -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,
@@ -10,7 +10,7 @@ class RecentSearchItemTileWidget extends StatelessWidget {
final imagePath = Get.find<ImagePaths>();
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),
@@ -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
@@ -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,
@@ -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,