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'
import { FILE_URL } from '@/constants/app.constant'
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