LiveActitiyAttributes.swift 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import ActivityKit
  2. import Foundation
  3. struct LiveActivityAttributes: ActivityAttributes {
  4. enum LiveActivityItem: String, Hashable, Codable, Equatable {
  5. case currentGlucoseLarge
  6. case currentGlucose
  7. case iob
  8. case cob
  9. case updatedLabel
  10. case totalDailyDose
  11. case empty
  12. static let defaultItems: [Self] = [.currentGlucoseLarge, .iob, .cob, .updatedLabel]
  13. }
  14. struct ContentState: Codable, Hashable {
  15. let unit: String
  16. let bg: String
  17. let direction: String?
  18. let change: String
  19. let date: Date?
  20. let highGlucose: Decimal
  21. let lowGlucose: Decimal
  22. let target: Decimal
  23. let glucoseColorScheme: String
  24. let detailedViewState: ContentAdditionalState?
  25. /// true for the first state that is set on the activity
  26. let isInitialState: Bool
  27. }
  28. struct ContentAdditionalState: Codable, Hashable {
  29. let chart: [Decimal]
  30. let chartDate: [Date?]
  31. let rotationDegrees: Double
  32. let cob: Decimal
  33. let iob: Decimal
  34. let tdd: Decimal
  35. let isOverrideActive: Bool
  36. let overrideName: String
  37. let overrideDate: Date
  38. let overrideDuration: Decimal
  39. let overrideTarget: Decimal
  40. let widgetItems: [LiveActivityItem]
  41. }
  42. let startDate: Date
  43. }