import WebKit @MainActor final class RedditLoginScriptBridge: NSObject, WKScriptMessageHandler { static let shared = RedditLoginScriptBridge() var onLoginRequested: (() -> Void)? private override init() { super.init() } nonisolated func userContentController( _ userContentController: WKUserContentController, didReceive message: WKScriptMessage ) { guard message.name == RedditLoginBridgeStyle.messageHandlerName else { return } Task { @MainActor in onLoginRequested?() } } }