import React, { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { useAuth } from '../contexts/AuthContext'; import Navbar from '../components/Navbar'; import GitHubLoginButton from '../components/GitHubLoginButton'; export default function Login() { const [formData, setFormData] = useState({ username: '', password: '' }); const [alerts, setAlerts] = useState([]); const [loading, setLoading] = useState(false); const [showPassword, setShowPassword] = useState(false); const navigate = useNavigate(); const { login } = useAuth(); const handleChange = (e) => { setFormData({ ...formData, [e.target.name]: e.target.value }); }; const addAlert = (type, message) => { const newAlert = { type, message, id: Date.now() }; setAlerts([...alerts, newAlert]); }; const onCloseAlert = (alertToRemove) => { setAlerts(alerts.filter(alert => alert !== alertToRemove)); }; const handleSubmit = async (e) => { e.preventDefault(); setAlerts([]); setLoading(true); try { await login(formData.username, formData.password); navigate('/'); } catch (err) { addAlert('error', err.message || 'Erreur de connexion'); } finally { setLoading(false); } }; return (
Pas encore de compte ?{' '} Créer un compte