RedditAppApp.swift 1.1 KB

123456789101112131415161718192021222324252627282930
  1. import Combine
  2. import SwiftUI
  3. @main
  4. struct RedditAppApp: App {
  5. @NSApplicationDelegateAdaptor(AppDelegate.self) private var appDelegate
  6. @StateObject private var subscriptions = SubscriptionManager()
  7. @StateObject private var appRating = AppRatingManager()
  8. @State private var appearanceManager = AppearanceManager.shared
  9. @State private var splashViewModel = SplashViewModel()
  10. @State private var session = AppSessionState()
  11. var body: some Scene {
  12. Window(AppLinks.appName, id: "main-window") {
  13. RootView(session: session, splashViewModel: splashViewModel)
  14. .environmentObject(subscriptions)
  15. .environmentObject(appRating)
  16. .environment(appearanceManager)
  17. .preferredColorScheme(appearanceManager.isDarkMode ? .dark : .light)
  18. .background {
  19. MainWindowLifecycleConfigurator()
  20. }
  21. }
  22. .defaultSize(width: AppWindow.width, height: AppWindow.height)
  23. .windowStyle(.hiddenTitleBar)
  24. .commands {
  25. CommandGroup(replacing: .newItem) {}
  26. }
  27. }
  28. }