// LinkifySDK.swift
import Foundation

@objc(LinkifySDK)
class LinkifySDK: NSObject, RCTBridgeModule {

    // Necesario para que React Native reconozca el módulo
    static func moduleName() -> String! {
        return "LinkifySDK"
    }

    // Indica que el módulo debe ejecutarse en la cola principal
    @objc static func requiresMainQueueSetup() -> Bool {
        return true
    }

    // Método para obtener el enlace inicial
    @objc func getInitialLink(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
        if let url = UserDefaults.standard.string(forKey: "initialLink") {
            resolve(url)
        } else {
            resolve(nil)
        }
    }

    // Escuchar enlaces dinámicos
    @objc func listenForDynamicLink() {
        NotificationCenter.default.addObserver(
            self,
            selector: #selector(handleIncomingDynamicLink(notification:)),
            name: NSNotification.Name("DynamicLinkOpened"),
            object: nil
        )
    }

    @objc private func handleIncomingDynamicLink(notification: Notification) {
        if let url = notification.object as? URL {
            print("Dynamic Link recibido: \(url.absoluteString)")
        }
    }
}
