From 8c652b5df8a6c5a3dc0520c9359efe43672bf68a Mon Sep 17 00:00:00 2001 From: Christoph Brandau Date: Tue, 8 Sep 2026 22:10:16 +0200 Subject: [PATCH] feat(repo-tabs): replace tab bar with workspace navigation Replace the legacy repository tab bar with a compact workspace navigation that groups primary views and exposes a dedicated "Repositories" action. The repository list is shown only when the repository view is active and supports per-repo selection and closing. Also add a Repositories open handler in the app to select the active repo or prompt to choose a repository folder when none is available. - Introduce top-level navigation (Dashboard, PRs, Issues, Repositories) - Add onOpenRepositories hook and app logic to select or choose repo - Update icons, styles, and accessibility attributes for the nav --- src/App.svelte | 5 ++ src/lib/RepoTabs.svelte | 113 ++++++++++++++++------------------------ 2 files changed, 51 insertions(+), 67 deletions(-) diff --git a/src/App.svelte b/src/App.svelte index 96034cc..4066aa5 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -5396,6 +5396,11 @@ {isBusy} language={appLanguage} onOpenManagement={openRepoManagement} + onOpenRepositories={() => { + const path = repoTabs.find(tab => sameRepoPath(tab.path, activeRepoPath))?.path ?? repoTabs[0]?.path; + if (path) return selectRepoTab(path); + return chooseRepositoryFolder(); + }} onOpenReviewCenter={() => openReviewCenter()} onOpenIssues={() => { activeView = "issues"; }} isActive={(path) => activeView === "repository" && sameRepoPath(activeRepoPath, path)} diff --git a/src/lib/RepoTabs.svelte b/src/lib/RepoTabs.svelte index ce56c04..2f1351b 100644 --- a/src/lib/RepoTabs.svelte +++ b/src/lib/RepoTabs.svelte @@ -1,5 +1,5 @@ -
- - -
- - - {#each repoTabs as repo (repo.path)} - - {/each} -
- - +
+ + {#if activeView === "repository"} + + {/if}
+ +