TF-78 Update state email in threads and count unread of current mailbox when back from EmailView

This commit is contained in:
dab246
2021-09-14 17:12:15 +07:00
committed by Dat H. Pham
parent 3219aedc70
commit 59ab5265fd
13 changed files with 259 additions and 63 deletions
@@ -9,6 +9,7 @@ import 'package:tmail_ui_user/features/base/base_controller.dart';
import 'package:tmail_ui_user/features/email/presentation/email_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/state/get_user_profile_state.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/domain/usecases/get_user_profile_interactor.dart';
import 'package:tmail_ui_user/main/actions/app_action.dart';
class MailboxDashBoardController extends BaseController {
@@ -19,6 +20,7 @@ class MailboxDashBoardController extends BaseController {
final selectedEmail = Rxn<PresentationEmail>();
final accountId = Rxn<AccountId>();
final userProfile = Rxn<UserProfile>();
final mailboxDashBoardAction = Rxn<AppAction>();
Session? sessionCurrent;
Map<Role, MailboxId> mapMailboxId = Map();
@@ -67,10 +69,27 @@ class MailboxDashBoardController extends BaseController {
selectedMailbox.value = newPresentationMailbox;
}
void setNewFirstSelectedMailbox(PresentationMailbox? newPresentationMailbox) {
selectedMailbox.firstRebuild = true;
selectedMailbox.value = newPresentationMailbox;
}
void setSelectedEmail(PresentationEmail? newPresentationEmail) {
selectedEmail.value = newPresentationEmail;
}
void setMailboxDashBoardAction(AppAction? newAction) {
mailboxDashBoardAction.value = newAction;
}
void clearMailboxDashBoardAction() {
mailboxDashBoardAction.value = null;
}
void clearSelectedEmail() {
selectedEmail.value = null;
}
void openDrawer() {
scaffoldKey.currentState?.openDrawer();
}