import { useEffect } from 'react' import Router from 'next/router' import useSWR from 'swr' export default function useUser({ redirectToLogin = false, redirectToVerify = false, redirectToApps = false, } = {}) { const { data: user, mutate: mutateUser } = useSWR('/api/user') useEffect(() => { if (!user || (!redirectToLogin && !redirectToVerify && !redirectToApps)) return if (redirectToLogin && !user?.isLoggedIn) { Router.push('/login') } if (redirectToVerify && user?.isLoggedIn && !user?.isVerified) { Router.push('/verify') } if ( (redirectToApps && user?.isLoggedIn && user?.isVerified) ) { Router.push('/') } return }, [user, redirectToLogin, redirectToVerify, redirectToApps]) return {user, mutateUser} }