SecureStorageSample/SecureStorageSample Watch App/State/WatchProfileStore.swift

37 lines
855 B
Swift

import Foundation
import Observation
import SharedKit
@MainActor
@Observable
final class WatchProfileStore {
static let shared = WatchProfileStore()
private(set) var profile: UserProfile?
private(set) var syncValue: String?
private(set) var syncUpdatedAt: Date?
private(set) var isPhoneReachable = false
private(set) var statusMessage: String = ""
private init() {}
func setProfile(_ profile: UserProfile) {
self.profile = profile
statusMessage = "Profile synced"
}
func setSyncValue(_ value: String) {
syncValue = value
syncUpdatedAt = Date()
statusMessage = "Syncable setting updated"
}
func setPhoneReachable(_ isReachable: Bool) {
isPhoneReachable = isReachable
}
func setStatus(_ message: String) {
statusMessage = message
}
}