Updated login check method.

This commit is contained in:
Mike Cao 2023-01-04 21:20:24 -08:00
parent 170b30b391
commit 796c65fa29
10 changed files with 45 additions and 40 deletions

28
hooks/useRequireLogin.js Normal file
View file

@ -0,0 +1,28 @@
import { useEffect } from 'react';
import { useRouter } from 'next/router';
import useApi from 'hooks/useApi';
import useUser from 'hooks/useUser';
export default function useRequireLogin() {
const router = useRouter();
const { get } = useApi();
const { user, setUser } = useUser();
useEffect(() => {
async function loadUser() {
try {
const { user } = await get('/auth/verify');
setUser(user);
} catch {
await router.push('/login');
}
}
if (!user) {
loadUser();
}
}, [user]);
return { user };
}