import React, { memo } from 'react'; import type { FileSystemItem as FileSystemItemType } from '../types'; import FolderIcon from './FolderIcon'; import FileIcon from './FileIcon'; interface FileItemProps { item: FileSystemItemType; isSelected: boolean; onSelect: (id: string) => void; onDoubleClick?: () => void; } const FileItem: React.FC = ({ item, isSelected, onSelect, onDoubleClick }) => { const itemClasses = `grid grid-cols-12 gap-4 px-4 py-3 items-center transition-colors duration-150 cursor-pointer ${isSelected ? 'bg-indigo-600/30' : 'hover:bg-slate-700/30' }`; return (
onSelect(item.id)} onDoubleClick={onDoubleClick} className={itemClasses} >
{item.type === 'folder' ? : } {item.name}
{item.modified}
{item.size || '—'}
); }; export default memo(FileItem);