import { FiFile, FiImage, FiMusic, FiFileText, FiDownload, FiX } from 'react-icons/fi';
export interface FileMetadata {
type: 'audio' | 'image' | 'document' | 'spreadsheet' | 'other';
mimeType: string;
size: number;
originalName: string;
url: string;
thumbnailUrl?: string;
}
export interface FilePreviewProps {
file: FileMetadata;
onRemove?: () => void;
showRemove?: boolean;
compact?: boolean;
}
export function FilePreview({ file, onRemove, showRemove = false, compact = false }: FilePreviewProps) {
const formatFileSize = (bytes: number): string => {
if (bytes < 1024) return `${bytes} B`;
if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
};
const getFileIcon = () => {
switch (file.type) {
case 'audio':
return
{file.originalName}
{formatFileSize(file.size)}
{file.originalName}
{formatFileSize(file.size)}