TF-616 Update presentation layer for MarkAsReadMailbox

This commit is contained in:
dab246
2022-06-30 11:16:20 +07:00
committed by Dat H. Pham
parent 71da676212
commit 589abfafb8
14 changed files with 246 additions and 134 deletions
@@ -54,7 +54,7 @@ import 'package:tmail_ui_user/features/mailbox_creator/domain/usecases/verify_na
import 'package:tmail_ui_user/features/mailbox_creator/presentation/extensions/validator_failure_extension.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/mailbox_creator_arguments.dart';
import 'package:tmail_ui_user/features/mailbox_creator/presentation/model/new_mailbox_arguments.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/mark_as_mailbox_read_state.dart';
import 'package:tmail_ui_user/features/mailbox/domain/state/mark_as_mailbox_read_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/remove_email_drafts_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/thread/domain/model/search_query.dart';
@@ -227,6 +227,7 @@ class MailboxController extends BaseMailboxController {
success is RemoveEmailDraftsSuccess ||
success is SendEmailSuccess ||
success is MarkAsMailboxReadAllSuccess ||
success is MarkAsMailboxReadHasSomeEmailFailure ||
success is UpdateEmailDraftsSuccess) {
refreshMailboxChanges();
}
@@ -502,7 +503,7 @@ class MailboxController extends BaseMailboxController {
_openDialogRenameMailboxAction(context, selectionMailbox.first);
break;
case MailboxActions.markAsRead:
_markAsReadMailboxAction(selectionMailbox.first);
_markAsReadMailboxAction(context, selectionMailbox.first);
break;
case MailboxActions.move:
_moveMailboxAction(selectionMailbox.first);
@@ -679,12 +680,19 @@ class MailboxController extends BaseMailboxController {
_cancelSelectMailbox();
}
void _markAsReadMailboxAction(PresentationMailbox presentationMailbox) {
void _markAsReadMailboxAction(BuildContext context, PresentationMailbox presentationMailbox) {
final accountId = mailboxDashBoardController.accountId.value;
final mailboxId = presentationMailbox.id;
final mailboxName = presentationMailbox.name;
final countEmailsUnread = presentationMailbox.unreadEmails?.value.value ?? 0;
if (accountId != null && mailboxName != null) {
mailboxDashBoardController.markAsReadMailbox(accountId, mailboxId, mailboxName);
mailboxDashBoardController.markAsReadMailbox(
accountId,
mailboxId,
mailboxName,
countEmailsUnread.toInt());
closeMailboxScreen(context);
}
}
@@ -809,7 +817,7 @@ class MailboxController extends BaseMailboxController {
_moveMailboxAction(mailbox);
break;
case MailboxActions.markAsRead:
_markAsReadMailboxAction(mailbox);
_markAsReadMailboxAction(context, mailbox);
break;
default:
break;