Gitty
{ appSettingsOpen = true; }} />
{#each repoTabs as repo (repo.path)} {/each}
{#if repoTabContextMenu} {@const menu = repoTabContextMenu} {@const contextTab = repoTabs.find((tab) => sameRepoPath(tab.path, menu.path))} {@const contextIndex = repoTabIndex(menu.path)} {#if contextTab} {/if} {/if} {#if errorMessage} {/if} {#if operation && operation !== "Opening repository"}
{/if} {#if workspaceActive && hasConflicts && !rebaseInProgress && !cherryPickInProgress} {/if} {#if workspaceActive && rebaseInProgress}
{/if} {#if workspaceActive && cherryPickInProgress}
{/if} {#if activeView === "management"}
Repository Management

Repositories

Open repositories

{openRepoRows.length}
{#if openRepoRows.length === 0}
No open repositories.
{:else}
{#each openRepoRows as repo (repo.path)}
{/each}
{/if}

Recent repositories

{recentRepoRows.length}
{#if recentRepoRows.length === 0}
No recent repositories.
{:else}
{#each recentRepoRows as repo (repo.path)}
{/each}
{/if}

Favorites

{favoriteRepoRows.length}
{#if favoriteRepoRows.length === 0}
Mark repositories with the star to keep them here.
{:else}
{#each favoriteRepoRows as repo (repo.path)}
{/each}
{/if}
{:else}
{#if status?.upstream}{status.upstream}{/if} {status?.ahead ?? 0} ahead {status?.behind ?? 0} behind
{ aiSettingsOpen = true; }} onToggleAmend={toggleAmendMode} onUndoLastCommit={undoLastCommitChange} />
{/if}
{#if updateToastOpen} {/if} {#if analyticsNoticeOpen} {/if} {#if appSettingsOpen} { appSettingsOpen = false; }} /> {/if} {#if linePatchOpen && linePatchFile} {/if} {#if blameOpen} {/if} {#if pendingDiscard} {/if} {#if globalSearchOpen} {/if} {#if newBranchCommit} { newBranchCommit = null; }} /> {/if} {#if renameBranchTarget} { renameBranchTarget = null; }} /> {/if} {#if deleteBranchTarget} {/if} {#if aiSettingsOpen} { aiSettingsOpen = false; }} /> {/if} {#if compareSelectOpen} { compareFrom = val; }} onCompareToChange={(val) => { compareTo = val; }} onCompare={compareSelectedCommits} onClose={() => { compareSelectOpen = false; }} /> {/if} {#if compareDialogOpen && comparison} {/if} {#if credDialogOpen && credDialogAction} { credDialogOpen = false; credDialogAction = null; credDialogError = ""; credDialogKey = null; }} /> {/if} {#if cloneDialogOpen} { if (!isBusy) cloneDialogOpen = false; }} /> {/if} {#if openingRepo} {/if} {#if cloningRepo} {/if} {#if resolveDialogOpen} { resolveDialogOpen = false; }} onSelectFile={selectConflictFile} onMarkResolved={handleMarkResolved} onApply={applyPreparedResolutions} /> {/if}