MainRootView.swift 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. import SwiftUI
  2. import Swinject
  3. extension Main {
  4. struct RootView: BaseView {
  5. let resolver: Resolver
  6. @StateObject var state = StateModel()
  7. var body: some View {
  8. router.view(for: .home)
  9. .sheet(isPresented: $state.isModalPresented) {
  10. NavigationView { self.state.modal!.view }
  11. .navigationViewStyle(StackNavigationViewStyle())
  12. }
  13. .sheet(isPresented: $state.isSecondaryModalPresented) {
  14. if let view = state.secondaryModalView {
  15. view
  16. } else {
  17. EmptyView()
  18. }
  19. }
  20. .alert(isPresented: $state.isAlertPresented) {
  21. Alert(
  22. title: Text("Important message"),
  23. message: Text(state.alertMessage),
  24. dismissButton: .default(Text("Dismiss")) {
  25. state.isAlertPresented = false
  26. state.alertMessage = ""
  27. }
  28. )
  29. }
  30. .onAppear(perform: configureView)
  31. }
  32. }
  33. }