TF-3385 Fix change flags not working

This commit is contained in:
DatDang
2025-01-03 17:01:26 +07:00
committed by Dat H. Pham
parent db0f26f241
commit b5fc4c6e58
2 changed files with 14 additions and 2 deletions
@@ -1134,6 +1134,13 @@ class SingleEmailController extends BaseController with AppLoaderMixin {
KeyWordIdentifier.emailFlagged: success.markStarAction == MarkStarAction.markStar,
});
mailboxDashBoardController.setSelectedEmail(newEmail);
final emailId = newEmail?.id;
if (emailId == null) return;
mailboxDashBoardController.updateEmailFlagByEmailIds(
[emailId],
markStarAction: success.markStarAction,
);
}
void handleEmailAction(BuildContext context, PresentationEmail presentationEmail, EmailActionType actionType) {
@@ -4,6 +4,7 @@ import 'package:model/email/mark_star_action.dart';
import 'package:model/email/presentation_email.dart';
import 'package:model/email/read_actions.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/controller/mailbox_dashboard_controller.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart';
extension UpdateCurrentEmailsFlagsExtension on MailboxDashBoardController {
void updateEmailFlagByEmailIds(
@@ -13,7 +14,11 @@ extension UpdateCurrentEmailsFlagsExtension on MailboxDashBoardController {
}) {
if (readAction == null && markStarAction == null) return;
for (var email in emailsInCurrentMailbox) {
final currentEmails = dashboardRoute.value == DashboardRoutes.searchEmail
? listResultSearch
: emailsInCurrentMailbox;
for (var email in currentEmails) {
if (!emailIds.contains(email.id)) continue;
switch (readAction) {
@@ -39,7 +44,7 @@ extension UpdateCurrentEmailsFlagsExtension on MailboxDashBoardController {
}
}
emailsInCurrentMailbox.refresh();
currentEmails.refresh();
}
void _updateKeyword(