import React, { useState } from 'react' import '../login.css'; const Login = ({toSignin, onLoginSuccess}) => { // États pour les champs du formulaire const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const [isLoading, setIsLoading] = useState(false); // Gérer la soumission du formulaire const handleSubmit = async (e) => { e.preventDefault(); setError(''); setIsLoading(true); try { const response = await fetch('/api/login', { method: 'POST', headers: { 'Content-Type': 'application/json', }, credentials: 'include', // Pour accepter les cookies body: JSON.stringify({ email, password }) }); const data = await response.json(); if (response.ok) { // Stockage du nom d'utilisateur dans localStorage localStorage.setItem('userName', data.username); localStorage.setItem('userId', data.user_id); localStorage.setItem('userRole', data.role); // Stocker également le session_id en cas d'échec des cookies localStorage.setItem('sessionId', data.session_id); // Informer le composant parent que la connexion est réussie if (onLoginSuccess) { onLoginSuccess(); } } else { setError(data.detail || 'Identifiants incorrects'); } } catch (err) { setError('Erreur de connexion au serveur'); console.error(err); } finally { setIsLoading(false); } }; return (
Pas encore de compte ? S'inscrire