PumpConfigRootView.swift 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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: HStack {
  8. Text("Devices")
  9. Spacer()
  10. ProgressView()
  11. }) {
  12. ForEach(viewModel.rileyDisplayStates.indexed(), id: \.1.id) { index, state in
  13. Toggle(isOn: self.$viewModel.rileyDisplayStates[index].connected) {
  14. HStack {
  15. Text(state.name)
  16. Spacer()
  17. Text(state.rssi.map { "\($0) " } ?? "").foregroundColor(.secondary)
  18. }
  19. }
  20. }
  21. }
  22. Section(header: Text("Pump")) {
  23. Button("Add Medtronic") { viewModel.addPump(.minimed) }
  24. Button("Add Omnipod") { viewModel.addPump(.omnipod) }
  25. }
  26. }
  27. .toolbar { ToolbarItem(placement: .principal) { Text("Pump Config") } }
  28. .navigationBarItems(leading: Button("Close", action: viewModel.hideModal))
  29. .navigationBarTitleDisplayMode(.inline)
  30. .popover(isPresented: $viewModel.setupPump) {
  31. PumpSetupView(
  32. pumpType: viewModel.setupPumpType,
  33. deviceProvider: viewModel.provider.deviceProvider,
  34. completionDelegate: viewModel,
  35. setupDelegate: viewModel.provider.setupDelegate
  36. )
  37. }
  38. }
  39. }
  40. }