import UIKit

@main
final class AppDelegate: UIResponder, UIApplicationDelegate {
    var window: UIWindow?

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil
    ) -> Bool {
        let window = UIWindow(frame: UIScreen.main.bounds)
        let context = AppContext(window: window)
        window.rootViewController = context.makeRootController()
        window.makeKeyAndVisible()
        self.window = window
        context.showStartupErrorIfNeeded()
        return true
    }
}
