CGMRootView.swift 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import SwiftUI
  2. import Swinject
  3. extension CGM {
  4. struct RootView: BaseView {
  5. let resolver: Resolver
  6. @StateObject var state = StateModel()
  7. var body: some View {
  8. Form {
  9. Section {
  10. Picker("Type", selection: $state.cgm) {
  11. ForEach(CGMType.allCases) {
  12. Text($0.displayName).tag($0)
  13. }
  14. }
  15. }
  16. if [.dexcomG5, .dexcomG6].contains(state.cgm) {
  17. Section(header: Text("Transmitter ID")) {
  18. TextField("XXXXXX", text: $state.transmitterID, onCommit: {
  19. UIApplication.shared.endEditing()
  20. state.onChangeID()
  21. })
  22. .disableAutocorrection(true)
  23. .autocapitalization(.allCharacters)
  24. .keyboardType(.asciiCapable)
  25. }
  26. .onDisappear {
  27. state.onChangeID()
  28. }
  29. }
  30. Section(header: Text("Other")) {
  31. Toggle("Upload glucose to Nightscout", isOn: $state.uploadGlucose)
  32. }
  33. }
  34. .onAppear(perform: configureView)
  35. .navigationTitle("CGM")
  36. .navigationBarTitleDisplayMode(.automatic)
  37. }
  38. }
  39. }