LibreConfigRootView.swift 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import LibreTransmitter
  2. import SwiftUI
  3. import Swinject
  4. extension LibreConfig {
  5. struct RootView: BaseView {
  6. let resolver: Resolver
  7. @StateObject var state = StateModel()
  8. var body: some View {
  9. Group {
  10. if state.configured, let manager = state.source.manager {
  11. LibreTransmitterSettingsView(
  12. manager: manager,
  13. glucoseUnit: state.unit
  14. ) {
  15. self.state.source.manager = nil
  16. self.state.configured = false
  17. } completion: {
  18. state.hideModal()
  19. }
  20. } else {
  21. LibreTransmitterSetupView { manager in
  22. self.state.source.manager = manager
  23. self.state.configured = true
  24. } completion: {
  25. state.hideModal()
  26. }
  27. }
  28. }
  29. .navigationBarTitle("")
  30. .navigationBarHidden(true)
  31. .onAppear(perform: configureView)
  32. }
  33. }
  34. }