From 0e7993495fd5ae4eafc77fbeafa107163f644fd8 Mon Sep 17 00:00:00 2001 From: dab246 Date: Mon, 10 Oct 2022 23:54:56 +0700 Subject: [PATCH] TF-984 Apply new design for popup menu item email view --- .../email/presentation/email_view.dart | 79 ++++++++++++++++++- 1 file changed, 76 insertions(+), 3 deletions(-) diff --git a/lib/features/email/presentation/email_view.dart b/lib/features/email/presentation/email_view.dart index 00f804c8c..c232bbe7a 100644 --- a/lib/features/email/presentation/email_view.dart +++ b/lib/features/email/presentation/email_view.dart @@ -603,7 +603,7 @@ class EmailView extends GetWidget with NetworkConnectionMixin { return (EmailActionCupertinoActionSheetActionBuilder( const Key('mark_as_spam_or_un_spam_action'), SvgPicture.asset( - currentMailbox?.isSpam == true ? imagePaths.icNotSpam : imagePaths.icSpam, + currentMailbox?.isSpam == true ? imagePaths.icNotSpam : imagePaths.icMailboxSpam, width: 28, height: 28, fit: BoxFit.fill, color: AppColor.colorTextButton), currentMailbox?.isSpam == true ? AppLocalizations.of(context).remove_from_spam @@ -622,8 +622,81 @@ class EmailView extends GetWidget with NetworkConnectionMixin { List _popupMenuEmailActionTile(BuildContext context, PresentationEmail email) { return [ - PopupMenuItem(padding: const EdgeInsets.symmetric(horizontal: 8), child: _markAsEmailUnreadAction(context, email)), - PopupMenuItem(padding: const EdgeInsets.symmetric(horizontal: 8), child: _markAsEmailSpamOrUnSpamAction(context, email)), + PopupMenuItem( + padding: EdgeInsets.zero, + child: _markAsEmailUnreadPopupItemAction(context, email)), + PopupMenuItem( + padding: EdgeInsets.zero, + child: _markAsEmailSpamOrUnSpamPopupItemAction(context, email)), ]; } + + Widget _markAsEmailUnreadPopupItemAction(BuildContext context, PresentationEmail email) { + return InkWell( + onTap: () => controller.handleEmailAction(context, email, EmailActionType.markAsUnread), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: SizedBox( + width: 383, + height: 56, + child: Row(children: [ + SvgPicture.asset( + imagePaths.icUnreadEmail, + width: 24, + height: 24, + color: AppColor.colorTextButton, + fit: BoxFit.fill), + const SizedBox(width: 12), + Expanded(child: Text( + AppLocalizations.of(context).mark_as_unread, + style: const TextStyle( + fontSize: 16, + color: Colors.black, + fontWeight: FontWeight.w500) + )), + ]) + ), + ) + ); + } + + Widget _markAsEmailSpamOrUnSpamPopupItemAction(BuildContext context, PresentationEmail email) { + final currentMailbox = controller.getMailboxContain(email); + + return InkWell( + onTap: () => controller.handleEmailAction( + context, + email, + currentMailbox?.isSpam == true + ? EmailActionType.unSpam + : EmailActionType.moveToSpam), + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 16), + child: SizedBox( + width: 383, + height: 56, + child: Row(children: [ + SvgPicture.asset( + currentMailbox?.isSpam == true + ? imagePaths.icNotSpam + : imagePaths.icMailboxSpam, + width: 24, + height: 24, + color: AppColor.colorTextButton, + fit: BoxFit.fill), + const SizedBox(width: 12), + Expanded(child: Text( + currentMailbox?.isSpam == true + ? AppLocalizations.of(context).remove_from_spam + : AppLocalizations.of(context).mark_as_spam, + style: const TextStyle( + fontSize: 16, + color: Colors.black, + fontWeight: FontWeight.w500) + )), + ]) + ), + ) + ); + } } \ No newline at end of file