TF-1857 Add padding calendar event icon in item email

(cherry picked from commit 89201517b702383df85790d21de9e680245e4f1f)
This commit is contained in:
dab246
2023-07-19 23:41:15 +07:00
committed by Dat Vu
parent 7df56f3f66
commit cecbc00720
4 changed files with 36 additions and 25 deletions
@@ -18,6 +18,7 @@ import 'package:model/mailbox/presentation_mailbox.dart';
import 'package:model/mailbox/select_mode.dart';
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.dart';
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
import 'package:tmail_ui_user/features/thread/presentation/styles/item_email_tile_styles.dart';
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
typedef OnPressEmailActionClick = void Function(EmailActionType, PresentationEmail);
@@ -331,15 +332,21 @@ mixin BaseEmailItemTile {
}
}
Widget buildCalendarEventIcon({required PresentationEmail presentationEmail}) {
return SvgPicture.asset(
imagePaths.icCalendarEvent,
width: 20,
height: 20,
fit: BoxFit.fill,
colorFilter: presentationEmail.hasRead
? AppColor.colorCalendarEventRead.asFilter()
: AppColor.colorCalendarEventUnread.asFilter(),
Widget buildCalendarEventIcon({
required BuildContext context,
required PresentationEmail presentationEmail
}) {
return Padding(
padding: ItemEmailTileStyles.getSpaceCalendarEventIcon(context, responsiveUtils),
child: SvgPicture.asset(
imagePaths.icCalendarEvent,
width: 20,
height: 20,
fit: BoxFit.fill,
colorFilter: presentationEmail.hasRead
? AppColor.colorCalendarEventRead.asFilter()
: AppColor.colorCalendarEventUnread.asFilter(),
),
);
}
}
@@ -0,0 +1,16 @@
import 'package:core/presentation/utils/responsive_utils.dart';
import 'package:flutter/cupertino.dart';
class ItemEmailTileStyles {
static EdgeInsetsGeometry getSpaceCalendarEventIcon(BuildContext context, ResponsiveUtils responsiveUtils) {
if (responsiveUtils.isScreenWithShortestSide(context)) {
return const EdgeInsetsDirectional.only(end: 4);
} else if (responsiveUtils.isWebDesktop(context)) {
return const EdgeInsetsDirectional.only(end: 12);
} else {
return const EdgeInsetsDirectional.only(end: 8);
}
}
}
@@ -108,10 +108,7 @@ class EmailTileBuilder with BaseEmailItemTile {
mainAxisSize: MainAxisSize.min,
children: [
if (_presentationEmail.hasCalendarEvent)
Padding(
padding: const EdgeInsetsDirectional.only(end: 8),
child: buildCalendarEventIcon(presentationEmail: _presentationEmail),
),
buildCalendarEventIcon(context: _context, presentationEmail: _presentationEmail),
Expanded(child: buildEmailTitle(
_context,
_presentationEmail,
@@ -173,10 +173,7 @@ class EmailTileBuilder with BaseEmailItemTile {
mainAxisSize: MainAxisSize.min,
children: [
if (_presentationEmail.hasCalendarEvent)
Padding(
padding: const EdgeInsetsDirectional.only(end: 8),
child: buildCalendarEventIcon(presentationEmail: _presentationEmail),
),
buildCalendarEventIcon(context: _context, presentationEmail: _presentationEmail),
Expanded(child: buildEmailTitle(
_context,
_presentationEmail,
@@ -261,10 +258,7 @@ class EmailTileBuilder with BaseEmailItemTile {
mainAxisSize: MainAxisSize.min,
children: [
if (_presentationEmail.hasCalendarEvent)
Padding(
padding: const EdgeInsetsDirectional.only(end: 8),
child: buildCalendarEventIcon(presentationEmail: _presentationEmail),
),
buildCalendarEventIcon(context: _context, presentationEmail: _presentationEmail),
Expanded(child: buildEmailTitle(
_context,
_presentationEmail,
@@ -520,10 +514,7 @@ class EmailTileBuilder with BaseEmailItemTile {
return LayoutBuilder(builder: (context, constraints) {
return Row(children: [
if (_presentationEmail.hasCalendarEvent)
Padding(
padding: const EdgeInsetsDirectional.only(end: 8),
child: buildCalendarEventIcon(presentationEmail: _presentationEmail),
),
buildCalendarEventIcon(context: _context, presentationEmail: _presentationEmail),
if (_presentationEmail.getEmailTitle().isNotEmpty)
Container(
constraints: BoxConstraints(maxWidth: constraints.maxWidth / 2),