37 lines
855 B
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
|
|
}
|
|
}
|