diff options
Diffstat (limited to 'Hutch/Views/Tickets/TrackerListView.swift')
| -rw-r--r-- | Hutch/Views/Tickets/TrackerListView.swift | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Hutch/Views/Tickets/TrackerListView.swift b/Hutch/Views/Tickets/TrackerListView.swift index 50604b8..db0fdf2 100644 --- a/Hutch/Views/Tickets/TrackerListView.swift +++ b/Hutch/Views/Tickets/TrackerListView.swift @@ -224,6 +224,9 @@ struct TrackerListView: View { // MARK: - Tracker Row private struct TrackerRowView: View { + @Environment(AppState.self) private var appState + @Environment(\.openURL) private var openURL + let tracker: TrackerSummary var body: some View { @@ -255,5 +258,32 @@ private struct TrackerRowView: View { .foregroundStyle(.tertiary) } .padding(.vertical, 2) + .contextMenu { + if let url = SRHTWebURL.tracker(tracker) { + Button { + openURL(url) + } label: { + Label("Open in Browser", systemImage: "safari") + } + + Button { + appState.copyToPasteboard(url.absoluteString, label: "tracker URL") + } label: { + Label("Copy URL", systemImage: "doc.on.doc") + } + } + + Button { + appState.copyToPasteboard(String(tracker.id), label: "tracker ID") + } label: { + Label("Copy Tracker ID", systemImage: "number") + } + + Button { + appState.copyToPasteboard(tracker.rid, label: "tracker RID") + } label: { + Label("Copy RID", systemImage: "number") + } + } } } |
