Files
claudecodeui/src/components/file-tree/view/FileTreeList.tsx

43 lines
1.1 KiB
TypeScript

import type { ReactNode } from 'react';
import type { FileTreeNode as FileTreeNodeType, FileTreeViewMode } from '../types/types';
import FileTreeNode from './FileTreeNode';
type FileTreeListProps = {
items: FileTreeNodeType[];
viewMode: FileTreeViewMode;
expandedDirs: Set<string>;
onItemClick: (item: FileTreeNodeType) => void;
renderFileIcon: (filename: string) => ReactNode;
formatFileSize: (bytes?: number) => string;
formatRelativeTime: (date?: string) => string;
};
export default function FileTreeList({
items,
viewMode,
expandedDirs,
onItemClick,
renderFileIcon,
formatFileSize,
formatRelativeTime,
}: FileTreeListProps) {
return (
<div>
{items.map((item) => (
<FileTreeNode
key={item.path}
item={item}
level={0}
viewMode={viewMode}
expandedDirs={expandedDirs}
onItemClick={onItemClick}
renderFileIcon={renderFileIcon}
formatFileSize={formatFileSize}
formatRelativeTime={formatRelativeTime}
/>
))}
</div>
);
}