diff --git a/frontend/src/pages/index.tsx b/frontend/src/pages/index.tsx index dd261ac..3823c84 100644 --- a/frontend/src/pages/index.tsx +++ b/frontend/src/pages/index.tsx @@ -1,4 +1,4 @@ -import React, { ReactElement } from 'react'; +import React, { ReactElement, useEffect } from 'react'; import Head from 'next/head'; import Link from 'next/link'; import { useRouter } from 'next/router'; @@ -6,13 +6,20 @@ import { useAppSelector, useAppDispatch } from '../stores/hooks'; import LayoutGuest from '../layouts/Guest'; import { getPageTitle } from '../config'; import BaseButton from '../components/BaseButton'; -import { logoutUser } from '../stores/authSlice'; +import { logoutUser, findMe } from '../stores/authSlice'; export default function Starter() { const router = useRouter(); const dispatch = useAppDispatch(); const { currentUser, token } = useAppSelector((state) => state.auth); + // Hydrate auth state if token exists but currentUser doesn't + useEffect(() => { + if (token && !currentUser) { + dispatch(findMe()); + } + }, [token, currentUser, dispatch]); + const handleLogout = () => { dispatch(logoutUser()); router.push('/login'); @@ -62,12 +69,12 @@ export default function Starter() {