import { X, FileText } from 'lucide-react'; import type { ImageAttachment, TextFileAttachment } from '@/store/app-store'; import { formatFileSize } from '@/lib/image-utils'; interface FilePreviewProps { selectedImages: ImageAttachment[]; selectedTextFiles: TextFileAttachment[]; isProcessing: boolean; onRemoveImage: (imageId: string) => void; onRemoveTextFile: (fileId: string) => void; onClearAll: () => void; } export function FilePreview({ selectedImages, selectedTextFiles, isProcessing, onRemoveImage, onRemoveTextFile, onClearAll, }: FilePreviewProps) { const totalFiles = selectedImages.length + selectedTextFiles.length; if (totalFiles === 0) { return null; } return (

{totalFiles} file{totalFiles > 1 ? 's' : ''} attached

{/* Image attachments */} {selectedImages.map((image) => (
{/* Image thumbnail */}
{image.filename}
{/* Image info */}

{image.filename}

{image.size !== undefined && (

{formatFileSize(image.size)}

)}
{/* Remove button */} {image.id && ( )}
))} {/* Text file attachments */} {selectedTextFiles.map((file) => (
{/* File icon */}
{/* File info */}

{file.filename}

{formatFileSize(file.size)}

{/* Remove button */}
))}
); }