![]() Server : Apache/2 System : Linux server-15-235-50-60 5.15.0-164-generic #174-Ubuntu SMP Fri Nov 14 20:25:16 UTC 2025 x86_64 User : gositeme ( 1004) PHP Version : 8.2.29 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/gositeme/domains/lavocat.ca/public_html/src/components/ |
import { useState } from 'react';
import { Box, Button, Input, Text } from '@chakra-ui/react';
export default function ManualVerificationUpload({ email, name, language, onClose }: { email: string, name: string, language: 'en' | 'fr', onClose?: () => void }) {
const [file, setFile] = useState<File | null>(null);
const [isUploading, setIsUploading] = useState(false);
const [success, setSuccess] = useState('');
const [error, setError] = useState('');
const handleFileChange = (e: React.ChangeEvent<HTMLInputElement>) => {
setFile(e.target.files?.[0] || null);
setError('');
setSuccess('');
};
const handleUpload = async () => {
if (!file) {
setError('Veuillez sélectionner un document.');
return;
}
setIsUploading(true);
setError('');
setSuccess('');
const formData = new FormData();
formData.append('file', file);
formData.append('email', email);
formData.append('name', name);
const res = await fetch('/api/lawyer/manual-verification', {
method: 'POST',
body: formData,
});
if (res.ok) {
setSuccess('Document envoyé avec succès. Un administrateur va vérifier votre dossier.');
setFile(null);
} else {
setError('Erreur lors de l’envoi du document. Veuillez réessayer.');
}
setIsUploading(false);
};
return (
<Box mt={6} p={4} borderWidth={1} borderRadius="md" bg="gray.50">
<Text fontWeight="bold" mb={2}>Vérification manuelle</Text>
<Text mb={2}>Téléversez un document officiel prouvant votre appartenance au Barreau (PDF, image, etc.).</Text>
<Input type="file" accept=".pdf,.jpg,.jpeg,.png" onChange={handleFileChange} mb={2} />
<Button onClick={handleUpload} colorScheme="blue" disabled={!file || isUploading}>
{isUploading ? 'Envoi en cours...' : 'Envoyer le document'}
</Button>
{success && <Text color="green.600" mt={2}>{success}</Text>}
{error && <Text color="red.600" mt={2}>{error}</Text>}
{onClose && (
<Button onClick={onClose} mt={2} colorScheme="gray">
Fermer
</Button>
)}
</Box>
);
}