From 32d0450dadcd9375ee69a1074a84ed67197f9774 Mon Sep 17 00:00:00 2001 From: moreih29 Date: Sat, 30 May 2026 11:01:23 +0900 Subject: [PATCH 01/27] =?UTF-8?q?refactor(files):=20=ED=8C=8C=EC=9D=BC?= =?UTF-8?q?=ED=8A=B8=EB=A6=AC=C2=B7git=20=ED=8C=A8=EB=84=90=20chevron/?= =?UTF-8?q?=EC=A0=91=EA=B8=B0=20=EC=95=84=EC=9D=B4=EC=BD=98=EC=9D=84=20luc?= =?UTF-8?q?ide=EB=A1=9C=20=ED=86=B5=EC=9D=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 파일트리 chevron: 커스텀 인라인 SVG → lucide ChevronRight - git 패널 그룹/트리 chevron: ChevronDown/Right 스왑 → ChevronRight + rotate-90 (파일트리와 동일한 회전 애니메이션 방식) - git 패널 헤더 펴기/접기 토글 아이콘: FoldVertical/UnfoldVertical → ChevronsUpDown/ChevronsDownUp (접기 아이콘을 파일트리와 일치, 기능 유지) Co-Authored-By: Claude Opus 4.8 --- .../files/file-tree/root-header.tsx | 26 +++--------------- .../components/files/file-tree/row.tsx | 27 +++---------------- .../files/git/file-row/group-header.tsx | 12 ++++++--- .../files/git/file-row/tree-row.tsx | 12 ++++++--- .../components/files/git/panel/header.tsx | 6 ++--- 5 files changed, 29 insertions(+), 54 deletions(-) diff --git a/src/renderer/components/files/file-tree/root-header.tsx b/src/renderer/components/files/file-tree/root-header.tsx index 2a43ff85..ade4f236 100644 --- a/src/renderer/components/files/file-tree/root-header.tsx +++ b/src/renderer/components/files/file-tree/root-header.tsx @@ -18,7 +18,7 @@ * the same ContextMenuRoot the tree uses — index.tsx wires `onContextMenu` * to set the root target before the menu opens. */ -import { ChevronsDownUp, FilePlus, FolderPlus, RefreshCw } from "lucide-react"; +import { ChevronRight, ChevronsDownUp, FilePlus, FolderPlus, RefreshCw } from "lucide-react"; import { useTranslation } from "react-i18next"; import { cn } from "@/utils/cn"; import { basename } from "@/utils/path"; @@ -37,26 +37,6 @@ interface WorkspaceRootHeaderProps { onContextMenu: (e: React.MouseEvent) => void; } -// Inline chevron matches the SVG used by FileTreeRow (row.tsx) so the -// expand affordance is visually identical between header and child rows. -function ChevronRightIcon({ className }: { className?: string }) { - return ( - - ); -} - interface ActionButtonProps { label: string; onClick: () => void; @@ -132,7 +112,9 @@ export function WorkspaceRootHeader({ "outline-none focus-visible:ring-[2px] focus-visible:ring-ring/50 rounded-(--radius-control)", )} > -