FreeTierManager.swift 643 B

1234567891011121314151617181920212223242526
  1. import Foundation
  2. /// Features available without a Premium subscription.
  3. enum AppFeature: Sendable {
  4. case printText
  5. case scannerScan
  6. case scanImport
  7. case printContacts
  8. case drawPrint
  9. case ocrFile
  10. case photoPreview
  11. case filePreview
  12. case documentImport
  13. }
  14. @MainActor
  15. enum FreeTierManager {
  16. static func canAccess(_ feature: AppFeature, isPremium: Bool) -> Bool {
  17. if isPremium { return true }
  18. switch feature {
  19. case .printText, .scannerScan, .scanImport, .printContacts, .drawPrint, .ocrFile, .photoPreview, .filePreview, .documentImport:
  20. return false
  21. }
  22. }
  23. }