TF-1311: [Presentation] Implement hide mailbox in presentation

This commit is contained in:
HuyNguyen
2023-02-07 13:23:33 +07:00
committed by Dat Vu
parent 2f3b1b6a87
commit 6f32bf4ba3
11 changed files with 102 additions and 43 deletions
@@ -331,11 +331,15 @@ class MailboxView extends GetWidget<MailboxController> {
void _openBottomSheetSpamMenuAction(BuildContext context, PresentationMailbox mailbox) {
final _spamActionsSupported = [
controller.mailboxDashBoardController.enableSpamReport
? MailboxActions.disableSpamReport
: MailboxActions.enableSpamReport
MailboxActions.disableMailbox
];
if (mailbox.isSpam) {
_spamActionsSupported.add(controller.mailboxDashBoardController.enableSpamReport
? MailboxActions.disableSpamReport
: MailboxActions.enableSpamReport);
}
final listContextSpamPopupMenuItemAction = _spamActionsSupported
.map((action) => ContextMenuItemMailboxAction(action, action.getContextMenuItemState(mailbox)))
.toList();
@@ -381,6 +385,7 @@ class MailboxView extends GetWidget<MailboxController> {
isExpanded: mailboxNode.expandMode == ExpandMode.EXPAND,
parent: Obx(() => (MailBoxFolderTileBuilder(context, _imagePaths, mailboxNode, lastNode: lastNode,
allSelectMode: controller.currentSelectMode.value)
..addOnLongPressMailboxFolderClick((mailboxNode) => _openBottomSheetSpamMenuAction(context, mailboxNode.item))
..addOnOpenMailboxFolderClick((mailboxNode) => controller.openMailbox(context, mailboxNode.item))
..addOnExpandFolderActionClick((mailboxNode) => controller.toggleMailboxFolder(mailboxNode))
..addOnSelectMailboxFolderClick((mailboxNode) => controller.selectMailboxNode(mailboxNode)))
@@ -389,7 +394,7 @@ class MailboxView extends GetWidget<MailboxController> {
).build()
: Obx(() => (MailBoxFolderTileBuilder(context, _imagePaths, mailboxNode, lastNode: lastNode,
allSelectMode: controller.currentSelectMode.value)
..addOnLongPressSpamReport((mailboxNode) => _openBottomSheetSpamMenuAction(context, mailboxNode.item))
..addOnLongPressMailboxFolderClick((mailboxNode) => _openBottomSheetSpamMenuAction(context, mailboxNode.item))
..addOnOpenMailboxFolderClick((mailboxNode) => controller.openMailbox(context, mailboxNode.item))
..addOnSelectMailboxFolderClick((mailboxNode) => controller.selectMailboxNode(mailboxNode)))
.build())