From 37b02e5ee360d61751951b77b7b556165a3af1fc Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Wed, 22 Apr 2026 11:46:52 -0500 Subject: 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 --- DomainDig/PremiumAccessService.swift | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'DomainDig/PremiumAccessService.swift') diff --git a/DomainDig/PremiumAccessService.swift b/DomainDig/PremiumAccessService.swift index 0987dae..8de2626 100644 --- a/DomainDig/PremiumAccessService.swift +++ b/DomainDig/PremiumAccessService.swift @@ -2,14 +2,23 @@ import Foundation enum PremiumAccessService { static func hasAccess(to capability: PremiumCapability) -> Bool { - true + switch capability { + case .advancedExports: + return FeatureAccessService.hasAccess(to: .advancedExports) + case .batchTracking: + return FeatureAccessService.hasAccess(to: .batchOperations) + case .unlimitedTrackedDomains: + return FeatureAccessService.currentTier != .free + case .automatedMonitoring, .pushAlerts: + return false + } } static func trackedDomainLimitMessage(currentCount: Int) -> String? { - nil + FeatureAccessService.trackedDomainLimitMessage(currentCount: currentCount) } static func canAddTrackedDomain(currentCount: Int) -> Bool { - true + FeatureAccessService.canAddTrackedDomain(currentCount: currentCount) } } -- cgit v1.2.3