From 2b52ee5520cad3c47d30d513946645366f268762 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Fri, 17 Jul 2026 11:12:16 -0500 Subject: v4.8.0: Wire markdown/PDF export buttons into share menus Adds "Export Markdown"/"Export PDF" (and batch/workflow equivalents) to the single-result, batch, watchlist, and workflow export menus, gated behind .advancedExports like the existing CSV/JSON options. Matches the existing menu structure and Pro-gate wording per file rather than introducing a new shared component, consistent with how CSV/JSON were already duplicated across these five menus before this change. --- DomainDig/ContentView.swift | 20 ++++++++++++++++++++ DomainDig/WatchlistView.swift | 12 ++++++++++++ DomainDig/WorkflowsView.swift | 20 ++++++++++++++++++++ 3 files changed, 52 insertions(+) diff --git a/DomainDig/ContentView.swift b/DomainDig/ContentView.swift index b5ec729..d69cfa3 100644 --- a/DomainDig/ContentView.swift +++ b/DomainDig/ContentView.swift @@ -572,11 +572,21 @@ struct ContentView: View { Button("Export JSON") { shareSingleResults(format: .json) } + Button("Export Markdown") { + shareSingleResults(format: .markdown) + } + Button("Export PDF") { + shareSingleResults(format: .pdf) + } } else { Button("CSV Export • Available in Pro") {} .disabled(true) Button("JSON Export • Available in Pro") {} .disabled(true) + Button("Markdown Export • Available in Pro") {} + .disabled(true) + Button("PDF Export • Available in Pro") {} + .disabled(true) } } label: { Image(systemName: "square.and.arrow.up") @@ -614,11 +624,21 @@ struct ContentView: View { Button("Export Batch JSON") { shareBatchResults(format: .json) } + Button("Export Batch Markdown") { + shareBatchResults(format: .markdown) + } + Button("Export Batch PDF") { + shareBatchResults(format: .pdf) + } } else { Button("Batch CSV • Available in Pro") {} .disabled(true) Button("Batch JSON • Available in Pro") {} .disabled(true) + Button("Batch Markdown • Available in Pro") {} + .disabled(true) + Button("Batch PDF • Available in Pro") {} + .disabled(true) } } label: { Label("Export", systemImage: "square.and.arrow.up") diff --git a/DomainDig/WatchlistView.swift b/DomainDig/WatchlistView.swift index a1af244..5670e5e 100644 --- a/DomainDig/WatchlistView.swift +++ b/DomainDig/WatchlistView.swift @@ -160,11 +160,23 @@ struct WatchlistView: View { Button("Export JSON") { shareTrackedDomains(format: .json) } + + Button("Export Markdown") { + shareTrackedDomains(format: .markdown) + } + + Button("Export PDF") { + shareTrackedDomains(format: .pdf) + } } else { Button("CSV Export • Available in Pro") {} .disabled(true) Button("JSON Export • Available in Pro") {} .disabled(true) + Button("Markdown Export • Available in Pro") {} + .disabled(true) + Button("PDF Export • Available in Pro") {} + .disabled(true) } } label: { Image(systemName: "line.3.horizontal.decrease.circle") diff --git a/DomainDig/WorkflowsView.swift b/DomainDig/WorkflowsView.swift index e1cea09..3cfca42 100644 --- a/DomainDig/WorkflowsView.swift +++ b/DomainDig/WorkflowsView.swift @@ -246,11 +246,21 @@ struct WorkflowDetailView: View { Button("Export JSON") { shareWorkflowResults(format: .json) } + Button("Export Markdown") { + shareWorkflowResults(format: .markdown) + } + Button("Export PDF") { + shareWorkflowResults(format: .pdf) + } } else { Button("CSV Export • Available in Pro") {} .disabled(true) Button("JSON Export • Available in Pro") {} .disabled(true) + Button("Markdown Export • Available in Pro") {} + .disabled(true) + Button("PDF Export • Available in Pro") {} + .disabled(true) } } label: { Label("Export Results", systemImage: "square.and.arrow.up") @@ -537,11 +547,21 @@ struct WorkflowRunSummaryView: View { Button("Export JSON") { share(format: .json) } + Button("Export Markdown") { + share(format: .markdown) + } + Button("Export PDF") { + share(format: .pdf) + } } else { Button("CSV Export • Available in Pro") {} .disabled(true) Button("JSON Export • Available in Pro") {} .disabled(true) + Button("Markdown Export • Available in Pro") {} + .disabled(true) + Button("PDF Export • Available in Pro") {} + .disabled(true) } } label: { Image(systemName: "square.and.arrow.up") -- cgit v1.2.3