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/WatchlistView.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/WatchlistView.swift')
| -rw-r--r-- | DomainDig/WatchlistView.swift | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/DomainDig/WatchlistView.swift b/DomainDig/WatchlistView.swift index d092f65..d91dd5d 100644 --- a/DomainDig/WatchlistView.swift +++ b/DomainDig/WatchlistView.swift @@ -476,6 +476,8 @@ struct TrackedDomainDetailView: View { @State private var isEditingNote = false @State private var showRerunOptions = false @State private var shareEntity: ShareableEntity? + @State private var showingAuditTimeline = false + @State private var auditStartInFlight = false private var liveTrackedDomain: TrackedDomain { viewModel.trackedDomains.first(where: { $0.id == trackedDomain.id }) ?? trackedDomain @@ -513,6 +515,27 @@ struct TrackedDomainDetailView: View { } Button { + Task { + auditStartInFlight = true + if await viewModel.startAudit(for: liveTrackedDomain.domain) != nil { + showingAuditTimeline = true + } + auditStartInFlight = false + } + } label: { + Label(auditStartInFlight ? "Starting Audit…" : "Start Audit", systemImage: "checklist") + } + .disabled(auditStartInFlight) + + if !viewModel.audits(for: liveTrackedDomain.domain).isEmpty { + Button { + showingAuditTimeline = true + } label: { + Label("View Audits", systemImage: "clock.badge.checkmark") + } + } + + Button { viewModel.togglePinned(for: liveTrackedDomain) } label: { Label(liveTrackedDomain.isPinned ? "Unpin Domain" : "Pin Domain", systemImage: liveTrackedDomain.isPinned ? "pin.slash" : "pin") @@ -651,5 +674,10 @@ struct TrackedDomainDetailView: View { .sheet(item: $shareEntity) { entity in CloudSharingSheet(entity: entity, title: liveTrackedDomain.domain) } + .sheet(isPresented: $showingAuditTimeline) { + NavigationStack { + AuditDomainTimelineView(viewModel: viewModel, domain: liveTrackedDomain.domain) + } + } } } |
