{ if (e.key === 'Escape') iconPickerNotebook = null; }} /> {#if contextMenu} {#if isMobile} {/if}
e.stopPropagation()}>
{/if} {#if iconPickerNotebook}
{/if} {#if trashContextMenu} {#if isMobile} {/if}
e.stopPropagation()}>
{/if} {#if deleteConfirm}
{ if (e.key === 'Escape') deleteConfirm = null; }}>

Delete "{deleteConfirm.name}"?

This notebook contains {countNotesRecursive(deleteConfirm)} note{countNotesRecursive(deleteConfirm) === 1 ? '' : 's'} that will be permanently deleted.

{/if} {#snippet notebookItem(nb: NotebookEntry, depth: number)} {@const hasChildren = nb.children.length > 0} {@const isCollapsed = $collapsedNotebooks.includes(nb.path)} {@const iconSrc = getNotebookIconSrc(nb)} {@const builtinIcon = decodeBuiltinNotebookIcon($notebookIcons[normalizeNotebookIconKey(nb.relative_path)])} {#if editingNotebook === nb.path}
{ if (e.key === 'Enter') handleRename(nb); if (e.key === 'Escape') editingNotebook = null; }} onblur={() => handleRename(nb)} />
{:else}
{#if isMobile} {/if}
{/if} {#if hasChildren && !isCollapsed} {#each nb.children as child (child.path)} {@render notebookItem(child, depth + 1)} {/each} {/if} {/snippet}