diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift index 36618bd0d..e53c6ba54 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewIOS.swift @@ -64,7 +64,7 @@ import Views } } .formSheet(isPresented: $viewModel.snoozePresented) { - SnoozeView(snoozePresented: $viewModel.snoozePresented, itemToSnooze: $viewModel.itemToSnooze) { + SnoozeView(snoozePresented: $viewModel.snoozePresented, itemToSnoozeID: $viewModel.itemToSnoozeID) { viewModel.snoozeUntil( dataService: dataService, linkId: $0.feedItemId, @@ -182,7 +182,7 @@ import Views ) if FeatureFlag.enableSnooze { Button { - viewModel.itemToSnooze = item + viewModel.itemToSnoozeID = item.id viewModel.snoozePresented = true } label: { Label { Text("Snooze") } icon: { Image.moon } @@ -233,7 +233,7 @@ import Views .swipeActions(edge: .leading, allowsFullSwipe: true) { if FeatureFlag.enableSnooze { Button { - viewModel.itemToSnooze = item + viewModel.itemToSnoozeID = item.id viewModel.snoozePresented = true } label: { Label { Text("Snooze") } icon: { Image.moon } diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewMac.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewMac.swift index 6f17a64cb..942c56ec3 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewMac.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewMac.swift @@ -40,7 +40,7 @@ import Views ) if FeatureFlag.enableSnooze { Button { - viewModel.itemToSnooze = item + viewModel.itemToSnoozeID = item.id viewModel.snoozePresented = true } label: { Label { Text("Snooze") } icon: { Image.moon } diff --git a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift index 3e364309e..d0a26c9e4 100644 --- a/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift +++ b/apple/OmnivoreKit/Sources/App/Views/Home/HomeFeedViewModel.swift @@ -21,7 +21,7 @@ import Views @Published var searchTerm = "" @Published var selectedLabels = [FeedItemLabelDep]() @Published var snoozePresented = false - @Published var itemToSnooze: FeedItemDep? + @Published var itemToSnoozeID: String? @Published var selectedLinkItem: FeedItemDep? var cursor: String? diff --git a/apple/OmnivoreKit/Sources/Views/SnoozeView.swift b/apple/OmnivoreKit/Sources/Views/SnoozeView.swift index 4b495efe8..3209144b2 100644 --- a/apple/OmnivoreKit/Sources/Views/SnoozeView.swift +++ b/apple/OmnivoreKit/Sources/Views/SnoozeView.swift @@ -3,16 +3,16 @@ import SwiftUI public struct SnoozeView: View { @Binding var snoozePresented: Bool - @Binding var itemToSnooze: FeedItemDep? + @Binding var itemToSnoozeID: String? let snoozeAction: (SnoozeActionParams) -> Void public init( snoozePresented: Binding, - itemToSnooze: Binding, + itemToSnoozeID: Binding, snoozeAction: @escaping (SnoozeActionParams) -> Void ) { self._snoozePresented = snoozePresented - self._itemToSnooze = itemToSnooze + self._itemToSnoozeID = itemToSnoozeID self.snoozeAction = snoozeAction } @@ -36,18 +36,18 @@ public struct SnoozeView: View { } private func snoozeItem(_ snooze: Snooze) { - if let item = itemToSnooze { + if let itemID = itemToSnoozeID { withAnimation(.linear(duration: 0.4)) { snoozeAction( SnoozeActionParams( - feedItemId: item.id, + feedItemId: itemID, snoozeUntilDate: snooze.until, successMessage: "Snoozed until \(snooze.untilStr)" ) ) } } - itemToSnooze = nil + itemToSnoozeID = nil snoozePresented = false } }