TF-1857 Add padding calendar event icon in item email
(cherry picked from commit 89201517b702383df85790d21de9e680245e4f1f)
This commit is contained in:
@@ -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),
|
||||
|
||||
Reference in New Issue
Block a user