Ariver
2026-06-28 71a520840eb3debe46173c1f73bc85bbea0b1aa6
src/Apptag/ProEntitlement.swift
@@ -8,6 +8,7 @@
    case layoutExport
    case unlimitedNotes
    case persistentAppSorting
    case customHotkeys
    var titleKey: String {
        switch self {
@@ -21,6 +22,8 @@
            return "pro.feature.notes"
        case .persistentAppSorting:
            return "pro.feature.sorting"
        case .customHotkeys:
            return "pro.feature.customHotkeys"
        }
    }
@@ -36,6 +39,8 @@
            return "pro.feature.notes.benefit"
        case .persistentAppSorting:
            return "pro.feature.sorting.benefit"
        case .customHotkeys:
            return "pro.feature.customHotkeys.benefit"
        }
    }
}
@@ -202,7 +207,7 @@
    static func isUnlocked(_ feature: ProFeature) -> Bool {
        switch feature {
        case .premiumThemes, .layoutImport, .layoutExport, .unlimitedNotes, .persistentAppSorting:
        case .premiumThemes, .layoutImport, .layoutExport, .unlimitedNotes, .persistentAppSorting, .customHotkeys:
            return accessState().isUnlocked
        }
    }
@@ -569,11 +574,16 @@
        originalAppVersion: String? = nil,
        originalPurchaseDate: Date? = nil
    ) {
        let previousState = accessState
        accessState = state
        ProEntitlementSnapshotStore.update { snapshot in
            snapshot.accessState = state
        }
        if previousState != state {
            NotificationCenter.default.post(name: .tagLauncherProEntitlementChanged, object: nil)
        }
        if persistCache {
            writeCache(
                ProEntitlementCache(