BolusRootView.swift 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import SwiftUI
  2. import Swinject
  3. extension Bolus {
  4. struct RootView: BaseView {
  5. let resolver: Resolver
  6. let waitForSuggestion: Bool
  7. @StateObject var state = StateModel()
  8. var body: some View {
  9. if state.useCalc {
  10. // show alternative bolus calc based on toggle in bolus calc settings
  11. AlternativeBolusCalcRootView(resolver: resolver, waitForSuggestion: waitForSuggestion, state: state)
  12. } else {
  13. // show iAPS standard bolus calc
  14. DefaultBolusCalcRootView(resolver: resolver, waitForSuggestion: waitForSuggestion, state: state)
  15. }
  16. }
  17. }
  18. }
  19. // fix iOS 15 bug
  20. struct ActivityIndicator: UIViewRepresentable {
  21. @Binding var isAnimating: Bool
  22. let style: UIActivityIndicatorView.Style
  23. func makeUIView(context _: UIViewRepresentableContext<ActivityIndicator>) -> UIActivityIndicatorView {
  24. UIActivityIndicatorView(style: style)
  25. }
  26. func updateUIView(_ uiView: UIActivityIndicatorView, context _: UIViewRepresentableContext<ActivityIndicator>) {
  27. isAnimating ? uiView.startAnimating() : uiView.stopAnimating()
  28. }
  29. }