MainRootView.swift 1000 B

12345678910111213141516171819202122232425262728293031
  1. import SwiftUI
  2. import Swinject
  3. extension Main {
  4. struct RootView: BaseView {
  5. let resolver: Resolver
  6. @StateObject var state = StateModel()
  7. @Environment(\.colorScheme) var colorScheme
  8. @Environment(AppState.self) var appState
  9. private var modalScheduler: TrioModalAlertScheduler {
  10. resolver.resolve(TrioAlertManager.self)!.modalScheduler
  11. }
  12. var body: some View {
  13. router.view(for: .home)
  14. .sheet(item: $state.modal) { modal in
  15. NavigationView { modal.view }
  16. .navigationViewStyle(StackNavigationViewStyle())
  17. }
  18. .sheet(item: $state.secondaryModal) { wrapper in
  19. wrapper.view
  20. }
  21. .trioAlerts(modalScheduler)
  22. .onAppear(perform: configureView)
  23. .scrollContentBackground(.hidden).background(appState.trioBackgroundColor(for: colorScheme))
  24. }
  25. }
  26. }