{#if account} {#if repos.length}
0 && !allSelected} disabled={stepDisabled} onchange={() => onSelectAll(!allSelected)} aria-label={allSelected ? "Deselect all repositories" : "Select all repositories"} /> {#if searching} onQuery(event.currentTarget.value)} onkeydown={(event) => { if (event.key === "Escape") void dismissSearch(); }} onblur={() => { if (!query.trim()) closeSearch(); }} />
{/if} {#each visible as repo (repo.id)} {@const draft = drafts[repo.id]} {@const locked = stepDisabled || !isMigratable(draft.migration)} { touch(repo.id); onSelectRepo(repo.id, !draft.selected); }} onEdit={() => { touch(repo.id); onToggleExpand(repo.id); }} onSave={(edit) => { touch(repo.id); onUpdateDraft(repo.id, edit); onToggleExpand(repo.id); }} language={repo.language ?? undefined} stars={repo.stars ?? undefined} /> {:else}

{query.trim() ? "No repositories match your search." : "No repositories found."}

{/each}
{#if pageCount > 1}
{/if}
{:else}

No repositories yet. Connect your GitHub account to list them.

{/if} {#if knotOptions.length === 0}

No knots are available yet. Manage your knots.

{/if} {#if privateCount > 0}

{/if}