+
+ Загрузка изображений удостоверения личности
+
+
+ < div
+ className={`drag-drop-zone ${isDragging ? 'dragging' : ''}`}
+ onDragOver={handleDragOver}
+ onDragLeave={handleDragLeave}
+ onDrop={handleDrop}
+ >
+
+ {t('drag-the-file-here')}
+
+
+ {
+ fileType === "image" && (
+
+ {t('image-resolution')}: 100x100 - 10000x10000 {t('pixels')}
+
+ )
+ }
+
+ {t('file-format')}: {acceptString}
+
+ < p className="description" >
+ {t('file-size')}: {t('to')} {(maxFileSize / 1024 / 1024)} {t('mb')}
+
+
+ < input
+ ref={fileInputRef}
+ type="file"
+ accept={acceptString}
+ style={{ display: 'none' }}
+ onChange={handleFileInputChange}
+ aria-label="Выбор файла для защиты"
+ multiple // Добавляем multiple для выбора нескольких файлов
+ />
+
+
+
+ {
+ error && (
+
+ )
+ }
+
+ {
+ selectedFiles.length > 0 && (
+
+
+
+
+ {t('total-files')}: {selectedFiles.length}
+ {t('uploading')}: {uploadingCount}
+ {t('completed')}: {completedCount}
+
+
+
+
+
+
+ < button
+ className="btn btn-primary"
+ onClick={() => handleClearFile()}
+ type="button"
+ >
+ {t('clear-all')}
+
+
+
+
+
+ {
+ selectedFiles.map((file, index) => (
+
+
+
+
+ {t('file')}: {file.name}
+
+ < p className="text-gray-700" >
+
{t('size')}: {file.size}
+
+ < p className="text-gray-700" >
+
{t('status')}:
+
+ {
+ file.status === 'completed' ? t('completed') :
+ file.status === 'uploading' ? t('uploading') :
+ file.status === 'error' ? t('error') :
+ t('pending')
+ }
+
+
+ {
+ file.error && (
+
{file.error}
+ )
+ }
+
+
+
+
+ {file.progress} %
+
+ < button
+ className="btn btn-cancel"
+ onClick={() => handleClearFile(file.uploadId || file.name)}
+ type="button"
+ >
+ {t('remove')}
+
+
+
+
+
+ {
+ (fileType === 'image' && file.preview) && (
+
+

setError('Не удалось загрузить превью документа')
+ }
+ />
+
+
+ )
+ }
+
+ {
+ file.status === 'pending' && (
+
+
+
+ )}
+
+ ))}
+
+
+ )}
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/app/ui/settings/setting-user-verification.tsx b/src/app/ui/settings/setting-user-verification.tsx
new file mode 100644
index 0000000..3d09b9b
--- /dev/null
+++ b/src/app/ui/settings/setting-user-verification.tsx
@@ -0,0 +1,31 @@
+'use client'
+
+import { useTranslations } from 'next-intl';
+import { useAllFilesExtensions } from '@/app/hooks/react-query/useAllFilesExtensions';
+import VerificationUploadSection from '@/app/ui/settings/component/verification-upload-section';
+
+export default function SettingUserVerification() {
+ const t = useTranslations('Global');
+
+ const { data: allFilesExtensions } = useAllFilesExtensions();
+
+ return (
+