move snoozePresented var into home View Model

This commit is contained in:
Satindar Dhillon 2022-04-08 09:10:51 -07:00
parent 2ebe340509
commit 4c21bb4c69
4 changed files with 7 additions and 15 deletions

View file

@ -10,7 +10,6 @@ import Views
struct HomeFeedContainerView: View {
@EnvironmentObject var dataService: DataService
@AppStorage(UserDefaultKey.homeFeedlayoutPreference.rawValue) var prefersListLayout = UIDevice.isIPhone
@State private var snoozePresented = false
@State private var itemToSnooze: FeedItem?
@State private var selectedLinkItem: FeedItem?
@ObservedObject var viewModel: HomeFeedViewModel
@ -21,7 +20,6 @@ import Views
HomeFeedView(
prefersListLayout: $prefersListLayout,
selectedLinkItem: $selectedLinkItem,
snoozePresented: $snoozePresented,
itemToSnooze: $itemToSnooze,
viewModel: viewModel
)
@ -56,7 +54,6 @@ import Views
HomeFeedView(
prefersListLayout: $prefersListLayout,
selectedLinkItem: $selectedLinkItem,
snoozePresented: $snoozePresented,
itemToSnooze: $itemToSnooze,
viewModel: viewModel
)
@ -92,8 +89,8 @@ import Views
self.selectedLinkItem = feedItem
}
}
.formSheet(isPresented: $snoozePresented) {
SnoozeView(snoozePresented: $snoozePresented, itemToSnooze: $itemToSnooze) {
.formSheet(isPresented: $viewModel.snoozePresented) {
SnoozeView(snoozePresented: $viewModel.snoozePresented, itemToSnooze: $itemToSnooze) {
viewModel.snoozeUntil(
dataService: dataService,
linkId: $0.feedItemId,
@ -118,7 +115,6 @@ import Views
@Binding var prefersListLayout: Bool
@Binding var selectedLinkItem: FeedItem?
@Binding var snoozePresented: Bool
@Binding var itemToSnooze: FeedItem?
@ObservedObject var viewModel: HomeFeedViewModel
@ -128,14 +124,12 @@ import Views
HomeFeedListView(
prefersListLayout: $prefersListLayout,
selectedLinkItem: $selectedLinkItem,
snoozePresented: $snoozePresented,
itemToSnooze: $itemToSnooze,
viewModel: viewModel
)
} else {
HomeFeedGridView(
selectedLinkItem: $selectedLinkItem,
snoozePresented: $snoozePresented,
itemToSnooze: $itemToSnooze,
viewModel: viewModel
)
@ -179,7 +173,6 @@ import Views
@EnvironmentObject var dataService: DataService
@Binding var prefersListLayout: Bool
@Binding var selectedLinkItem: FeedItem?
@Binding var snoozePresented: Bool
@Binding var itemToSnooze: FeedItem?
@State private var itemToRemove: FeedItem?
@ -217,7 +210,7 @@ import Views
if FeatureFlag.enableSnooze {
Button {
itemToSnooze = item
snoozePresented = true
viewModel.snoozePresented = true
} label: {
Label { Text("Snooze") } icon: { Image.moon }
}
@ -270,7 +263,7 @@ import Views
if FeatureFlag.enableSnooze {
Button {
itemToSnooze = item
snoozePresented = true
viewModel.snoozePresented = true
} label: {
Label { Text("Snooze") } icon: { Image.moon }
}.tint(.appYellow48)
@ -308,7 +301,6 @@ import Views
struct HomeFeedGridView: View {
@EnvironmentObject var dataService: DataService
@Binding var selectedLinkItem: FeedItem?
@Binding var snoozePresented: Bool
@Binding var itemToSnooze: FeedItem?
@State private var itemToRemove: FeedItem?

View file

@ -12,7 +12,6 @@ import Views
@State private var selectedLinkItem: FeedItem?
@State private var itemToRemove: FeedItem?
@State private var confirmationShown = false
@State private var snoozePresented = false
@State private var itemToSnooze: FeedItem?
@ObservedObject var viewModel: HomeFeedViewModel
@ -54,7 +53,7 @@ import Views
if FeatureFlag.enableSnooze {
Button {
itemToSnooze = item
snoozePresented = true
viewModel.snoozePresented = true
} label: {
Label { Text("Snooze") } icon: { Image.moon }
}

View file

@ -16,6 +16,7 @@ final class HomeFeedViewModel: ObservableObject {
@Published var showPushNotificationPrimer = false
@Published var itemUnderLabelEdit: FeedItem?
@Published var searchQuery = ""
@Published var snoozePresented = false
var cursor: String?
var sendProgressUpdates = false

View file

@ -13,7 +13,7 @@ public enum FeatureFlag {
public static let enableRemindersFromShareExtension = false
public static let enablePushNotifications = false
public static let enableShareButton = false
public static let enableSnooze = false
public static let enableSnooze = true
public static let enableLabels = true
public static let useLocalWebView = true
}