Files
LingChair/client/ui/copyToClipboard.ts
CrescentLeaf 2771503b6f fix: typo
2025-10-02 18:30:58 +08:00

21 lines
637 B
TypeScript

export default function copyToClipboard(text: string) {
if (navigator.clipboard)
return navigator.clipboard.writeText(text)
return new Promise((res, rej) => {
if (document.hasFocus()) {
const a = document.createElement("textarea")
document.body.appendChild(a)
a.style.position = "fixed"
a.style.clip = "rect(0 0 0 0)"
a.style.top = "10px"
a.value = text
a.select()
document.execCommand("copy", true)
document.body.removeChild(a)
res(null)
} else {
rej()
}
})
}