File tree 3 files changed +27
-4
lines changed
MailCore/Cache/MailboxManager 3 files changed +27
-4
lines changed Original file line number Diff line number Diff line change 16
16
along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
*/
18
18
19
+ import MailCore
19
20
import MailResources
20
21
import SwiftUI
21
22
22
23
struct SnoozedThreadHeaderView : View {
24
+ @EnvironmentObject private var mailboxManager : MailboxManager
25
+
23
26
@State private var isShowingScheduleFloatingPanel = false
24
27
25
28
let date : Date
29
+ let lastMessageFromThread : Message ?
26
30
27
31
var body : some View {
28
32
MessageHeaderActionView (
@@ -47,12 +51,32 @@ struct SnoozedThreadHeaderView: View {
47
51
}
48
52
49
53
private func updateSnoozeDate( _ newDate: Date ) {
54
+ guard let lastMessageFromThread else { return }
50
55
56
+ Task {
57
+ do {
58
+ try await mailboxManager. updateSnooze ( messages: [ lastMessageFromThread] , until: newDate)
59
+ } catch {
60
+ // TODO: Do something
61
+ print ( error)
62
+ }
63
+ }
51
64
}
52
65
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
+ }
54
78
}
55
79
56
80
#Preview {
57
- SnoozedThreadHeaderView ( date: . now)
81
+ SnoozedThreadHeaderView ( date: . now, lastMessageFromThread : nil )
58
82
}
Original file line number Diff line number Diff line change @@ -56,7 +56,7 @@ struct ThreadView: View {
56
56
. padding ( . horizontal, value: . medium)
57
57
58
58
if thread. isSnoozed, let snoozeEndDate = thread. snoozeEndDate {
59
- SnoozedThreadHeaderView ( date: snoozeEndDate)
59
+ SnoozedThreadHeaderView ( date: snoozeEndDate, lastMessageFromThread : thread . lastMessageFromFolder )
60
60
}
61
61
62
62
MessageListView ( messages: thread. messages. toArray ( ) , mailboxManager: mailboxManager)
Original file line number Diff line number Diff line change 1
- //
2
1
/*
3
2
Infomaniak Mail - iOS App
4
3
Copyright (C) 2025 Infomaniak Network SA
You can’t perform that action at this time.
0 commit comments