From 476f367c9d108a79933f00ba40853ddf2bb28b86 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Sun, 24 May 2026 00:25:27 -0700 Subject: [PATCH] Use square repo badges (#2744) --- src/renderer/src/components/TaskPage.tsx | 20 +++++------ .../src/components/WorktreeJumpPalette.tsx | 21 ++---------- .../activity/ActivityPrototypePage.tsx | 3 +- .../automations/AutomationsPage.tsx | 6 ++-- .../github/IssueSourceIndicator.tsx | 8 ++--- .../components/github/IssueSourceSelector.tsx | 2 +- .../src/components/repo/RepoBadgeLabel.tsx | 33 +++++++++++++++++++ .../src/components/repo/RepoCombobox.tsx | 8 ++--- .../src/components/repo/RepoDotLabel.tsx | 23 ------------- .../components/settings/QuickCommandsPane.tsx | 12 ++----- .../settings/RepositoryIconPicker.tsx | 2 +- .../components/settings/SettingsSidebar.tsx | 9 +++-- .../sidebar/SetupScriptPromptCard.tsx | 6 ++-- .../src/components/sidebar/SidebarFilter.tsx | 4 +-- .../SidebarRepositoryFilterSection.tsx | 8 ++--- .../sidebar/WorkspaceKanbanCard.tsx | 6 ++-- .../src/components/sidebar/WorktreeCard.tsx | 9 ++--- .../src/components/sidebar/WorktreeList.tsx | 6 ++-- .../TerminalQuickCommandDialog.tsx | 4 +-- .../src/components/ui/repo-multi-combobox.tsx | 10 ++++-- 20 files changed, 92 insertions(+), 108 deletions(-) create mode 100644 src/renderer/src/components/repo/RepoBadgeLabel.tsx delete mode 100644 src/renderer/src/components/repo/RepoDotLabel.tsx diff --git a/src/renderer/src/components/TaskPage.tsx b/src/renderer/src/components/TaskPage.tsx index 3408f4267..8ac129ee3 100644 --- a/src/renderer/src/components/TaskPage.tsx +++ b/src/renderer/src/components/TaskPage.tsx @@ -72,7 +72,7 @@ import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip import { Popover, PopoverContent, PopoverTrigger } from '@/components/ui/popover' import RepoMultiCombobox from '@/components/ui/repo-multi-combobox' import TeamMultiCombobox from '@/components/ui/team-multi-combobox' -import RepoDotLabel from '@/components/repo/RepoDotLabel' +import RepoBadgeLabel from '@/components/repo/RepoBadgeLabel' import IssueSourceIndicator, { sameGitHubOwnerRepo } from '@/components/github/IssueSourceIndicator' import IssueSourceSelector, { issueSourceChipClass } from '@/components/github/IssueSourceSelector' import { reconcileLinearTeamSelection } from '@/components/task-page-linear-team-selection' @@ -4447,7 +4447,7 @@ export default function TaskPage(): React.JSX.Element { // Why: unify feature 1 (indicator) and feature 2 (selector) // into a single chip per repo. Rendering both separately // produced visually redundant output — two local-repo - // dot-labels, duplicate slugs. The selector's active pill + // badge labels, duplicate slugs. The selector's active pill // + tooltip already announce the source, so the "Issues // from {slug}" chip is only shown when the selector does // not render (no upstream remote — nothing to toggle). @@ -4461,7 +4461,7 @@ export default function TaskPage(): React.JSX.Element {
{rows.map((s) => { const repo = selectedRepos.find((r) => r.id === s.repoId) - const showDotLabel = selectedRepos.length > 1 && repo + const showRepoBadgeLabel = selectedRepos.length > 1 && repo const selectorRenderable = hasUpstreamCandidateDivergence(s) // Why: the static indicator has its own wrapping // chip styles, so we render it standalone and don't @@ -4474,7 +4474,7 @@ export default function TaskPage(): React.JSX.Element { issues={s.sources.issues} prs={s.sources.prs} localRepo={ - showDotLabel && repo + showRepoBadgeLabel && repo ? { displayName: repo.displayName, color: repo.badgeColor } : undefined } @@ -4492,11 +4492,11 @@ export default function TaskPage(): React.JSX.Element { // uses `inline-flex`, so the visual rendering is identical. return (
- {showDotLabel ? ( - ) : null} @@ -5008,10 +5008,10 @@ export default function TaskPage(): React.JSX.Element { {selectedRepos.length > 1 && itemRepo ? ( // Why: disambiguate rows when multiple repos are in // the merged list — a single-repo view doesn't need it. - ) : null} @@ -6002,7 +6002,7 @@ export default function TaskPage(): React.JSX.Element { {selectedRepos.map((r) => ( - + ))} diff --git a/src/renderer/src/components/WorktreeJumpPalette.tsx b/src/renderer/src/components/WorktreeJumpPalette.tsx index 06fbafa27..30785942c 100644 --- a/src/renderer/src/components/WorktreeJumpPalette.tsx +++ b/src/renderer/src/components/WorktreeJumpPalette.tsx @@ -46,6 +46,7 @@ import { ORCA_BROWSER_FOCUS_REQUEST_EVENT, queueBrowserFocusRequest } from '@/components/browser-pane/browser-focus' +import { RepoBadgeMark } from '@/components/repo/RepoBadgeLabel' import type { BrowserPage, BrowserWorkspace, Worktree } from '../../../shared/types' import { isGitRepoKind } from '../../../shared/repo-kind' @@ -1043,15 +1044,7 @@ export default function WorktreeJumpPalette(): React.JSX.Element | null {
{repoName && ( -