summaryrefslogtreecommitdiff
path: root/Hutch/Views/Tickets/TrackerListView.swift
diff options
context:
space:
mode:
Diffstat (limited to 'Hutch/Views/Tickets/TrackerListView.swift')
-rw-r--r--Hutch/Views/Tickets/TrackerListView.swift30
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")
+ }
+ }
}
}