remove feeditemdep refs from snooze view/model

This commit is contained in:
Satindar Dhillon 2022-04-22 10:34:00 -07:00
parent cb878ba0ef
commit 59533c9a2d
4 changed files with 11 additions and 11 deletions

View file

@ -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 }

View file

@ -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 }

View file

@ -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?

View file

@ -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<Bool>,
itemToSnooze: Binding<FeedItemDep?>,
itemToSnoozeID: Binding<String?>,
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
}
}