diff options
| author | Christian Cleberg <[email protected]> | 2026-07-16 23:48:10 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-07-16 23:48:10 -0500 |
| commit | d8195992e519343d6d8ff7fb17aa98358800d913 (patch) | |
| tree | 09ef08c1c06ac55c84299d5fd1251755fe0cac4f /DomainDig/ContentView.swift | |
| parent | 1edf5bc83c0dcc07246908af341f37e2c871edd7 (diff) | |
| download | domain-dig-d8195992e519343d6d8ff7fb17aa98358800d913.tar.gz domain-dig-d8195992e519343d6d8ff7fb17aa98358800d913.tar.bz2 domain-dig-d8195992e519343d6d8ff7fb17aa98358800d913.zip | |
DomainDig v4.4.1: Consolidate Audit Mode and remove the CLI targetv4.4.1
- Make DomainDig/DomainDig/Audit* the single active Audit Mode implementation
(models, views, exporter) with an Audit tab and session/export UI
- Include audit sessions in backup/restore lifecycle counts, summaries, and
merge behavior via DomainDataPortabilityService
- Remove the DomainDigCLI target, source file, scheme, and all project
references; keep the shared inspection/report pipeline for the app
- Align AppVersion.current to 4.4.1 and refresh README/architecture docs
- Add RELEASE_ROADMAP.md
Diffstat (limited to 'DomainDig/ContentView.swift')
| -rw-r--r-- | DomainDig/ContentView.swift | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/DomainDig/ContentView.swift b/DomainDig/ContentView.swift index 5a469e1..30d693e 100644 --- a/DomainDig/ContentView.swift +++ b/DomainDig/ContentView.swift @@ -44,6 +44,8 @@ struct ContentView: View { @State private var showingCurrentDomainWorkflowSheet = false @State private var showingBatchWorkflowSheet = false @State private var showingTimeline = false + @State private var showingAuditTimeline = false + @State private var auditStartInFlight = false var body: some View { let _ = purchaseService.currentTier @@ -274,6 +276,11 @@ struct ContentView: View { TimelineView(viewModel: viewModel, domain: viewModel.searchedDomain) } } + .sheet(isPresented: $showingAuditTimeline) { + NavigationStack { + AuditDomainTimelineView(viewModel: viewModel, domain: viewModel.searchedDomain) + } + } } private var manualBatchSummaryBinding: Binding<BatchSweepSummary?> { @@ -508,6 +515,21 @@ struct ContentView: View { Button("Add to workflow") { showingCurrentDomainWorkflowSheet = true } + Button(auditStartInFlight ? "Starting audit…" : "Start audit") { + Task { + auditStartInFlight = true + if await viewModel.startAudit(for: viewModel.searchedDomain) != nil { + showingAuditTimeline = true + } + auditStartInFlight = false + } + } + .disabled(auditStartInFlight) + if !viewModel.audits(for: viewModel.searchedDomain).isEmpty { + Button("View audits") { + showingAuditTimeline = true + } + } if !viewModel.historyEntries(for: viewModel.searchedDomain).isEmpty { Button("Open timeline") { showingTimeline = true @@ -3301,6 +3323,7 @@ private struct DataPortabilitySettingsView: View { Section("Local Data") { LabeledContent("Tracked Domains", value: "\(viewModel.dataLifecycleSummary.trackedDomains)") LabeledContent("History Snapshots", value: "\(viewModel.dataLifecycleSummary.historySnapshots)") + LabeledContent("Audit Sessions", value: "\(viewModel.dataLifecycleSummary.auditSessions)") LabeledContent("Workflows", value: "\(viewModel.dataLifecycleSummary.workflows)") LabeledContent("Cached Items", value: "\(viewModel.dataLifecycleSummary.cachedItems)") LabeledContent("Monitoring Logs", value: "\(viewModel.dataLifecycleSummary.monitoringLogs)") @@ -3702,6 +3725,7 @@ private struct DataImportPreviewSheet: View { Section("Projected Counts") { LabeledContent("Tracked Domains", value: "\(preview.projectedCounts.trackedDomains)") LabeledContent("History Snapshots", value: "\(preview.projectedCounts.historySnapshots)") + LabeledContent("Audit Sessions", value: "\(preview.projectedCounts.auditSessions)") LabeledContent("Workflows", value: "\(preview.projectedCounts.workflows)") LabeledContent("Cached Items", value: "\(preview.projectedCounts.cachedItems)") LabeledContent("Monitoring Logs", value: "\(preview.projectedCounts.monitoringLogs)") |
