//
//  ClipboardHandler.swift
//  ylgamehall
//
//  H5 → Native handler：gameCopytext / gamepastetext
//  契约：docs/H5-Native-Contract.md §3.1 ［13］［14］
//  原项目：daoqi/msext NewRootVC.m（散落实现，UIPasteboard 同款）
//

import UIKit

@MainActor
public enum ClipboardHandler {

    public static func register(on bridge: any BridgeProtocol) {
        // 【13】gamepastetext — 读剪贴板
        //   入参忽略；cb：当前剪贴板文本（不是 "gamepastetext"，nil 时回空串）
        //   注：iOS 14+ 读取会触发系统"已粘贴自 XX"提示，是平台行为，不算契约违反
        bridge.register("gamepastetext") { _, callback in
            let text = UIPasteboard.general.string ?? ""
            callback?(.string(text))
        }

        // 【14】gameCopytext — 写剪贴板
        //   入参 data: string；cb："gameCopytext"
        bridge.register("gameCopytext") { data, callback in
            if let text = data?.asString {
                UIPasteboard.general.string = text
            }
            callback?(.string("gameCopytext"))
        }
    }
}
