PumpConfigRootView.swift 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import SwiftUI
  2. extension PumpConfig {
  3. struct RootView: BaseView {
  4. @EnvironmentObject var viewModel: ViewModel<Provider>
  5. var body: some View {
  6. Form {
  7. Section(header: Text("Model")) {
  8. if let pumpState = viewModel.pumpState {
  9. Button {
  10. viewModel.setupPump = true
  11. } label: {
  12. HStack {
  13. Image(uiImage: pumpState.image ?? UIImage()).padding()
  14. Text(pumpState.name)
  15. }
  16. }
  17. } else {
  18. Button("Add Medtronic") { viewModel.addPump(.minimed) }
  19. Button("Add Omnipod") { viewModel.addPump(.omnipod) }
  20. Button("Add Simulator") { viewModel.addPump(.simulator) }
  21. }
  22. }
  23. }
  24. .navigationTitle("Pump config")
  25. .navigationBarTitleDisplayMode(.automatic)
  26. .popover(isPresented: $viewModel.setupPump) {
  27. if let pumpManager = viewModel.provider.apsManager.pumpManager {
  28. PumpSettingsView(pumpManager: pumpManager, completionDelegate: viewModel)
  29. } else {
  30. PumpSetupView(
  31. pumpType: viewModel.setupPumpType,
  32. pumpInitialSettings: viewModel.initialSettings,
  33. completionDelegate: viewModel,
  34. setupDelegate: viewModel
  35. )
  36. }
  37. }
  38. }
  39. }
  40. }