RedditLoginScriptBridge.swift 514 B

1234567891011121314151617181920
  1. import WebKit
  2. @MainActor
  3. final class RedditLoginScriptBridge: NSObject, WKScriptMessageHandler {
  4. static let shared = RedditLoginScriptBridge()
  5. var onLoginRequested: (() -> Void)?
  6. private override init() {
  7. super.init()
  8. }
  9. func userContentController(
  10. _ userContentController: WKUserContentController,
  11. didReceive message: WKScriptMessage
  12. ) {
  13. guard message.name == RedditLoginBridgeStyle.messageHandlerName else { return }
  14. onLoginRequested?()
  15. }
  16. }