AutoCat/AutoCat/AppDelegate.swift
2025-04-06 16:18:28 +03:00

72 lines
2.7 KiB
Swift

import UIKit
import PKHUD
import AutoCatCore
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
HUD.dimsBackground = true
HUD.allowsInteraction = false
setupAppearance()
return true
}
func setupAppearance() {
let tabBarAppearance = UITabBarAppearance()
tabBarAppearance.configureWithDefaultBackground()
UITabBar.appearance().standardAppearance = tabBarAppearance
UITabBar.appearance().scrollEdgeAppearance = tabBarAppearance
let navigationBarAppearance = UINavigationBarAppearance()
navigationBarAppearance.configureWithDefaultBackground()
UINavigationBar.appearance().standardAppearance = navigationBarAppearance
UINavigationBar.appearance().scrollEdgeAppearance = navigationBarAppearance
}
// MARK: UISceneSession Lifecycle
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
// Called when a new scene session is being created.
// Use this method to select a configuration to create the new scene with.
return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role)
}
func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set<UISceneSession>) {
// Called when the user discards a scene session.
// If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions.
// Use this method to release any resources that were specific to the discarded scenes, as they will not return.
}
// MARK: - Global menu
#if targetEnvironment(macCatalyst)
override func buildMenu(with builder: UIMenuBuilder) {
super.buildMenu(with: builder)
let command = UIKeyCommand(title: NSLocalizedString("Add new number", comment: ""),
action: #selector(openAddNumberPanel),
input: "n",
modifierFlags: .command)
let menu = UIMenu(options: .displayInline, children: [command])
builder.insertChild(menu, atEndOfMenu: .file)
}
@objc func openAddNumberPanel() {
guard let sceneDelegate = UIApplication.shared.connectedScenes.first?.delegate as? SceneDelegate else {
return
}
sceneDelegate.showAddNumberPanel()
}
#endif
}