import React from 'react' import { FaFileAlt, FaDownload } from 'react-icons/fa' import dayjs from 'dayjs' import { DocumentDto } from '@/proxy/intranet/models' import { useLocalization } from '@/utils/hooks/useLocalization' import { getFileIcon, getFileType } from '@/proxy/intranet/utils' const formatFileSize = (bytes: number): string => { if (bytes === 0) return '0 B' const k = 1024 const sizes = ['B', 'KB', 'MB', 'GB'] const i = Math.floor(Math.log(bytes) / Math.log(k)) return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${sizes[i]}` } const RecentDocuments: React.FC<{ documents: DocumentDto[] }> = ({ documents }) => { const { translate } = useLocalization(); return (

{translate('::App.Platform.Intranet.Widgets.RecentDocuments.Title')}

{documents.length > 0 ? ( documents.slice(0, 3).map((doc) => (
{getFileIcon(doc.extension)}

{doc.name}

{getFileType(doc.extension)} {formatFileSize(doc.size)}

{dayjs(doc.modifiedAt).fromNow()} {doc.isReadOnly && ( <> 🔒 {translate('::App.Platform.Intranet.Widgets.RecentDocuments.ReadOnly')} )}
)) ) : (
{translate('::App.Platform.Intranet.Widgets.RecentDocuments.NoDocuments')}
)}
) } export default RecentDocuments