add view highlights context menu to home feed items
This commit is contained in:
@ -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:
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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]()
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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") }
|
||||
|
||||
Reference in New Issue
Block a user