Files
no-copy-frontend/src/app/ui/modal-windows/file-info-modal-window.tsx
T

128 lines
3.4 KiB
TypeScript
Raw Normal View History

2026-01-30 15:03:22 +07:00
import { convertBytes } from '@/app/lib/convertBytes';
2026-02-23 12:53:06 +07:00
import { formatDate, formatDateTime } from '@/app/lib/formatDate';
2026-03-04 16:15:21 +07:00
import { useTranslations } from 'next-intl';
2026-03-26 11:56:36 +07:00
import { FileDetails } from '@/app/[locale]/pages/file/[id]/page';
2026-02-23 12:53:06 +07:00
2026-03-17 18:41:02 +07:00
export function FileInfoModalWindow({ fileInfo, setWindowClose, setWindowChildren }: {
fileInfo: FileDetails,
setWindowClose: any,
setWindowChildren: any
}) {
2026-03-04 16:15:21 +07:00
const t = useTranslations('Global');
2026-01-28 18:53:08 +07:00
return (
2026-03-04 16:15:21 +07:00
<div className="modal-window-view-file">
2026-01-28 18:53:08 +07:00
<div
2026-03-04 16:15:21 +07:00
className="modal-window-view-file-content"
2026-01-28 18:53:08 +07:00
>
2026-03-04 16:15:21 +07:00
<div
className="file-info-wrapper"
2026-01-28 18:53:08 +07:00
>
2026-03-04 16:15:21 +07:00
<div
className="file-info-card"
>
<div className="info-header">
<h4>{t('owner-information')}</h4>
2026-01-28 18:53:08 +07:00
</div>
2026-03-04 16:15:21 +07:00
<div className="info-item">
<div className="info-label" >
{t('name')}:
</div>
<div className="info-value" >
{fileInfo.ownerName ? fileInfo.ownerName : '-'}
</div>
</div>
<div className="info-item">
<div className="info-label" >
{t('email')}:
</div>
<div className="info-value" >
{fileInfo.ownerEmail ? fileInfo.ownerEmail : '-'}
</div>
</div>
<div className="info-item">
<div className="info-label" >
{t('company')}:
</div>
<div className="info-value" >
{fileInfo.ownerCompany ? fileInfo.ownerCompany : '-'}
</div>
2026-01-28 18:53:08 +07:00
</div>
</div>
2026-03-04 16:15:21 +07:00
<div
className="file-info-card"
>
<div className="info-header">
<h4>{t('file-information')}</h4>
2026-01-28 18:53:08 +07:00
</div>
2026-03-04 16:15:21 +07:00
<div className="info-item">
<div className="info-label" >
{t('file-name')}
</div>
<div className="info-value" >
{fileInfo.fileName ? fileInfo.fileName : '-'}
</div>
2026-01-28 18:53:08 +07:00
</div>
2026-03-04 16:15:21 +07:00
<div className="info-item">
<div className="info-label" >
{t('size')}
</div>
<div className="info-value" >
{fileInfo.fileSize ? convertBytes(fileInfo.fileSize) : '-'}
</div>
2026-01-28 18:53:08 +07:00
</div>
2026-03-04 16:15:21 +07:00
<div className="info-item">
<div className="info-label" >
{t('loaded')}
</div>
<div className="info-value" >
{fileInfo.fileUploadDate ? `${formatDate(fileInfo.fileUploadDate)} ${formatDateTime(fileInfo.fileUploadDate)}` : '-'}
</div>
</div>
<div className="info-item">
<div className="info-label" >
{t('format')}
</div>
<div className="info-value" >
{fileInfo.fileExtension ? fileInfo.fileExtension : '-'}
</div>
2026-01-28 18:53:08 +07:00
</div>
2026-03-17 18:41:02 +07:00
{fileInfo.mimeType === 'image' && (
<div className="info-item image">
<img src={fileInfo.thumbnailFileUrl ? fileInfo.thumbnailFileUrl : '#'} alt="" />
</div>
)}
2026-01-28 18:53:08 +07:00
</div>
</div>
2026-03-04 16:15:21 +07:00
<div
className="file-info-card"
2026-01-28 18:53:08 +07:00
>
2026-03-04 16:15:21 +07:00
<div className="info-header">
<h4>{t('security-details')}</h4>
2026-01-28 18:53:08 +07:00
</div>
2026-03-04 16:15:21 +07:00
<div className="info-item">
<div className="info-label" >
{t('protection-status')}
2026-01-28 18:53:08 +07:00
</div>
2026-03-04 16:15:21 +07:00
<div className="info-value" >
2026-01-28 18:53:08 +07:00
{fileInfo.protectStatus ? fileInfo.protectStatus : '-'}
</div>
</div>
2026-03-04 16:15:21 +07:00
<div className="info-item">
<div className="info-label" >
{t('number-of-checks')}
2026-01-28 18:53:08 +07:00
</div>
2026-03-04 16:15:21 +07:00
<div className="info-value" >
2026-01-29 12:00:29 +07:00
{fileInfo.checksCount ? fileInfo.checksCount : '0'}
2026-01-28 18:53:08 +07:00
</div>
</div>
</div>
</div>
</div>
)
}