TF-3878 Thread Detail Fix email content disappearing

This commit is contained in:
DatDang
2025-07-17 16:47:30 +07:00
committed by Dat H. Pham
parent 683ca404f7
commit 51c5c7e13a
3 changed files with 13 additions and 4 deletions
@@ -21,9 +21,10 @@ extension InitializeThreadDetailManager on ThreadDetailManager {
); );
currentMobilePageViewIndex.value = currentThreadIndex; currentMobilePageViewIndex.value = currentThreadIndex;
} else if (selectedEmail?.id != null) { } else if (selectedEmail?.id != null) {
final currentEmailIndex = currentDisplayedEmails.indexOf( final currentEmailIndex = currentDisplayedEmails
selectedEmail!, .map((email) => email.id)
); .toList()
.indexOf(selectedEmail?.id);
currentMobilePageViewIndex.value = currentEmailIndex; currentMobilePageViewIndex.value = currentEmailIndex;
} }
@@ -16,7 +16,9 @@ extension ThreadDetailNextPreviousActions on ThreadDetailManager {
final currentIndex = isThreadDetailEnabled final currentIndex = isThreadDetailEnabled
? availableThreadIds.indexOf(currentThreadId!) ? availableThreadIds.indexOf(currentThreadId!)
: currentDisplayedEmails : currentDisplayedEmails
.indexOf(mailboxDashBoardController.selectedEmail.value!); .map((email) => email.id)
.toList()
.indexOf(mailboxDashBoardController.selectedEmail.value?.id);
_navigate(currentIndex + 1, isThreadDetailEnabled); _navigate(currentIndex + 1, isThreadDetailEnabled);
} }
@@ -11,6 +11,7 @@ import 'package:model/extensions/session_extension.dart';
import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart'; import 'package:tmail_ui_user/features/email/presentation/model/composer_arguments.dart';
import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart'; import 'package:tmail_ui_user/features/email/presentation/utils/email_utils.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/open_and_close_composer_extension.dart'; import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/extensions/open_and_close_composer_extension.dart';
import 'package:tmail_ui_user/features/thread_detail/presentation/extension/close_thread_detail_action.dart';
import 'package:tmail_ui_user/features/thread_detail/presentation/thread_detail_controller.dart'; import 'package:tmail_ui_user/features/thread_detail/presentation/thread_detail_controller.dart';
import 'package:tmail_ui_user/main/routes/route_navigation.dart'; import 'package:tmail_ui_user/main/routes/route_navigation.dart';
@@ -143,6 +144,7 @@ extension ThreadDetailOnEmailActionClick on ThreadDetailController {
moveActionRequest.moveRequest, moveActionRequest.moveRequest,
moveActionRequest.emailIdsWithReadStatus, moveActionRequest.emailIdsWithReadStatus,
); );
if (emailIdsPresentation.length == 1) closeThreadDetailAction(currentContext);
} }
void _trashEmail(PresentationEmail presentationEmail) { void _trashEmail(PresentationEmail presentationEmail) {
@@ -162,6 +164,7 @@ extension ThreadDetailOnEmailActionClick on ThreadDetailController {
moveActionRequest.moveRequest, moveActionRequest.moveRequest,
moveActionRequest.emailIdsWithReadStatus, moveActionRequest.emailIdsWithReadStatus,
); );
if (emailIdsPresentation.length == 1) closeThreadDetailAction(currentContext);
} }
void _markEmailSpam(PresentationEmail presentationEmail) { void _markEmailSpam(PresentationEmail presentationEmail) {
@@ -181,6 +184,7 @@ extension ThreadDetailOnEmailActionClick on ThreadDetailController {
moveActionRequest.moveRequest, moveActionRequest.moveRequest,
moveActionRequest.emailIdsWithReadStatus, moveActionRequest.emailIdsWithReadStatus,
); );
if (emailIdsPresentation.length == 1) closeThreadDetailAction(currentContext);
} }
void _unSpamEmail(PresentationEmail presentationEmail) { void _unSpamEmail(PresentationEmail presentationEmail) {
@@ -200,6 +204,7 @@ extension ThreadDetailOnEmailActionClick on ThreadDetailController {
moveActionRequest.moveRequest, moveActionRequest.moveRequest,
moveActionRequest.emailIdsWithReadStatus, moveActionRequest.emailIdsWithReadStatus,
); );
if (emailIdsPresentation.length == 1) closeThreadDetailAction(currentContext);
} }
void _deleteEmailPermanently(PresentationEmail email) { void _deleteEmailPermanently(PresentationEmail email) {
@@ -212,6 +217,7 @@ extension ThreadDetailOnEmailActionClick on ThreadDetailController {
responsiveUtils: responsiveUtils, responsiveUtils: responsiveUtils,
imagePaths: imagePaths, imagePaths: imagePaths,
); );
if (emailIdsPresentation.length == 1) closeThreadDetailAction(currentContext);
} }
void _quickCreateRule(PresentationEmail presentationEmail) { void _quickCreateRule(PresentationEmail presentationEmail) {