// // AutoCat2SUIApp.swift // AutoCat2SUI // // Created by Selim Mustafaev on 24.07.2022. // import SwiftUI import AppKit import AutoCatCore @main struct AutoCat2SUIApp: App { @NSApplicationDelegateAdaptor(AppDelegate.self) var appDelegate let storageService = StorageService.sharedNotWait var body: some Scene { WindowGroup { if Testing.isUITesting { RootView(settings: getTestSettings()) .environment(\.managedObjectContext, storageService.context) } else { RootView(settings: getSettings()) .environment(\.managedObjectContext, storageService.context) } } } func getTestSettings() -> TestSettings { guard let settings = MainSettings.shared as? TestSettings else { fatalError("Error getting settings") } return settings } func getSettings() -> MainSettings { guard let settings = MainSettings.shared as? MainSettings else { fatalError("Error getting settings") } return settings } } class AppDelegate: NSObject, NSApplicationDelegate { func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { true } func applicationDidFinishLaunching(_ notification: Notification) { NSApp.keyWindow?.toolbar?.insertItem(withItemIdentifier: .sidebarTrackingSeparator, at: 2) //NSApplication.shared.keyWindow } // func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { // let configuration = UISceneConfiguration(name: nil, sessionRole: connectingSceneSession.role) // if connectingSceneSession.role == .windowApplication { // configuration.delegateClass = SceneDelegate.self // } // return configuration // } }