~ Licensing → @Defaults

This commit is contained in:
David Bureš 2025-05-15 12:51:56 +02:00
parent 567e25f7a8
commit bef463362c
No known key found for this signature in database
6 changed files with 29 additions and 21 deletions

View File

@ -31,11 +31,11 @@ struct CorkApp: App
@State var outdatedPackagesTracker: OutdatedPackagesTracker = .init()
@Default(.demoActivatedAt) var demoActivatedAt: Date?
@AppStorage("hasValidatedEmail") var hasValidatedEmail: Bool = false
@Default(.hasValidatedEmail) var hasValidatedEmail: Bool
@AppStorage("hasFinishedOnboarding") var hasFinishedOnboarding: Bool = false
@AppStorage("hasFinishedLicensingWorkflow") var hasFinishedLicensingWorkflow: Bool = false
@Default(.hasFinishedLicensingWorkflow) var hasFinishedLicensingWorkflow: Bool
@Environment(\.openWindow) private var openWindow: OpenWindowAction

View File

@ -12,7 +12,7 @@ import Defaults
struct LicensingView: View
{
@Default(.demoActivatedAt) var demoActivatedAt: Date?
@AppStorage("hasValidatedEmail") var hasValidatedEmail: Bool = false
@Default(.hasValidatedEmail) var hasValidatedEmail: Bool
@Environment(AppState.self) var appState: AppState

View File

@ -11,8 +11,8 @@ import Defaults
struct Licensing_BoughtView: View
{
@Default(.demoActivatedAt) var demoActivatedAt: Date?
@AppStorage("hasFinishedLicensingWorkflow") var hasFinishedLicensingWorkflow: Bool = false
@AppStorage("hasValidatedEmail") var hasValidatedEmail: Bool = false
@Default(.hasFinishedLicensingWorkflow) var hasFinishedLicensingWorkflow: Bool
@Default(.hasValidatedEmail) var hasValidatedEmail: Bool
@Environment(\.dismiss) var dismiss: DismissAction

View File

@ -11,7 +11,7 @@ import Defaults
struct Licensing_SelfCompiledView: View
{
@Default(.demoActivatedAt) var demoActivatedAt: Date?
@AppStorage("hasFinishedLicensingWorkflow") var hasFinishedLicensingWorkflow: Bool = false
@Default(.hasFinishedLicensingWorkflow) var hasFinishedLicensingWorkflow: Bool
@Environment(\.dismiss) var dismiss: DismissAction

View File

@ -1,15 +0,0 @@
//
// Demo.swift
// CorkShared
//
// Created by David Bureš - P on 15.05.2025.
//
import Foundation
import Defaults
public extension Defaults.Keys
{
/// When the demo was activated. If it's `nil`, it hasn't been activated
static let demoActivatedAt: Key<Date?> = .init("demoActivatedAt", default: nil)
}

View File

@ -0,0 +1,23 @@
//
// Licensing.swift
// CorkShared
//
// Created by David Bureš - P on 15.05.2025.
//
import Foundation
import Defaults
public extension Defaults.Keys
{
// MARK: - Demo
/// When the demo was activated. If it's `nil`, it hasn't been activated
static let demoActivatedAt: Key<Date?> = .init("demoActivatedAt", default: nil)
// MARK: - Licensing
/// Whether the licensing workflow was completed by either putting in a license, or activating the demo
static let hasFinishedLicensingWorkflow: Key<Bool> = .init("hasFinishedLicensingWorkflow", default: false)
/// Whether the user has put in a valid license email
static let hasValidatedEmail: Key<Bool> = .init("hasValidatedEmail", default: false)
}