From 38d2cc53504a33faafb4393aaea69ba655f9efa4 Mon Sep 17 00:00:00 2001 From: Florent Azavant Date: Fri, 10 Jan 2025 10:38:02 +0100 Subject: [PATCH] TF-2305 Swiping left on a mail does nothing if `Archive` does not exist --- .../thread/presentation/mixin/email_action_controller.dart | 4 ++++ lib/features/thread/presentation/thread_controller.dart | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/features/thread/presentation/mixin/email_action_controller.dart b/lib/features/thread/presentation/mixin/email_action_controller.dart index 280337c0c..a18d7aa19 100644 --- a/lib/features/thread/presentation/mixin/email_action_controller.dart +++ b/lib/features/thread/presentation/mixin/email_action_controller.dart @@ -337,4 +337,8 @@ mixin EmailActionController { void archiveMessage(BuildContext context, PresentationEmail email) { mailboxDashBoardController.archiveMessage(context, email); } + + bool hasArchiveMailbox() { + return mailboxDashBoardController.getMailboxIdByRole(PresentationMailbox.roleArchive) != null; + } } \ No newline at end of file diff --git a/lib/features/thread/presentation/thread_controller.dart b/lib/features/thread/presentation/thread_controller.dart index c3b339e60..04463a857 100644 --- a/lib/features/thread/presentation/thread_controller.dart +++ b/lib/features/thread/presentation/thread_controller.dart @@ -1446,7 +1446,7 @@ class ThreadController extends BaseController with EmailActionController { return DismissDirection.none; } - return isInArchiveMailbox(email) + return isInArchiveMailbox(email) || !hasArchiveMailbox() ? DismissDirection.startToEnd : DismissDirection.horizontal; }