Skip to content

Commit 603c87f

Browse files
feat: Update and cancel message
1 parent a7c28bc commit 603c87f

File tree

3 files changed

+27
-4
lines changed

3 files changed

+27
-4
lines changed

Mail/Views/Thread/SnoozedThreadHeaderView.swift

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,17 @@
1616
along with this program. If not, see <http://www.gnu.org/licenses/>.
1717
*/
1818

19+
import MailCore
1920
import MailResources
2021
import SwiftUI
2122

2223
struct SnoozedThreadHeaderView: View {
24+
@EnvironmentObject private var mailboxManager: MailboxManager
25+
2326
@State private var isShowingScheduleFloatingPanel = false
2427

2528
let date: Date
29+
let lastMessageFromThread: Message?
2630

2731
var body: some View {
2832
MessageHeaderActionView(
@@ -47,12 +51,32 @@ struct SnoozedThreadHeaderView: View {
4751
}
4852

4953
private func updateSnoozeDate(_ newDate: Date) {
54+
guard let lastMessageFromThread else { return }
5055

56+
Task {
57+
do {
58+
try await mailboxManager.updateSnooze(messages: [lastMessageFromThread], until: newDate)
59+
} catch {
60+
// TODO: Do something
61+
print(error)
62+
}
63+
}
5164
}
5265

53-
private func cancel() {}
66+
private func cancel() {
67+
guard let lastMessageFromThread else { return }
68+
69+
Task {
70+
do {
71+
try await mailboxManager.deleteSnooze(messages: [lastMessageFromThread])
72+
} catch {
73+
// TODO: Do something
74+
print(error)
75+
}
76+
}
77+
}
5478
}
5579

5680
#Preview {
57-
SnoozedThreadHeaderView(date: .now)
81+
SnoozedThreadHeaderView(date: .now, lastMessageFromThread: nil)
5882
}

Mail/Views/Thread/ThreadView.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ struct ThreadView: View {
5656
.padding(.horizontal, value: .medium)
5757

5858
if thread.isSnoozed, let snoozeEndDate = thread.snoozeEndDate {
59-
SnoozedThreadHeaderView(date: snoozeEndDate)
59+
SnoozedThreadHeaderView(date: snoozeEndDate, lastMessageFromThread: thread.lastMessageFromFolder)
6060
}
6161

6262
MessageListView(messages: thread.messages.toArray(), mailboxManager: mailboxManager)

MailCore/Cache/MailboxManager/MailboxManager+Snooze.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
//
21
/*
32
Infomaniak Mail - iOS App
43
Copyright (C) 2025 Infomaniak Network SA

0 commit comments

Comments
 (0)