import Input from "@/components/input"; import { useCallback, useState } from "react"; import axios from "axios"; import { signIn } from "next-auth/react" import { FcGoogle } from "react-icons/fc" import { FaGithub } from "react-icons/fa" const Auth = () => { const [email, setEmail] = useState(''); const [username, setUsername] = useState(''); const [password, setPassword] = useState(''); const [variant, setVariant] = useState('login'); const toggleVariant = useCallback(() => { setVariant((currentVariant) => currentVariant === 'login' ? 'register' : 'login') }, [email, username, password]); const login = useCallback(async () => { try { await signIn('credentials', { email, password, callbackUrl: '/profiles' }); } catch (err) { console.log(err) } }, [email, password]) const register = useCallback(async () => { try { await axios.post('/api/register', { email, username, password }); login() } catch (err) { console.log(err) } }, [email, username, password, login]); return (

{variant === 'login' ? 'Login' : 'Registrati'}

{variant === 'register' && ( setUsername(e.target.value)} id="username" value={username} /> )} setEmail(e.target.value)} id="email" type="email" value={email} /> setPassword(e.target.value)} id="password" type="password" value={password} />
signIn('google', { callbackUrl: '/profiles' })} className="flex flex-row items-center gap-4 mt-8 justify-center">
signIn('github', { callbackUrl: '/profiles' })} className="w-10 h-10 bg-white rounded-full flex items-center justify-center cursor-pointer hover:opacity-80 transition">

{variant === 'login' ? 'Prima volta nel sito?' : 'Hai giĆ” un account?'} {variant === 'login' ? 'Crea un account!' : 'Login'}

) } export default Auth;