mirror of
https://github.com/omnivore-app/omnivore.git
synced 2026-03-11 08:54:26 +00:00
remove homeViewModel references where they're no longer needed
This commit is contained in:
parent
d96a3e1fc1
commit
033965f0b4
3 changed files with 17 additions and 20 deletions
|
|
@ -11,7 +11,7 @@ struct FeedCardNavigationLink: View {
|
|||
@ObservedObject var viewModel: HomeFeedViewModel
|
||||
|
||||
var body: some View {
|
||||
let destination = LinkItemDetailView(viewModel: LinkItemDetailViewModel(item: item, homeFeedViewModel: viewModel))
|
||||
let destination = LinkItemDetailView(viewModel: LinkItemDetailViewModel(item: item))
|
||||
#if os(iOS)
|
||||
let modifiedDestination = destination
|
||||
.navigationTitle("")
|
||||
|
|
@ -50,7 +50,7 @@ struct GridCardNavigationLink: View {
|
|||
@ObservedObject var viewModel: HomeFeedViewModel
|
||||
|
||||
var body: some View {
|
||||
let destination = LinkItemDetailView(viewModel: LinkItemDetailViewModel(item: item, homeFeedViewModel: viewModel))
|
||||
let destination = LinkItemDetailView(viewModel: LinkItemDetailViewModel(item: item))
|
||||
#if os(iOS)
|
||||
let modifiedDestination = destination
|
||||
.navigationTitle("")
|
||||
|
|
|
|||
|
|
@ -10,27 +10,23 @@ enum PDFProvider {
|
|||
}
|
||||
|
||||
@MainActor final class LinkItemDetailViewModel: ObservableObject {
|
||||
let homeFeedViewModel: HomeFeedViewModel
|
||||
@Published var item: LinkedItem
|
||||
@Published var webAppWrapperViewModel: WebAppWrapperViewModel?
|
||||
|
||||
var subscriptions = Set<AnyCancellable>()
|
||||
|
||||
init(item: LinkedItem, homeFeedViewModel: HomeFeedViewModel) {
|
||||
init(item: LinkedItem) {
|
||||
self.item = item
|
||||
self.homeFeedViewModel = homeFeedViewModel
|
||||
}
|
||||
|
||||
func handleArchiveAction(dataService: DataService) {
|
||||
homeFeedViewModel.setLinkArchived(
|
||||
dataService: dataService,
|
||||
objectID: item.objectID,
|
||||
archived: !item.isArchived
|
||||
)
|
||||
dataService.archiveLink(objectID: item.objectID, archived: !item.isArchived)
|
||||
Snackbar.show(message: !item.isArchived ? "Link archived" : "Link moved to Inbox")
|
||||
}
|
||||
|
||||
func handleDeleteAction(dataService: DataService) {
|
||||
homeFeedViewModel.removeLink(dataService: dataService, objectID: item.objectID)
|
||||
Snackbar.show(message: "Link removed")
|
||||
dataService.removeLink(objectID: item.objectID)
|
||||
}
|
||||
|
||||
func updateItemReadStatus(dataService: DataService) {
|
||||
|
|
@ -151,7 +147,7 @@ struct LinkItemDetailView: View {
|
|||
viewModel.trackReadEvent()
|
||||
}
|
||||
} else {
|
||||
WebReaderContainerView(item: viewModel.item, homeFeedViewModel: viewModel.homeFeedViewModel)
|
||||
WebReaderContainerView(item: viewModel.item)
|
||||
.navigationBarHidden(hideNavBar)
|
||||
.task {
|
||||
hideNavBar = true
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import WebKit
|
|||
#if os(iOS)
|
||||
struct WebReaderContainerView: View {
|
||||
let item: LinkedItem
|
||||
let homeFeedViewModel: HomeFeedViewModel
|
||||
|
||||
@State private var showFontSizePopover = false
|
||||
@State private var showLabelsModal = false
|
||||
@State var showHighlightAnnotationModal = false
|
||||
@State var safariWebLink: SafariWebLink?
|
||||
@State private var navBarVisibilityRatio = 1.0
|
||||
|
|
@ -87,16 +87,13 @@ import WebKit
|
|||
content: {
|
||||
Group {
|
||||
Button(
|
||||
action: { homeFeedViewModel.itemUnderLabelEdit = item },
|
||||
action: { showLabelsModal = true },
|
||||
label: { Label("Edit Labels", systemImage: "tag") }
|
||||
)
|
||||
Button(
|
||||
action: {
|
||||
homeFeedViewModel.setLinkArchived(
|
||||
dataService: dataService,
|
||||
objectID: item.objectID,
|
||||
archived: !item.isArchived
|
||||
)
|
||||
dataService.archiveLink(objectID: item.objectID, archived: !item.isArchived)
|
||||
Snackbar.show(message: !item.isArchived ? "Link archived" : "Link moved to Inbox")
|
||||
},
|
||||
label: {
|
||||
Label(
|
||||
|
|
@ -130,10 +127,14 @@ import WebKit
|
|||
}
|
||||
.alert("Are you sure?", isPresented: $showDeleteConfirmation) {
|
||||
Button("Remove Link", role: .destructive) {
|
||||
homeFeedViewModel.removeLink(dataService: dataService, objectID: item.objectID)
|
||||
Snackbar.show(message: "Link removed")
|
||||
dataService.removeLink(objectID: item.objectID)
|
||||
}
|
||||
Button("Cancel", role: .cancel, action: {})
|
||||
}
|
||||
.sheet(isPresented: $showLabelsModal) {
|
||||
ApplyLabelsView(mode: .item(item), onSave: { _ in showLabelsModal = false })
|
||||
}
|
||||
}
|
||||
|
||||
var body: some View {
|
||||
|
|
|
|||
Loading…
Reference in a new issue