import React from 'react'; import { Stack, Card, Box, Text, Badge, Group, Divider, ScrollArea } from '@mantine/core'; import { useTranslation } from 'react-i18next'; import { detectFileExtension, getFileSize } from '../../utils/fileUtils'; import { StoredFileMetadata } from '../../services/fileStorage'; import ToolChain from '../shared/ToolChain'; interface FileInfoCardProps { currentFile: StoredFileMetadata | null; modalHeight: string; } const FileInfoCard: React.FC = ({ currentFile, modalHeight }) => { const { t } = useTranslation(); return ( {t('fileManager.details', 'File Details')} {t('fileManager.fileName', 'Name')} {currentFile ? currentFile.name : ''} {t('fileManager.fileFormat', 'Format')} {currentFile ? ( {detectFileExtension(currentFile.name).toUpperCase()} ) : ( )} {t('fileManager.fileSize', 'Size')} {currentFile ? getFileSize(currentFile) : ''} {/* Standard PDF Metadata */} {currentFile?.pdfMetadata?.title && ( <> {t('fileManager.title', 'Title')} {currentFile.pdfMetadata.title} )} {currentFile?.pdfMetadata?.author && ( <> {t('fileManager.author', 'Author')} {currentFile.pdfMetadata.author} )} {currentFile?.pdfMetadata?.subject && ( <> {t('fileManager.subject', 'Subject')} {currentFile.pdfMetadata.subject} )} {currentFile?.pdfMetadata?.creationDate && ( <> {t('fileManager.created', 'Created')} {new Date(currentFile.pdfMetadata.creationDate).toLocaleDateString()} )} {t('fileManager.lastModified', 'Last Modified')} {currentFile ? new Date(currentFile.lastModified).toLocaleDateString() : ''} {t('fileManager.fileVersion', 'Version')} {currentFile && v{currentFile ? (currentFile.versionNumber || 1) : ''} } {/* Tool Chain Display */} {currentFile?.toolHistory && currentFile.toolHistory.length > 0 && ( <> {t('fileManager.toolChain', 'Tools Applied')} )} ); }; export default FileInfoCard;