Make library hide/reveal instant instead of rewriting the whole catalog.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Towsty
2026-09-02 15:05:04 -05:00
co-authored by Cursor
parent e7298d9693
commit 4546aa5f61
6 changed files with 108 additions and 12 deletions
+23 -1
View File
@@ -3626,7 +3626,29 @@ function applyInstancePrivacy() {
}
function applyLibrary(data: { folders?: LibraryFolder[]; clips?: LibraryClip[]; stills?: LibraryStill[]; drafts?: RetryDraft[]; loraAliases?: Record<string, string>; loraTriggers?: Record<string, string>; keepPrompts?: KeepPromptLists } | unknown) {
const payload = (data || {}) as { folders?: LibraryFolder[]; clips?: LibraryClip[]; stills?: LibraryStill[]; drafts?: RetryDraft[]; loraAliases?: Record<string, string>; loraTriggers?: Record<string, string>; keepPrompts?: KeepPromptLists }
const payload = (data || {}) as {
id?: string
hideInput?: boolean
hideThumbnail?: boolean
folders?: LibraryFolder[]
clips?: LibraryClip[]
stills?: LibraryStill[]
drafts?: RetryDraft[]
loraAliases?: Record<string, string>
loraTriggers?: Record<string, string>
keepPrompts?: KeepPromptLists
}
if (payload.id && !payload.folders && !payload.clips && !payload.stills) {
if (typeof payload.hideInput === 'boolean') {
const still = stills.value.find(item => item.id === payload.id)
if (still) still.hideInput = payload.hideInput
}
if (typeof payload.hideThumbnail === 'boolean') {
const clip = clips.value.find(item => item.id === payload.id)
if (clip) clip.hideThumbnail = payload.hideThumbnail
}
return
}
folders.value = payload.folders || []
clips.value = payload.clips || []
stills.value = payload.stills || []