Files
no-copy-frontend/src/app/ui/settings/setting-user-verification.tsx
T
2026-04-27 14:58:54 +07:00

54 lines
1.6 KiB
TypeScript

'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';
import { useUserProfile } from '@/app/hooks/react-query/useUserDataInfo';
export default function SettingUserVerification() {
const t = useTranslations('User-status');
const { data: allFilesExtensions } = useAllFilesExtensions();
const { data: userData, isLoading, isError } = useUserProfile();
const getVerifiedStatusText = (status: string | undefined | null) => {
switch (status) {
case 'VERIFICATION_IN_PROGRESS':
return t('under-moderation');
case 'NOT_VERIFIED':
return t('NOT_VERIFIED');
case 'VERIFIED':
return t('VERIFIED');
case 'VERIFICATION_FAILED':
return t('VERIFICATION_FAILED');
case 'unknow':
return t('unknow');
case undefined:
case null:
return t('NOT_VERIFIED');
default:
return t('NOT_VERIFIED');
}
};
return (
<div className="settings-form">
<div className="form-section verefication-section">
<h3 className="form-section-title">
{t('user-verification')}
</h3>
{userData?.verifiedStatus === 'NOT_VERIFIED' || userData?.verifiedStatus === null ? (
<VerificationUploadSection
fileType="image"
allowedExtensions={[...allFilesExtensions.images, 'pdf']}
maxFileSize={allFilesExtensions.maxFileSize}
/>
) : (
<span>
{t('Status')}: {getVerifiedStatusText(userData?.verifiedStatus)}
</span>
)}
</div>
</div>
)
}