Show Send to Backup on AIGen output and library stills.

The control was hidden until BACKUP_STUDIO_URL was set, so it never appeared next to Send to Refine.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-09-01 18:53:37 -05:00
co-authored by Cursor
parent 43247831bb
commit 0ab42f488b
3 changed files with 31 additions and 4 deletions
+29 -2
View File
@@ -1382,6 +1382,15 @@
>
{{ keepingInputBusy ? 'Saving…' : 'Save as input' }}
</button>
<button
v-if="canUseGeneratedStill && backupStudioEnabled"
type="button"
class="inline-flex rounded-2xl border border-amber-300/40 px-4 py-2 text-sm text-amber-100 hover:border-amber-300/70 disabled:cursor-not-allowed disabled:opacity-50"
:disabled="Boolean(backupBusyId)"
@click="sendOutputStillToBackup"
>
{{ backupBusyId ? 'Sending…' : 'Send to Backup' }}
</button>
</div>
<div v-if="extendOpen" id="extend-clip" class="mt-4 space-y-4 rounded-2xl border border-white/10 bg-zinc-950/50 p-4">
<div class="flex items-start justify-between gap-3">
@@ -1547,6 +1556,15 @@
>
Send to Refine
</button>
<button
v-if="backupStudioEnabled"
type="button"
class="inline-flex rounded-2xl border border-amber-300/40 px-4 py-2 text-sm text-amber-100 hover:border-amber-300/70 disabled:cursor-not-allowed disabled:opacity-50"
:disabled="Boolean(backupBusyId)"
@click="sendOutputStillToBackup"
>
{{ backupBusyId ? 'Sending…' : 'Send to Backup' }}
</button>
</div>
</div>
</div>
@@ -1918,7 +1936,7 @@
class="text-xs text-amber-300"
:disabled="backupBusyId === entry.stillGroup.head.id"
@click="sendStillToBackup(entry.stillGroup.head)"
>{{ backupBusyId === entry.stillGroup.head.id ? 'Sending…' : 'Send to Backup on AIGen only' }}</button>
>{{ backupBusyId === entry.stillGroup.head.id ? 'Sending…' : 'Send to Backup' }}</button>
<button type="button" class="text-xs text-zinc-400" @click="toggleDetails(entry.key)">
{{ expandedDetails[entry.key] ? 'Hide details' : 'Details' }}
</button>
@@ -2001,7 +2019,7 @@
class="text-xs text-amber-300"
:disabled="backupBusyId === item.id"
@click="sendStillToBackup(item)"
>{{ backupBusyId === item.id ? 'Sending…' : 'Send to Backup on AIGen only' }}</button>
>{{ backupBusyId === item.id ? 'Sending…' : 'Send to Backup' }}</button>
<button type="button" class="text-xs text-zinc-400" @click="toggleDetails(item.id)">
{{ expandedDetails[item.id] ? 'Hide details' : 'Details' }}
</button>
@@ -5907,6 +5925,15 @@ function stillUseAsInputMessage(still: LibraryStill) {
return 'Loaded as input. It stays in Output, not the upload library.'
}
async function sendOutputStillToBackup() {
const stillId = lastV2StillId.value || stillIdFromLibraryUrl(editResultUrl.value)
if (!stillId) {
toast('Save this still first, then send it to Backup.')
return
}
await sendStillToBackup({ id: stillId })
}
async function sendStillToBackup(still: Pick<LibraryStill, 'id'>) {
if (!backupStudioEnabled.value || backupBusyId.value) return
backupBusyId.value = still.id