PumpConfigRootView.swift 1.5 KB

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