Multiple feature additions and improvements across the application: - NextGen Editor: drag handles, smart paste, block actions - Structured views: Kanban and table layouts for notes - Architectural Grid: new brainstorming/agent interface prototype - Flashcards: SM-2 revision algorithm with AI generation - MCP server: robustness improvements - Graph/PDF chat: fix click propagation and copy behavior - Various UI/UX enhancements and bug fixes Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
31 lines
755 B
TypeScript
31 lines
755 B
TypeScript
/** Copie texte — writeText async + repli synchrone execCommand. */
|
|
export async function copyTextToClipboard(text: string): Promise<boolean> {
|
|
if (typeof window === 'undefined') return false
|
|
|
|
if (navigator.clipboard?.writeText) {
|
|
try {
|
|
await navigator.clipboard.writeText(text)
|
|
return true
|
|
} catch {
|
|
// repli ci-dessous
|
|
}
|
|
}
|
|
|
|
try {
|
|
const ta = document.createElement('textarea')
|
|
ta.value = text
|
|
ta.setAttribute('readonly', '')
|
|
ta.style.position = 'fixed'
|
|
ta.style.left = '-9999px'
|
|
ta.style.top = '0'
|
|
document.body.appendChild(ta)
|
|
ta.focus()
|
|
ta.select()
|
|
const ok = document.execCommand('copy')
|
|
document.body.removeChild(ta)
|
|
return ok
|
|
} catch {
|
|
return false
|
|
}
|
|
}
|