import Combine import SwiftUI @main struct RedditAppApp: App { @NSApplicationDelegateAdaptor(AppDelegate.self) private var appDelegate @StateObject private var subscriptions = SubscriptionManager() @StateObject private var appRating = AppRatingManager() @State private var appearanceManager = AppearanceManager.shared @State private var splashViewModel = SplashViewModel() @State private var session = AppSessionState() var body: some Scene { Window(AppLinks.appName, id: "main-window") { RootView(session: session, splashViewModel: splashViewModel) .environmentObject(subscriptions) .environmentObject(appRating) .environment(appearanceManager) .preferredColorScheme(appearanceManager.isDarkMode ? .dark : .light) .background { MainWindowLifecycleConfigurator() } } .defaultSize(width: AppWindow.width, height: AppWindow.height) .defaultPosition(.center) .windowStyle(.hiddenTitleBar) .commands { CommandGroup(replacing: .newItem) {} } } }