use a snozzeActionParams struct to pass values
This commit is contained in:
@ -239,9 +239,9 @@ public struct HomeFeedView: View {
|
||||
}
|
||||
}
|
||||
.formSheet(isPresented: $snoozePresented) {
|
||||
SnoozeView(snoozePresented: $snoozePresented, itemToSnooze: $itemToSnooze) { linkId, until, successMessage in
|
||||
SnoozeView(snoozePresented: $snoozePresented, itemToSnooze: $itemToSnooze) {
|
||||
viewModel.performActionSubject.send(
|
||||
.snooze(linkId: linkId, until: until, successMessage: successMessage)
|
||||
.snooze(linkId: $0.feedItemId, until: $0.snoozeUntilDate, successMessage: $0.successMessage)
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@ import SwiftUI
|
||||
struct SnoozeView: View {
|
||||
@Binding var snoozePresented: Bool
|
||||
@Binding var itemToSnooze: FeedItem?
|
||||
let snoozeAction: (String, Date, String?) -> Void
|
||||
let snoozeAction: (SnoozeActionParams) -> Void
|
||||
|
||||
var body: some View {
|
||||
VStack {
|
||||
@ -28,7 +28,13 @@ struct SnoozeView: View {
|
||||
private func snoozeItem(_ snooze: Snooze) {
|
||||
if let item = itemToSnooze {
|
||||
withAnimation(.linear(duration: 0.4)) {
|
||||
snoozeAction(item.id, snooze.until, "Snoozed until \(snooze.untilStr)")
|
||||
snoozeAction(
|
||||
SnoozeActionParams(
|
||||
feedItemId: item.id,
|
||||
snoozeUntilDate: snooze.until,
|
||||
successMessage: "Snoozed until \(snooze.untilStr)"
|
||||
)
|
||||
)
|
||||
}
|
||||
}
|
||||
itemToSnooze = nil
|
||||
@ -36,6 +42,12 @@ struct SnoozeView: View {
|
||||
}
|
||||
}
|
||||
|
||||
struct SnoozeActionParams {
|
||||
let feedItemId: String
|
||||
let snoozeUntilDate: Date
|
||||
let successMessage: String?
|
||||
}
|
||||
|
||||
private struct SnoozeIconButtonView: View {
|
||||
let snooze: Snooze
|
||||
let action: (_ snooze: Snooze) -> Void
|
||||
|
||||
Reference in New Issue
Block a user