/**
 * 复制到剪贴板：H5 端共用工具。
 *
 * 优先 navigator.clipboard；WebView 不支持（或非安全上下文）时回退
 * document.execCommand('copy')。h5-client-app 的 H5CopyButton 与
 * h5-markdown-renderer 的代码块复制按钮共用此实现。
 */

/** 复制文本到剪贴板，成功返回 true。 */
export async function copyToClipboard(text: string): Promise<boolean> {
  try {
    if (navigator.clipboard?.writeText) {
      await navigator.clipboard.writeText(text)
      return true
    }
  } catch {
    // 忽略，走 fallback
  }
  try {
    const ta = document.createElement('textarea')
    ta.value = text
    ta.style.position = 'fixed'
    ta.style.top = '0'
    ta.style.opacity = '0'
    document.body.appendChild(ta)
    ta.focus()
    ta.select()
    const ok = document.execCommand('copy')
    document.body.removeChild(ta)
    return ok
  } catch {
    return false
  }
}
