TherapySetting+Settings.swift 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //
  2. // TherapySetting+Settings.swift
  3. // LoopKitUI
  4. //
  5. // Created by Rick Pasetto on 7/14/20.
  6. // Copyright © 2020 LoopKit Authors. All rights reserved.
  7. //
  8. import LoopKit
  9. import SwiftUI
  10. extension TherapySetting {
  11. public var authenticationChallengeDescription: String {
  12. switch self {
  13. default:
  14. // Currently, this is the same no matter what the setting is.
  15. return LocalizedString("Authenticate to save therapy setting", comment: "Authentication hint string for therapy settings")
  16. }
  17. }
  18. public func helpScreen() -> some View {
  19. switch self {
  20. case .glucoseTargetRange:
  21. return AnyView(CorrectionRangeInformationView(onExit: nil, mode: .settings))
  22. case .preMealCorrectionRangeOverride:
  23. return AnyView(CorrectionRangeOverrideInformationView(preset: .preMeal, onExit: nil, mode: .settings))
  24. case .workoutCorrectionRangeOverride:
  25. return AnyView(CorrectionRangeOverrideInformationView(preset: .workout, onExit: nil, mode: .settings))
  26. case .suspendThreshold:
  27. return AnyView(SuspendThresholdInformationView(onExit: nil, mode: .settings))
  28. case .basalRate(let maximumScheduleEntryCount):
  29. return AnyView(BasalRatesInformationView(onExit: nil, mode: .settings, maximumScheduleEntryCount: maximumScheduleEntryCount))
  30. case .deliveryLimits:
  31. return AnyView(DeliveryLimitsInformationView(onExit: nil, mode: .settings))
  32. case .insulinModel:
  33. return AnyView(InsulinModelInformationView(onExit: nil, mode: .settings))
  34. case .carbRatio:
  35. return AnyView(CarbRatioInformationView(onExit: nil, mode: .settings))
  36. case .insulinSensitivity:
  37. return AnyView(InsulinSensitivityInformationView(onExit: nil, mode: .settings))
  38. case .none:
  39. return AnyView(Text("To be implemented"))
  40. }
  41. }
  42. }