diff --git a/MailCore/Cache/Actions/Action+List.swift b/MailCore/Cache/Actions/Action+List.swift index c9d90461e..a34751ff6 100644 --- a/MailCore/Cache/Actions/Action+List.swift +++ b/MailCore/Cache/Actions/Action+List.swift @@ -79,7 +79,7 @@ extension Action: CaseIterable { private static func actionsForMessagesInDifferentThreads(_ messages: [Message]) -> (quickActions: [Action], listActions: [Action]) { let unread = messages.allSatisfy(\.seen) - let quickActions: [Action] = [.openMovePanel, unread ? .markAsRead : .markAsUnread, .archive, .delete] + let quickActions: [Action] = [.openMovePanel, unread ? .markAsUnread : .markAsRead, .archive, .delete] let spam = messages.allSatisfy { $0.folder?.role == .spam } let star = messages.allSatisfy(\.flagged) @@ -104,7 +104,7 @@ extension Action: CaseIterable { let tempListActions: [Action?] = [ .openMovePanel, spamAction, - unread ? .markAsRead : .markAsUnread, + unread ? .markAsUnread : .markAsRead, archive ? .archive : .moveToInbox, star ? .unstar : .star ] diff --git a/MailCore/Cache/Actions/ActionsManager.swift b/MailCore/Cache/Actions/ActionsManager.swift index 17b535101..70bdad770 100644 --- a/MailCore/Cache/Actions/ActionsManager.swift +++ b/MailCore/Cache/Actions/ActionsManager.swift @@ -99,12 +99,12 @@ public class ActionsManager: ObservableObject { case .archive: try await performMove(messages: messagesWithDuplicates, to: .archive) case .markAsRead: + try await mailboxManager.markAsSeen(messages: messagesWithDuplicates, seen: true) + case .markAsUnread: let messagesToExecuteAction = messagesWithDuplicates.lastMessagesAndDuplicatesToExecuteAction( currentMailboxEmail: mailboxManager.mailbox.email ) - try await mailboxManager.markAsSeen(messages: messagesToExecuteAction, seen: true) - case .markAsUnread: - try await mailboxManager.markAsSeen(messages: messagesWithDuplicates, seen: false) + try await mailboxManager.markAsSeen(messages: messagesToExecuteAction, seen: false) case .openMovePanel: Task { @MainActor in origin.nearestMessagesToMoveSheet?.wrappedValue = messagesWithDuplicates