import { ChevronDown, Eye, FileText, FolderPlus, List, RefreshCw, Search, TableProperties, X } from 'lucide-react'; import { useTranslation } from 'react-i18next'; import { Button, Input } from '../../../shared/view/ui'; import { cn } from '../../../lib/utils'; import type { FileTreeViewMode } from '../types/types'; type FileTreeHeaderProps = { viewMode: FileTreeViewMode; onViewModeChange: (mode: FileTreeViewMode) => void; searchQuery: string; onSearchQueryChange: (query: string) => void; // Toolbar actions onNewFile?: () => void; onNewFolder?: () => void; onRefresh?: () => void; onCollapseAll?: () => void; // Loading state loading?: boolean; operationLoading?: boolean; }; export default function FileTreeHeader({ viewMode, onViewModeChange, searchQuery, onSearchQueryChange, onNewFile, onNewFolder, onRefresh, onCollapseAll, loading, operationLoading, }: FileTreeHeaderProps) { const { t } = useTranslation(); return (
{/* Title and Toolbar */}

{t('fileTree.files')}

{/* Action buttons */} {onNewFile && ( )} {onNewFolder && ( )} {onRefresh && ( )} {onCollapseAll && ( )} {/* Divider */}
{/* View mode buttons */}
{/* Search Bar */}
onSearchQueryChange(event.target.value)} className="h-8 pl-8 pr-8 text-sm" /> {searchQuery && ( )}
); }