From a7aa630707719ac6e6036c8ca7724fa0dc6a95ea Mon Sep 17 00:00:00 2001 From: "mux-bot[bot]" <264182336+mux-bot[bot]@users.noreply.github.com> Date: Mon, 15 Jun 2026 10:10:54 +0000 Subject: [PATCH 1/2] refactor: extract DisclosureChevron helper in MemoryBrowser Dedupe the identical 'isOpen ? ChevronDown : ChevronRight' disclosure toggle that ScopeSection and DirRow each rendered inline. Both now use a local DisclosureChevron helper; rendered className output is unchanged (DirRow keeps its extra shrink-0). --- src/browser/features/Memory/MemoryBrowser.tsx | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/browser/features/Memory/MemoryBrowser.tsx b/src/browser/features/Memory/MemoryBrowser.tsx index e85aa56bf3..dba13f9bdc 100644 --- a/src/browser/features/Memory/MemoryBrowser.tsx +++ b/src/browser/features/Memory/MemoryBrowser.tsx @@ -319,6 +319,19 @@ function buildTree(files: MemoryFileInfo[]): TreeDir { return root; } +/** + * Disclosure caret shared by the scope and directory rows: points down when + * expanded, right when collapsed. `className` is appended to the shared sizing + * classes so each row can add layout tweaks (e.g. `shrink-0`). + */ +function DisclosureChevron(props: { open: boolean; className?: string }) { + const Icon = props.open ? ChevronDown : ChevronRight; + const className = props.className + ? `text-muted h-3 w-3 ${props.className}` + : "text-muted h-3 w-3"; + return