From b22788920bc30780e562f32b77b5b1954b366ddc Mon Sep 17 00:00:00 2001 From: 7418 <7418@openclaw.ai> Date: Thu, 12 Feb 2026 21:49:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20file=20tree=20folder=20=E2=80=94=20separ?= =?UTF-8?q?ate=20toggle=20trigger=20from=20row,=20remove=20unused=20select?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 --- src/components/ai-elements/file-tree.tsx | 60 +++++++++++------------- 1 file changed, 28 insertions(+), 32 deletions(-) diff --git a/src/components/ai-elements/file-tree.tsx b/src/components/ai-elements/file-tree.tsx index 1a923b9..f6a5da8 100644 --- a/src/components/ai-elements/file-tree.tsx +++ b/src/components/ai-elements/file-tree.tsx @@ -123,19 +123,14 @@ export const FileTreeFolder = ({ children, ...props }: FileTreeFolderProps) => { - const { expandedPaths, togglePath, selectedPath, onSelect } = + const { expandedPaths, togglePath } = useContext(FileTreeContext); const isExpanded = expandedPaths.has(path); - const isSelected = selectedPath === path; - const handleOpenChange = useCallback(() => { + const handleToggle = useCallback(() => { togglePath(path); }, [togglePath, path]); - const handleSelect = useCallback(() => { - onSelect?.(path); - }, [onSelect, path]); - const folderContextValue = useMemo( () => ({ isExpanded, name, path }), [isExpanded, name, path] @@ -143,38 +138,39 @@ export const FileTreeFolder = ({ return ( - +
- - + + + {isExpanded ? ( + + ) : ( + )} - onClick={handleSelect} - type="button" - > - - - {isExpanded ? ( - - ) : ( - - )} - - {name} - - + + {name} +
{children}