diff --git a/lib/features/email/presentation/controller/single_email_controller.dart b/lib/features/email/presentation/controller/single_email_controller.dart index 901d64fe5..556c4a399 100644 --- a/lib/features/email/presentation/controller/single_email_controller.dart +++ b/lib/features/email/presentation/controller/single_email_controller.dart @@ -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) { diff --git a/lib/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart b/lib/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart index 4572d768a..f0771be0f 100644 --- a/lib/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart +++ b/lib/features/mailbox_dashboard/presentation/extensions/update_current_emails_flags_extension.dart @@ -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(