import { Link, Navigate } from 'react-router-dom'; import logo from '@assets/images/logo.svg'; import { useQuery } from '@tanstack/react-query'; import { useState } from 'react'; import { useCookies } from 'react-cookie'; import type { Token } from '../types'; import { checkAuth } from '../controllers/Auth'; const Login = () => { if (checkAuth()) { return ; } const [cookie, setCookie] = useCookies(['token']); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const { refetch } = useQuery( ['login'], async () => { const response = await fetch('/api/auth/login', { method: 'POST', body: JSON.stringify({ email, password }), mode: 'cors', headers: { 'Content-Type': 'application/json', }, }); return response.json(); }, { onSuccess: (data: Token) => { setCookie('token', data.token, { path: '/', expires: new Date(data.expiresAt) }); return ; }, onError: (error) => { console.error(error); }, enabled: false, refetchOnWindowFocus: false, } ); const onSubmit = async (e: React.FormEvent) => { e.preventDefault(); await refetch(); }; return ( <>
Groupomania
onSubmit(e)}>
setEmail(e.target.value)} />
setPassword(e.target.value)} />

Enregistrez un nouveau compte

); }; export default Login;