TF-3294 Handle open email in Sent mailbox

This commit is contained in:
DatDang
2025-08-21 15:31:25 +07:00
committed by Dat H. Pham
parent e5e1771834
commit 22be6b4b0c
6 changed files with 37 additions and 11 deletions
@@ -1,4 +1,6 @@
import 'package:core/utils/platform_info.dart';
import 'package:model/extensions/presentation_email_extension.dart';
import 'package:model/extensions/presentation_mailbox_extension.dart';
import 'package:tmail_ui_user/features/email/presentation/bindings/email_bindings.dart';
import 'package:tmail_ui_user/features/mailbox_dashboard/presentation/model/dashboard_routes.dart';
import 'package:model/email/email_in_thread_status.dart';
@@ -24,8 +26,14 @@ extension HandleGetEmailsByIdsSuccess on ThreadDetailController {
if (isThreadDetailEnabled && isInternetConnected) {
loadThreadOnThreadChanged = false;
final mailboxContain = email.findMailboxContain(
mailboxDashBoardController.mapMailboxById,
);
mailboxDashBoardController.dispatchThreadDetailUIAction(
LoadThreadDetailAfterSelectedEmailAction(email.threadId!),
LoadThreadDetailAfterSelectedEmailAction(
email.threadId!,
isSentMailbox: mailboxContain?.isSent == true,
),
);
} else {
emailIdsPresentation[emailId] = emailIdsPresentation[emailId]?.copyWith(
@@ -1,6 +1,8 @@
import 'package:dartz/dartz.dart';
import 'package:flutter/widgets.dart';
import 'package:model/email/presentation_email.dart';
import 'package:model/extensions/presentation_email_extension.dart';
import 'package:model/extensions/presentation_mailbox_extension.dart';
import 'package:tmail_ui_user/features/email/presentation/action/email_ui_action.dart';
import 'package:tmail_ui_user/features/thread/presentation/extensions/list_presentation_email_extensions.dart';
import 'package:tmail_ui_user/features/thread_detail/domain/state/get_emails_by_ids_state.dart';
@@ -35,9 +37,13 @@ extension ThreadDetailOnSelectedEmailUpdated on ThreadDetailController {
_preloadSelectedEmail(selectedEmail);
if (isThreadDetailEnabled && selectedEmail.threadId != null) {
final mailboxContain = selectedEmail.findMailboxContain(
mailboxDashBoardController.mapMailboxById,
);
mailboxDashBoardController.dispatchThreadDetailUIAction(
LoadThreadDetailAfterSelectedEmailAction(
selectedEmail.threadId!,
isSentMailbox: mailboxContain?.isSent == true,
)
);
}