33 lines
829 B
Swift
33 lines
829 B
Swift
import Foundation
|
|
import Bedrock
|
|
|
|
struct AppSettingsData: PersistableData {
|
|
static var dataIdentifier: String = "rituals.settings"
|
|
static var empty = AppSettingsData()
|
|
|
|
var remindersEnabled: Bool = true
|
|
var hapticsEnabled: Bool = true
|
|
var soundEnabled: Bool = true
|
|
var focusStyle: FocusStyle = .gentle
|
|
var ritualLengthDays: Int = 28
|
|
var lastModified: Date = .now
|
|
|
|
var syncPriority: Int { ritualLengthDays }
|
|
}
|
|
|
|
enum FocusStyle: String, CaseIterable, Codable, Identifiable {
|
|
case gentle
|
|
case steady
|
|
case intense
|
|
|
|
var id: String { rawValue }
|
|
|
|
var title: String {
|
|
switch self {
|
|
case .gentle: return String(localized: "Gentle")
|
|
case .steady: return String(localized: "Steady")
|
|
case .intense: return String(localized: "Intense")
|
|
}
|
|
}
|
|
}
|