BolusRootView.swift 1.2 KB

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