From 9384a668bf36f23f71e25d05b490d1040d308845 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Wed, 22 Apr 2026 10:14:30 -0500 Subject: feat(v2.8.0): add workflows and repeatable inspection automation * introduce DomainWorkflow model and persistence * add WorkflowsView and execution flow * support batch inspection via workflows * add workflow-based export (TXT/CSV/JSON) * enable bulk add from history/watchlist * add quick actions for common operations * integrate workflows with tracking and history --- DomainDig/WatchlistView.swift | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'DomainDig/WatchlistView.swift') diff --git a/DomainDig/WatchlistView.swift b/DomainDig/WatchlistView.swift index d58061f..a434705 100644 --- a/DomainDig/WatchlistView.swift +++ b/DomainDig/WatchlistView.swift @@ -4,6 +4,7 @@ struct WatchlistView: View { @Environment(\.appDensity) private var appDensity @Bindable var viewModel: DomainViewModel @Environment(\.dismiss) private var dismiss + @State private var showWorkflowAddSheet = false private var pinnedDomains: [TrackedDomain] { viewModel.filteredTrackedDomains.filter(\.isPinned) @@ -99,6 +100,10 @@ struct WatchlistView: View { } .disabled(viewModel.batchLookupRunning) + Button("Add to Workflow") { + showWorkflowAddSheet = true + } + Button("Export TXT") { shareTrackedDomains(format: .text) } @@ -124,6 +129,13 @@ struct WatchlistView: View { .sheet(item: batchSummaryBinding) { summary in BatchSweepSummaryView(viewModel: viewModel, summary: summary) } + .sheet(isPresented: $showWorkflowAddSheet) { + WorkflowBulkAddSheet( + viewModel: viewModel, + title: "Add Watchlist Domains", + availableDomains: viewModel.filteredTrackedDomains.map(\.domain) + ) + } .preferredColorScheme(.dark) } -- cgit v1.2.3