CGMSettingsView.swift 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import LoopKit
  2. import LoopKitUI
  3. import SwiftUI
  4. import UIKit
  5. extension CGM {
  6. struct CGMSettingsView: UIViewControllerRepresentable {
  7. let cgmManager: CGMManagerUI
  8. let bluetoothManager: BluetoothStateManager
  9. let unit: GlucoseUnits
  10. weak var completionDelegate: CompletionDelegate?
  11. func makeUIViewController(context _: UIViewControllerRepresentableContext<CGMSettingsView>) -> UIViewController {
  12. let displayGlucoseUnitObservable: DisplayGlucoseUnitObservable
  13. switch unit {
  14. case .mgdL:
  15. displayGlucoseUnitObservable = DisplayGlucoseUnitObservable(displayGlucoseUnit: .milligramsPerDeciliter)
  16. case .mmolL:
  17. displayGlucoseUnitObservable = DisplayGlucoseUnitObservable(displayGlucoseUnit: .millimolesPerLiter)
  18. }
  19. var vc = cgmManager.settingsViewController(
  20. bluetoothProvider: bluetoothManager,
  21. displayGlucoseUnitObservable: displayGlucoseUnitObservable,
  22. colorPalette: .default,
  23. allowDebugFeatures: false
  24. )
  25. // vc.cgmManagerOnboardingDelegate =
  26. // vc.completionDelegate = self
  27. vc.completionDelegate = completionDelegate
  28. return vc
  29. }
  30. func updateUIViewController(
  31. _ uiViewController: UIViewController,
  32. context _: UIViewControllerRepresentableContext<CGMSettingsView>
  33. ) {
  34. uiViewController.isModalInPresentation = true
  35. }
  36. }
  37. }