Show HTML pages in a task view beside the transcript
This commit is contained in:
@@ -5,6 +5,7 @@ enum SheetView {
|
||||
case tab(TaskTab)
|
||||
case image(NSImage)
|
||||
case diagram(BoxLayout)
|
||||
case page(Page)
|
||||
}
|
||||
|
||||
struct Sheet {
|
||||
@@ -81,6 +82,19 @@ private struct SheetPanel: View {
|
||||
.lineLimit(1)
|
||||
.truncationMode(.tail)
|
||||
Spacer(minLength: 0)
|
||||
if case .page(let page) = sheet.view, let url = page.url(store) {
|
||||
Button {
|
||||
NSWorkspace.shared.open(url)
|
||||
} label: {
|
||||
Text("↗ Browser")
|
||||
.font(Fonts.font(13, weight: 700))
|
||||
.foregroundStyle(accent)
|
||||
.padding(.horizontal, 6)
|
||||
.contentShape(Rectangle())
|
||||
}
|
||||
.buttonStyle(.plain)
|
||||
.help("Open the page in the default browser")
|
||||
}
|
||||
Button {
|
||||
store.sheet = nil
|
||||
} label: {
|
||||
@@ -115,6 +129,7 @@ private struct SheetPanel: View {
|
||||
case .tab(let t): tabLabels[t]!
|
||||
case .image: "Image"
|
||||
case .diagram: "Diagram"
|
||||
case .page(let page): page.title(store)
|
||||
}
|
||||
if !overLeft {
|
||||
return "Lead · \(label)"
|
||||
@@ -144,6 +159,8 @@ private struct SheetPanel: View {
|
||||
DiagramViewer(layout: layout)
|
||||
.id(layout.id)
|
||||
.padding(12)
|
||||
case .page(let page):
|
||||
PageView(page: page)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user