Files
no-copy-frontend/src/app/ui/file-page/file-page-file-info.tsx
T

64 lines
1.6 KiB
TypeScript
Raw Normal View History

2026-03-17 18:41:02 +07:00
'use client'
2026-03-26 11:56:36 +07:00
import { FileDetails } from '@/app/[locale]/pages/file/[id]/page';
2026-03-17 18:41:02 +07:00
import { convertBytes } from '@/app/lib/convertBytes';
import { formatDate } from '@/app/lib/formatDate';
import { useTranslations } from 'next-intl';
import { useEffect } from 'react';
2026-03-26 11:56:36 +07:00
export default function FilenPageFileInfo({ fileInfo }: { fileInfo: FileDetails }) {
2026-03-17 18:41:02 +07:00
const t = useTranslations('Global');
2026-03-02 18:57:52 +07:00
return (
<div
className="block-wrapper"
>
<div className="content-card">
<div className="card-header">
<h3 className="card-title">
2026-03-17 18:41:02 +07:00
{t('file-information')}
2026-03-02 18:57:52 +07:00
</h3>
</div>
<div className="info-row">
2026-03-17 18:41:02 +07:00
<span className="info-label">
ID
</span>
2026-03-02 18:57:52 +07:00
<span className="info-value">
2026-03-17 18:41:02 +07:00
{fileInfo ? fileInfo.supportId : '#'}
2026-03-02 18:57:52 +07:00
</span>
</div>
<div className="info-row">
2026-03-17 18:41:02 +07:00
<span className="info-label">
{t('file-type')}
</span>
2026-03-02 18:57:52 +07:00
<span className="info-value">
2026-03-17 18:41:02 +07:00
{fileInfo ? fileInfo.mimeType : '#'}
</span>
</div>
<div className="info-row">
<span className="info-label">
{t('size')}
</span>
<span className="info-value">{fileInfo ? convertBytes(fileInfo.fileSize) : '#'}</span>
</div>
<div className="info-row">
<span className="info-label">
{t('loaded')}
</span>
<span className="info-value">
{fileInfo ? formatDate(fileInfo.createdAt) : '#'}
</span>
</div>
<div className="info-row">
<span className="info-label">
{t('monitoring')}
</span>
<span className="info-value">
{fileInfo ? fileInfo.monitoring : '#'}
2026-03-02 18:57:52 +07:00
</span>
</div>
</div>
</div>
)
}