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