Show each extension's own prompt, not only the batch script.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
<dl v-if="rows.length" class="mt-2 grid grid-cols-[7.25rem_minmax(0,1fr)] gap-x-3 gap-y-1 text-[11px] leading-snug">
|
||||
<template v-for="row in rows" :key="row.label">
|
||||
<dt class="text-zinc-500">{{ row.label }}</dt>
|
||||
<dd class="min-w-0 break-words text-zinc-300">{{ row.value }}</dd>
|
||||
<dd class="min-w-0 whitespace-pre-wrap break-words text-zinc-300">{{ row.value }}</dd>
|
||||
</template>
|
||||
</dl>
|
||||
<p v-else class="mt-2 text-[11px] text-zinc-600">{{ empty }}</p>
|
||||
|
||||
@@ -1666,6 +1666,12 @@
|
||||
@blur="saveRename(item)"
|
||||
>
|
||||
<p v-else class="min-w-0 flex-1 truncate text-sm font-medium">{{ item.name || item.prompt }}</p>
|
||||
<PromptPreviewTip
|
||||
v-if="item.prompt"
|
||||
:text="item.prompt"
|
||||
:aria-label="'Copy prompt for ' + (item.name || 'this clip')"
|
||||
@copy="copyPrompt"
|
||||
/>
|
||||
</div>
|
||||
<p class="truncate text-xs text-zinc-500">{{ clipMetaLine(item) }}</p>
|
||||
<PermanenceRefStrip
|
||||
@@ -1839,6 +1845,12 @@
|
||||
@blur="saveRenameStill(item)"
|
||||
>
|
||||
<p v-else class="min-w-0 flex-1 truncate text-sm font-medium">{{ stillTitle(item) }}</p>
|
||||
<PromptPreviewTip
|
||||
v-if="item.prompt"
|
||||
:text="item.prompt"
|
||||
:aria-label="'Copy prompt for ' + stillTitle(item)"
|
||||
@copy="copyPrompt"
|
||||
/>
|
||||
</div>
|
||||
<p class="truncate text-xs text-zinc-500">{{ stillMetaLine(item) }}</p>
|
||||
<div class="mt-1.5 flex flex-wrap items-center gap-3">
|
||||
|
||||
+6
-2
@@ -479,8 +479,12 @@ const focusedNavIndex = computed(() => {
|
||||
return index < 0 ? 0 : index
|
||||
})
|
||||
const detailPrompt = computed(() => {
|
||||
if (focused.value?.kind === 'clip') return focused.value.group?.head.prompt || ''
|
||||
return focused.value?.stillGroup?.head.prompt || ''
|
||||
if (focused.value?.kind === 'clip' && focused.value.group) {
|
||||
const item = focused.value.group.parts.find(part => part.id === focusedPartId.value) || focused.value.group.head
|
||||
return item.prompt || ''
|
||||
}
|
||||
const still = focused.value?.stillGroup?.parts.find(part => part.id === focusedPartId.value) || focused.value?.stillGroup?.head
|
||||
return still?.prompt || ''
|
||||
})
|
||||
const detailMeta = computed(() => {
|
||||
const entry = focused.value
|
||||
|
||||
@@ -141,9 +141,10 @@ export function stillModeLabel(still: { filename?: string; settings?: StillGener
|
||||
return ''
|
||||
}
|
||||
|
||||
export function stillSettingsRows(still: { width?: number; height?: number; settings?: StillGenerationSettings | null }) {
|
||||
export function stillSettingsRows(still: { prompt?: string; width?: number; height?: number; settings?: StillGenerationSettings | null }) {
|
||||
const settings = still.settings
|
||||
const rows: SettingsRow[] = []
|
||||
if (still.prompt?.trim()) rows.push({ label: 'Prompt', value: still.prompt.trim() })
|
||||
const mode = stillModeLabel(still)
|
||||
if (mode) rows.push({ label: 'Mode', value: mode })
|
||||
if (!settings) return rows
|
||||
@@ -201,6 +202,7 @@ function videoWorkflowLabel(workflow?: string) {
|
||||
}
|
||||
|
||||
export function clipSettingsRows(clip: {
|
||||
prompt?: string
|
||||
width?: number
|
||||
height?: number
|
||||
duration?: number
|
||||
@@ -218,6 +220,7 @@ export function clipSettingsRows(clip: {
|
||||
loraStack?: LoraStackItem[]
|
||||
}) {
|
||||
const rows: SettingsRow[] = []
|
||||
if (clip.prompt?.trim()) rows.push({ label: 'Prompt', value: clip.prompt.trim() })
|
||||
const workflow = videoWorkflowLabel(clip.workflow)
|
||||
if (workflow) rows.push({ label: 'Workflow', value: workflow })
|
||||
if (clip.width && clip.height) rows.push({ label: 'Size', value: `${clip.width}×${clip.height}` })
|
||||
|
||||
Reference in New Issue
Block a user