{ if (e.target === e.currentTarget) tabStore.createNewTab(); }}
>
{#each userTabs as tab, i (tab.id)}
tabStore.switchTab(tab.id)}
onkeydown={(e) => { if (e.key === 'Enter' || e.key === ' ') tabStore.switchTab(tab.id); }}
ondragstart={(e) => {
dragIndex = i;
if (e.dataTransfer) e.dataTransfer.effectAllowed = "move";
}}
ondragover={(e) => {
e.preventDefault();
if (e.dataTransfer) e.dataTransfer.dropEffect = "move";
dragOverIndex = i;
}}
ondragleave={() => { if (dragOverIndex === i) dragOverIndex = null; }}
ondrop={(e) => { e.preventDefault(); dropReorder(i); }}
ondragend={() => { dragIndex = null; dragOverIndex = null; }}
tabindex="0"
>
{#if needsAttention(tab)}
{:else}
{/if}
{tabStore.shortHandleFor(tab.id)}
{#if editingTabId === tab.id}
e.stopPropagation()}
ondblclick={(e) => e.stopPropagation()}
onkeydown={handleRenameKeydown}
onblur={commitRename}
/>
{:else}
{ e.stopPropagation(); startRename(tab); }}
title="Double-click to rename"
>{tab.title}
{/if}
{/each}
tabStore.createNewTab()}
title="Double-click to open a new tab"
>