import { getProviders, signIn } from 'next-auth/react'
import type { Provider } from 'next-auth/providers'
import ProviderButton from '~/components/ProviderButton';
import { useSession } from 'next-auth/react';
import { useRouter } from 'next/router';
import { toast, ToastContainer } from 'react-toastify';
interface SignInProps {
providers: Provider[]
}
const SignIn: React.FC<SignInProps> = ({ providers }) => {
const { data, status } = useSession();
const router = useRouter();
if (data?.user && router.pathname === '/auth/signin') {
void router.push('/')
}
const handleSignIn = (provider: Provider) => {
signIn(provider.id, { redirect: false })
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})
}
... JSX
import { getProviders, signIn } from 'next-auth/react'
import type { Provider } from 'next-auth/providers'
import ProviderButton from '~/components/ProviderButton';
import { useSession } from 'next-auth/react';
import { useRouter } from 'next/router';
import { toast, ToastContainer } from 'react-toastify';
interface SignInProps {
providers: Provider[]
}
const SignIn: React.FC<SignInProps> = ({ providers }) => {
const { data, status } = useSession();
const router = useRouter();
if (data?.user && router.pathname === '/auth/signin') {
void router.push('/')
}
const handleSignIn = (provider: Provider) => {
signIn(provider.id, { redirect: false })
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
})
}
... JSX