change modal-window for file-info style

This commit is contained in:
smanylov
2026-03-04 16:15:21 +07:00
parent 617984e587
commit a11abdbb56
4 changed files with 120 additions and 120 deletions
+16 -13
View File
@@ -3486,18 +3486,6 @@
} }
.modal-window-view-file { .modal-window-view-file {
/* position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 90%;
max-width: 1200px;
max-height: 90%;
background: white;
border-radius: 16px;
padding: 0;
overflow: hidden;
box-shadow: 0 25px 50px rgba(0, 0, 0, 0.5); */
border-radius: 20px; border-radius: 20px;
overflow: hidden; overflow: hidden;
@@ -3533,7 +3521,7 @@
&.image { &.image {
display: grid; display: grid;
grid-template-columns: 1fr 300px; grid-template-columns: 1fr 1fr;
gap: 20px; gap: 20px;
} }
} }
@@ -3565,12 +3553,27 @@
} }
} }
.file-info-wrapper {
display: flex;
gap: 15px;
margin-bottom: 15px;
@media (max-width: 875px) {
flex-direction: column;
}
}
.file-info-card { .file-info-card {
background: #ffffff; background: #ffffff;
border: 1px solid #e2e8f0; border: 1px solid #e2e8f0;
border-radius: 12px; border-radius: 12px;
padding: 0; padding: 0;
overflow: hidden; overflow: hidden;
min-width: 400px;
@media (max-width: 470px) {
min-width: auto;
}
.info-header { .info-header {
background: #f8fafc; background: #f8fafc;
@@ -1,141 +1,126 @@
import { convertBytes } from '@/app/lib/convertBytes'; import { convertBytes } from '@/app/lib/convertBytes';
import { formatDate, formatDateTime } from '@/app/lib/formatDate'; import { formatDate, formatDateTime } from '@/app/lib/formatDate';
import { useTranslations } from 'next-intl';
export function FileInfoModalWindow({ fileInfo, setWindowClose, setWindowChildren }: any) { export function FileInfoModalWindow({ fileInfo, setWindowClose, setWindowChildren }: any) {
const t = useTranslations('Global');
const exampleTest = { console.log(fileInfo);
ownerName: 'string',
ownerMail: 'string',
ownerCompany: 'string',
fileName: 'string',
fileSize: 'number',
fileUploadDate: 'number',
fileFormat: 'string',
protectStatus: 'string',
checksCount: 'number'
}
function closeHandler() {
setWindowChildren(null);
setWindowClose(false);
}
return ( return (
<div className='file-info-modal-window'> <div className="modal-window-view-file">
<div className="modal-window-view-file-header">
<div <div
className="flex justify-between" className="modal-window-view-file-title"
> >
<h3 className="text-2xl mb-4"> {fileInfo.fileName ? fileInfo.fileName : '-'}
Результат проверки </div>
</h3>
<button
className="file-info-modal-window-close-button"
onClick={closeHandler}
>
×
</button>
</div> </div>
<div <div
className="file-info-modal-window-section" className="modal-window-view-file-content"
> >
<div
<h4 className="file-info-wrapper"
className="mb-2"
> >
Информация о владельце <div
</h4> className="file-info-card"
<div className="file-info-modal-window-grid" > >
<div className="file-info-modal-window-item"> <div className="info-header">
<div className="file-info-modal-window-title" > <h4>{t('owner-information')}</h4>
Имя
</div> </div>
<div className="file-info-modal-window-content" > <div className="info-item">
<div className="info-label" >
{t('name')}:
</div>
<div className="info-value" >
{fileInfo.ownerName ? fileInfo.ownerName : '-'} {fileInfo.ownerName ? fileInfo.ownerName : '-'}
</div> </div>
</div> </div>
<div className="file-info-modal-window-item">
<div className="file-info-modal-window-title" > <div className="info-item">
Email <div className="info-label" >
{t('email')}:
</div> </div>
<div className="file-info-modal-window-content" > <div className="info-value" >
{fileInfo.ownerEmail ? fileInfo.ownerEmail : '-'} {fileInfo.ownerEmail ? fileInfo.ownerEmail : '-'}
</div> </div>
</div> </div>
<div className="file-info-modal-window-item">
<div className="file-info-modal-window-title" > <div className="info-item">
Компания <div className="info-label" >
{t('company')}:
</div> </div>
<div className="file-info-modal-window-content" > <div className="info-value" >
{fileInfo.ownerCompany ? fileInfo.ownerCompany : '-'} {fileInfo.ownerCompany ? fileInfo.ownerCompany : '-'}
</div> </div>
</div> </div>
</div> </div>
<h4 <div
className="mb-2" className="file-info-card"
> >
Информация о файле <div className="info-header">
</h4> <h4>{t('file-information')}</h4>
<div className="file-info-modal-window-grid" >
<div className="file-info-modal-window-item">
<div className="file-info-modal-window-title" >
Имя файла
</div> </div>
<div className="file-info-modal-window-content" >
<div className="info-item">
<div className="info-label" >
{t('file-name')}
</div>
<div className="info-value" >
{fileInfo.fileName ? fileInfo.fileName : '-'} {fileInfo.fileName ? fileInfo.fileName : '-'}
</div> </div>
</div> </div>
<div className="file-info-modal-window-item"> <div className="info-item">
<div className="file-info-modal-window-title" > <div className="info-label" >
Размер {t('size')}
</div> </div>
<div className="file-info-modal-window-content" > <div className="info-value" >
{fileInfo.fileSize ? convertBytes(fileInfo.fileSize) : '-'} {fileInfo.fileSize ? convertBytes(fileInfo.fileSize) : '-'}
</div> </div>
</div> </div>
<div className="file-info-modal-window-item"> <div className="info-item">
<div className="file-info-modal-window-title" > <div className="info-label" >
Загружен {t('loaded')}
</div> </div>
<div className="file-info-modal-window-content" > <div className="info-value" >
{fileInfo.fileUploadDate ? `${formatDate(fileInfo.fileUploadDate)} ${formatDateTime(fileInfo.fileUploadDate)}` : '-'} {fileInfo.fileUploadDate ? `${formatDate(fileInfo.fileUploadDate)} ${formatDateTime(fileInfo.fileUploadDate)}` : '-'}
</div> </div>
</div> </div>
<div className="file-info-modal-window-item"> <div className="info-item">
<div className="file-info-modal-window-title" > <div className="info-label" >
Формат {t('format')}
</div> </div>
<div className="file-info-modal-window-content" > <div className="info-value" >
{fileInfo.fileExtension ? fileInfo.fileExtension : '-'} {fileInfo.fileExtension ? fileInfo.fileExtension : '-'}
</div> </div>
</div> </div>
</div> </div>
<h4
className="mb-2"
>
Детали защиты
</h4>
<div className="file-info-modal-window-grid" >
<div className="file-info-modal-window-item">
<div className="file-info-modal-window-title" >
Статус защиты
</div> </div>
<div className="file-info-modal-window-content" >
<div
className="file-info-card"
>
<div className="info-header">
<h4>{t('security-details')}</h4>
</div>
<div className="info-item">
<div className="info-label" >
{t('protection-status')}
</div>
<div className="info-value" >
{fileInfo.protectStatus ? fileInfo.protectStatus : '-'} {fileInfo.protectStatus ? fileInfo.protectStatus : '-'}
</div> </div>
</div> </div>
<div className="file-info-modal-window-item"> <div className="info-item">
<div className="file-info-modal-window-title" > <div className="info-label" >
Количество проверок {t('number-of-checks')}
</div> </div>
<div className="file-info-modal-window-content" > <div className="info-value" >
{fileInfo.checksCount ? fileInfo.checksCount : '0'} {fileInfo.checksCount ? fileInfo.checksCount : '0'}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
) )
+7 -1
View File
@@ -287,7 +287,13 @@
"file-information": "File information", "file-information": "File information",
"id-in-the-system": "ID in the system", "id-in-the-system": "ID in the system",
"protection-status": "Protection status", "protection-status": "Protection status",
"file-for-search-unsupported": "File for search unsupported" "file-for-search-unsupported": "File for search unsupported",
"name": "Name",
"owner-information": "Owner information",
"security-details": "Security details",
"number-of-checks": "Number of checks",
"format": "Format",
"file-name": "File name"
}, },
"Login-register-form": { "Login-register-form": {
"and": "and", "and": "and",
+7 -1
View File
@@ -287,7 +287,13 @@
"file-information": "Информация о файле", "file-information": "Информация о файле",
"id-in-the-system": "ID в системе", "id-in-the-system": "ID в системе",
"protection-status": "Статус защиты", "protection-status": "Статус защиты",
"file-for-search-unsupported": "Файл для поиска не поддерживается" "file-for-search-unsupported": "Файл для поиска не поддерживается",
"name": "Имя",
"owner-information": "Информация о владельце",
"security-details": "Детали защиты",
"number-of-checks": "Количество проверок",
"format": "Формат",
"file-name": "Имя файла"
}, },
"Login-register-form": { "Login-register-form": {
"and": "и", "and": "и",