summaryrefslogtreecommitdiff
path: root/DomainDig/WatchlistView.swift
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-22 11:46:52 -0500
committerChristian Cleberg <[email protected]>2026-04-22 11:46:52 -0500
commit37b02e5ee360d61751951b77b7b556165a3af1fc (patch)
treec2e30f32c4e8d2fcdf7035f97e9e353f09859114 /DomainDig/WatchlistView.swift
parentceac99c05f180d9008b75c9329822466ff60255b (diff)
downloaddomain-dig-37b02e5ee360d61751951b77b7b556165a3af1fc.tar.gz
domain-dig-37b02e5ee360d61751951b77b7b556165a3af1fc.tar.bz2
domain-dig-37b02e5ee360d61751951b77b7b556165a3af1fc.zip
feat(v3.0.0): unify platform architecture and introduce feature tiers
* consolidate DomainReport as canonical data model * add feature tier system (free/pro/data+ scaffolding) * apply clean feature gating across workflows and tracking * refactor app structure for maintainability * standardize navigation and settings * add data lifecycle controls * ensure consistency across UI, export, and CLI * stabilize internal inspection API
Diffstat (limited to 'DomainDig/WatchlistView.swift')
-rw-r--r--DomainDig/WatchlistView.swift19
1 files changed, 13 insertions, 6 deletions
diff --git a/DomainDig/WatchlistView.swift b/DomainDig/WatchlistView.swift
index a434705..fcb5a16 100644
--- a/DomainDig/WatchlistView.swift
+++ b/DomainDig/WatchlistView.swift
@@ -55,7 +55,7 @@ struct WatchlistView: View {
}
.listRowBackground(Color(.systemGray6).opacity(0.5))
} else {
- if let limitMessage = PremiumAccessService.trackedDomainLimitMessage(currentCount: viewModel.trackedDomains.count) {
+ if let limitMessage = FeatureAccessService.trackedDomainLimitMessage(currentCount: viewModel.trackedDomains.count) {
Section {
Text(limitMessage)
.font(appDensity.font(.caption))
@@ -108,12 +108,19 @@ struct WatchlistView: View {
shareTrackedDomains(format: .text)
}
- Button("Export CSV") {
- shareTrackedDomains(format: .csv)
- }
+ if FeatureAccessService.hasAccess(to: .advancedExports) {
+ Button("Export CSV") {
+ shareTrackedDomains(format: .csv)
+ }
- Button("Export JSON") {
- shareTrackedDomains(format: .json)
+ Button("Export JSON") {
+ shareTrackedDomains(format: .json)
+ }
+ } else {
+ Button("CSV Export • Available in Pro") {}
+ .disabled(true)
+ Button("JSON Export • Available in Pro") {}
+ .disabled(true)
}
} label: {
Image(systemName: "line.3.horizontal.decrease.circle")