add view highlights context menu to home feed items

This commit is contained in:
Satindar Dhillon
2022-10-04 08:45:48 -07:00
parent 8014bc8edf
commit d82ffa4432
5 changed files with 18 additions and 0 deletions

View File

@ -62,6 +62,9 @@ import Views
.sheet(item: $viewModel.itemUnderTitleEdit) { item in
LinkedItemTitleEditView(item: item)
}
.sheet(item: $viewModel.itemForHighlightsView) { item in
Text("Highlights view for: \(item.unwrappedTitle)") // TODO: implement view
}
.toolbar {
ToolbarItem(placement: .barTrailing) {
Button("", action: {})
@ -255,6 +258,10 @@ import Views
viewModel: viewModel
)
.contextMenu {
Button(
action: { viewModel.itemForHighlightsView = item },
label: { Label("View Highlights", systemImage: "highlighter") }
)
Button(
action: { viewModel.itemUnderTitleEdit = item },
label: { Label("Edit Title/Description", systemImage: "textbox") }
@ -372,6 +379,8 @@ import Views
func contextMenuActionHandler(item: LinkedItem, action: GridCardAction) {
switch action {
case .viewHighlights:
viewModel.itemForHighlightsView = item
case .toggleArchiveStatus:
viewModel.setLinkArchived(dataService: dataService, objectID: item.objectID, archived: !item.isArchived)
case .delete:

View File

@ -36,6 +36,7 @@ import Views
viewModel: viewModel
)
.contextMenu {
// TODO: add highlights view button
Button(
action: { viewModel.itemUnderTitleEdit = item },
label: { Label("Edit Title/Description", systemImage: "textbox") }
@ -137,6 +138,7 @@ import Views
.sheet(item: $viewModel.itemUnderTitleEdit) { item in
LinkedItemTitleEditView(item: item)
}
// TODO: add highlights view sheet
.task {
if viewModel.items.isEmpty {
loadItems(isRefresh: true)

View File

@ -17,6 +17,7 @@ import Views
@Published var showPushNotificationPrimer = false
@Published var itemUnderLabelEdit: LinkedItem?
@Published var itemUnderTitleEdit: LinkedItem?
@Published var itemForHighlightsView: LinkedItem?
@Published var searchTerm = ""
@Published var selectedLabels = [LinkedItemLabel]()
@Published var negatedLabels = [LinkedItemLabel]()

View File

@ -15,4 +15,5 @@ public enum FeatureFlag {
public static let enableSnooze = false
public static let enableGridCardsOnPhone = false
public static let enableTextToSpeechButton = true
public static let enableHighlightsView = true
}

View File

@ -8,6 +8,7 @@ public enum GridCardAction {
case editLabels
case editTitle
case downloadAudio
case viewHighlights
}
public struct GridCard: View {
@ -45,6 +46,10 @@ public struct GridCard: View {
var contextMenuView: some View {
Group {
Button(
action: { menuActionHandler(.viewHighlights) },
label: { Label("View Highlights", systemImage: "highlighter") }
)
Button(
action: { menuActionHandler(.editTitle) },
label: { Label("Edit Title/Description", systemImage: "textbox") }