Skip to content

Commit

Permalink
TF-1857 Add padding calendar event icon in item email
Browse files Browse the repository at this point in the history
  • Loading branch information
dab246 committed Jul 19, 2023
1 parent b2e043a commit 1ddecd3
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 25 deletions.
25 changes: 16 additions & 9 deletions lib/features/thread/presentation/mixin/base_email_item_tile.dart
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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(),
),
);
}
}
Original file line number Diff line number Diff line change
@@ -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);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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),
Expand Down

0 comments on commit 1ddecd3

Please sign in to comment.