Skip to content

Commit b4c464d

Browse files
committed
Add ability to copy/open transitions
1 parent 594b90e commit b4c464d

3 files changed

Lines changed: 19 additions & 3 deletions

File tree

Nodal/Nodal/Screen/NodeMenuItems.swift

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import SwiftUI
99

1010
@ViewBuilder
11-
func nodeMenuItems(nid: NID, dataURL: URL?) -> some View {
11+
func nodeMenuItems(nid: NID, dataURL: URL?, transition: String?) -> some View {
1212
Button {
1313
UIPasteboard.general.string = String(describing: nid)
1414
} label: {
@@ -22,4 +22,19 @@ func nodeMenuItems(nid: NID, dataURL: URL?) -> some View {
2222
Label("Copy data file path", systemImage: "document")
2323
}
2424
}
25+
if let transition {
26+
if let url = URL(string: transition),
27+
url.scheme != nil {
28+
Button {
29+
UIApplication.shared.open(url)
30+
} label: {
31+
Label("Open in browser", systemImage: "safari")
32+
}
33+
}
34+
Button {
35+
UIPasteboard.general.string = transition
36+
} label: {
37+
Label("Copy transition", systemImage: "character")
38+
}
39+
}
2540
}

Nodal/Nodal/Screen/NodeScreen.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ struct NodeScreen: View {
8484
func toolbarContent(for state: NodeState) -> some ToolbarContent {
8585
ToolbarItem(placement: .navigationBarTrailing) {
8686
Menu {
87-
nodeMenuItems(nid: vm.nid, dataURL: state.dataURL)
87+
nodeMenuItems(nid: vm.nid, dataURL: state.dataURL, transition: nil)
8888
} label: {
8989
Image(systemName: "link")
9090
} primaryAction: {

Nodal/Nodal/Screen/TransitionCell.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,8 @@ struct TransitionCell: View {
133133
.contextMenu {
134134
nodeMenuItems(
135135
nid: vm.destination.nid,
136-
dataURL: vm.dataURL.loaded ?? nil
136+
dataURL: vm.dataURL.loaded ?? nil,
137+
transition: vm.transition
137138
)
138139
}
139140
.swipeActions(edge: .leading) {

0 commit comments

Comments
 (0)