History

{history.length} saved
{#if history.some((i) => !i.llmTags || i.llmTags.length === 0)} {/if} {#if history.length > 0} {/if}
{#if allTags.length > 0}
Tags {#if activeTagFilter} {:else} {#each allTags.slice(0, 7) as t (t.tag)} {/each} {/if}
{/if} {#if selected.size > 0} {/if}
{#if filtered.length === 0} {:else}
{#each visibleItems as { item, top, height, preview } (item.id)}
toggleExpand(item.id)} onkeydown={(e) => { if (e.key === "Enter" || e.key === " ") { e.preventDefault(); toggleExpand(item.id); } }} role="button" tabindex="0" aria-expanded={expandedId === item.id} > { e.stopPropagation(); toggleSelected(item.id); }} onkeydown={(e) => { if (e.key === " " || e.key === "Enter") e.stopPropagation(); }} /> {#if item.audioPath} {:else}
{/if}

{preview?.text || compactPreviewText(item)}

{#if item.duration} {formatDuration(item.duration)} {/if} {#if item.source && item.source.toLowerCase().includes("file")} {item.date}
{#if expandedId === item.id}
{#if item.audioPath && playingId === item.id}
{formatTime(currentTime)} / {formatTime(duration)} e.stopPropagation()} />
{#each PLAYBACK_SPEEDS as speed} {/each}
{/if} { item.title = e.target.value; }} onblur={() => renameHistoryEntry(item.id, { title: (item.title || "").trim() }).catch(() => {})} onclick={(e) => e.stopPropagation()} data-no-transition />
e.stopPropagation()} role="presentation"> {#each deriveAutoTags(item) as t (t)} {t} {/each} {#each (item.manualTags || []) as t (t)} {t} {/each} {#each (item.llmTags || []) as t (t)} {/each} handleAddTagKey(e, item)} data-no-transition />

{item.text}

{#if item.audioPath && item.segments && item.segments.length > 0} {/if}
{/if}
{/each}
{/if}