Home
-

-
+
+ {token ? (
+ <>Home
+

+ >):(
+
Non connecté
+ )}
)
}
diff --git a/Front-end/src/pages/Login.jsx b/Front-end/src/pages/Login.jsx
index ebc3102..5aab8e4 100644
--- a/Front-end/src/pages/Login.jsx
+++ b/Front-end/src/pages/Login.jsx
@@ -1,17 +1,20 @@
import React, { useState } from 'react';
import { Mail, Lock } from 'lucide-react';
-import { useNavigate, Link } from 'react-router-dom'; // Importation du hook useNavigate
+import { useNavigate, Link } from 'react-router-dom';
+import axios from 'axios'; // Assurez-vous d'avoir axios importé
+import { useAuth } from '../AuthContext';
function Login() {
const [formData, setFormData] = useState({
email: '',
password: ''
});
+ const { login } = useAuth(); // Utilisation du hook useAuth pour accéder à la fonction login
const navigate = useNavigate(); // Initialisation de useNavigate
const handleChange = (e) => {
const { name, value } = e.target;
- setFormData(prev => ({
+ setFormData((prev) => ({
...prev,
[name]: value
}));
@@ -19,7 +22,7 @@ function Login() {
const handleSubmit = async (e) => {
e.preventDefault();
-
+
try {
const response = await fetch("http://localhost:8888/login", {
method: "POST",
@@ -28,21 +31,24 @@ function Login() {
},
body: JSON.stringify(formData),
});
-
+
+ // Récupérer les données JSON de la réponse
const data = await response.json();
-
- if (!response.ok) {
- throw new Error(data.error || "Erreur lors de la connexion");
+
+ // Vérifiez que la réponse contient bien un token
+ if (data.token) {
+ // Appel de la fonction login du contexte pour stocker le token
+ login(data.token);
+
+ // Rediriger vers la page d'accueil après la connexion
+ navigate('/');
+ } else {
+ console.error('Token manquant dans la réponse');
}
-
- localStorage.setItem("token", data.token);
- navigate("/");
-
} catch (error) {
- alert(error.message);
+ console.error('Erreur lors de la connexion', error);
}
};
-
return (