MainRootView.swift 1.3 KB

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