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:model/mailbox/select_mode.dart';
|
||||||
import 'package:tmail_ui_user/features/mailbox/presentation/extensions/presentation_mailbox_extension.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/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';
|
import 'package:tmail_ui_user/main/localizations/app_localizations.dart';
|
||||||
|
|
||||||
typedef OnPressEmailActionClick = void Function(EmailActionType, PresentationEmail);
|
typedef OnPressEmailActionClick = void Function(EmailActionType, PresentationEmail);
|
||||||
@@ -331,15 +332,21 @@ mixin BaseEmailItemTile {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget buildCalendarEventIcon({required PresentationEmail presentationEmail}) {
|
Widget buildCalendarEventIcon({
|
||||||
return SvgPicture.asset(
|
required BuildContext context,
|
||||||
imagePaths.icCalendarEvent,
|
required PresentationEmail presentationEmail
|
||||||
width: 20,
|
}) {
|
||||||
height: 20,
|
return Padding(
|
||||||
fit: BoxFit.fill,
|
padding: ItemEmailTileStyles.getSpaceCalendarEventIcon(context, responsiveUtils),
|
||||||
colorFilter: presentationEmail.hasRead
|
child: SvgPicture.asset(
|
||||||
? AppColor.colorCalendarEventRead.asFilter()
|
imagePaths.icCalendarEvent,
|
||||||
: AppColor.colorCalendarEventUnread.asFilter(),
|
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,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
if (_presentationEmail.hasCalendarEvent)
|
if (_presentationEmail.hasCalendarEvent)
|
||||||
Padding(
|
buildCalendarEventIcon(context: _context, presentationEmail: _presentationEmail),
|
||||||
padding: const EdgeInsetsDirectional.only(end: 8),
|
|
||||||
child: buildCalendarEventIcon(presentationEmail: _presentationEmail),
|
|
||||||
),
|
|
||||||
Expanded(child: buildEmailTitle(
|
Expanded(child: buildEmailTitle(
|
||||||
_context,
|
_context,
|
||||||
_presentationEmail,
|
_presentationEmail,
|
||||||
|
|||||||
@@ -173,10 +173,7 @@ class EmailTileBuilder with BaseEmailItemTile {
|
|||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
if (_presentationEmail.hasCalendarEvent)
|
if (_presentationEmail.hasCalendarEvent)
|
||||||
Padding(
|
buildCalendarEventIcon(context: _context, presentationEmail: _presentationEmail),
|
||||||
padding: const EdgeInsetsDirectional.only(end: 8),
|
|
||||||
child: buildCalendarEventIcon(presentationEmail: _presentationEmail),
|
|
||||||
),
|
|
||||||
Expanded(child: buildEmailTitle(
|
Expanded(child: buildEmailTitle(
|
||||||
_context,
|
_context,
|
||||||
_presentationEmail,
|
_presentationEmail,
|
||||||
@@ -261,10 +258,7 @@ class EmailTileBuilder with BaseEmailItemTile {
|
|||||||
mainAxisSize: MainAxisSize.min,
|
mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
children: [
|
||||||
if (_presentationEmail.hasCalendarEvent)
|
if (_presentationEmail.hasCalendarEvent)
|
||||||
Padding(
|
buildCalendarEventIcon(context: _context, presentationEmail: _presentationEmail),
|
||||||
padding: const EdgeInsetsDirectional.only(end: 8),
|
|
||||||
child: buildCalendarEventIcon(presentationEmail: _presentationEmail),
|
|
||||||
),
|
|
||||||
Expanded(child: buildEmailTitle(
|
Expanded(child: buildEmailTitle(
|
||||||
_context,
|
_context,
|
||||||
_presentationEmail,
|
_presentationEmail,
|
||||||
@@ -520,10 +514,7 @@ class EmailTileBuilder with BaseEmailItemTile {
|
|||||||
return LayoutBuilder(builder: (context, constraints) {
|
return LayoutBuilder(builder: (context, constraints) {
|
||||||
return Row(children: [
|
return Row(children: [
|
||||||
if (_presentationEmail.hasCalendarEvent)
|
if (_presentationEmail.hasCalendarEvent)
|
||||||
Padding(
|
buildCalendarEventIcon(context: _context, presentationEmail: _presentationEmail),
|
||||||
padding: const EdgeInsetsDirectional.only(end: 8),
|
|
||||||
child: buildCalendarEventIcon(presentationEmail: _presentationEmail),
|
|
||||||
),
|
|
||||||
if (_presentationEmail.getEmailTitle().isNotEmpty)
|
if (_presentationEmail.getEmailTitle().isNotEmpty)
|
||||||
Container(
|
Container(
|
||||||
constraints: BoxConstraints(maxWidth: constraints.maxWidth / 2),
|
constraints: BoxConstraints(maxWidth: constraints.maxWidth / 2),
|
||||||
|
|||||||
Reference in New Issue
Block a user