chat / client /src /routes /useAuthRedirect.ts
helloya20's picture
Upload 2345 files
f0743f4 verified
import { useEffect } from 'react';
import { useNavigate } from 'react-router-dom';
import { useAuthContext } from '~/hooks';
export default function useAuthRedirect() {
const { user, isAuthenticated } = useAuthContext();
const navigate = useNavigate();
useEffect(() => {
const timeout = setTimeout(() => {
if (!isAuthenticated) {
navigate('/login', { replace: true });
}
}, 300);
return () => {
clearTimeout(timeout);
};
}, [isAuthenticated, navigate]);
return {
user,
isAuthenticated,
};
}