Copy a clip prompt to the clipboard from the info button.
Keep the hover preview, and confirm with a toast after a successful copy. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+17
-1
@@ -478,7 +478,9 @@
|
||||
<button
|
||||
type="button"
|
||||
class="flex h-6 w-6 items-center justify-center rounded-full text-zinc-500 hover:text-amber-200"
|
||||
:aria-label="'Prompt for ' + (item.name || 'clip')"
|
||||
:aria-label="'Copy prompt for ' + (item.name || 'clip')"
|
||||
title="Copy prompt"
|
||||
@click.stop="copyPrompt(item.prompt)"
|
||||
>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="h-4 w-4">
|
||||
<circle cx="12" cy="12" r="10" />
|
||||
@@ -993,6 +995,20 @@ function toast(message: string) {
|
||||
}, 7000)
|
||||
}
|
||||
|
||||
async function copyPrompt(text: string) {
|
||||
const promptText = (text || '').trim()
|
||||
if (!promptText) {
|
||||
toast('This clip has no prompt to copy')
|
||||
return
|
||||
}
|
||||
try {
|
||||
await navigator.clipboard.writeText(promptText)
|
||||
toast('Prompt copied')
|
||||
} catch {
|
||||
toast('Could not copy the prompt')
|
||||
}
|
||||
}
|
||||
|
||||
function resetImage() {
|
||||
file.value = null
|
||||
preview.value = ''
|
||||
|
||||
Reference in New Issue
Block a user