AlarmConfiguration.swift 849 B

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