AlarmConfiguration.swift 804 B

123456789101112131415161718192021222324252627282930313233
  1. // LoopFollow
  2. // AlarmConfiguration.swift
  3. import Foundation
  4. struct AlarmConfiguration: Codable, Equatable {
  5. // MARK: Core
  6. var snoozeUntil: Date?
  7. var muteUntil: Date?
  8. var dayStart: TimeOfDay
  9. var nightStart: TimeOfDay
  10. // MARK: System audio overrides
  11. var overrideSystemOutputVolume: Bool
  12. var forcedOutputVolume: Float // 0 … 1
  13. var audioDuringCalls: Bool
  14. var ignoreZeroBG: Bool
  15. var autoSnoozeCGMStart: Bool
  16. static let `default` = AlarmConfiguration(
  17. muteUntil: nil,
  18. dayStart: TimeOfDay(hour: 6, minute: 0),
  19. nightStart: TimeOfDay(hour: 22, minute: 0),
  20. overrideSystemOutputVolume: true,
  21. forcedOutputVolume: 0.5,
  22. audioDuringCalls: true,
  23. ignoreZeroBG: true,
  24. autoSnoozeCGMStart: false
  25. )
  26. }