import React from 'react'; import { ChevronDown, File, Folder } from 'lucide-react'; interface FileTreeProps { onFileSelect: (path: string) => void; } export function FileTree({ onFileSelect }: FileTreeProps) { const [expandedFolders, setExpandedFolders] = React.useState>(new Set(['src', 'components'])); const toggleFolder = (folder: string) => { setExpandedFolders(prev => { const next = new Set(prev); if (next.has(folder)) { next.delete(folder); } else { next.add(folder); } return next; }); }; return (
toggleFolder('src')} > src
{expandedFolders.has('src') &&
toggleFolder('components')} > components
{expandedFolders.has('components') &&
onFileSelect('/src/components/Chat.tsx')} > Chat.tsx
onFileSelect('/src/components/Editor.tsx')} > Editor.tsx
onFileSelect('/src/components/Prompt.tsx')} > Prompt.tsx
}
onFileSelect('/src/App.tsx')} > App.tsx
}
); }