import { useEffect, useState } from "react"; import { useRouter } from "next/navigation"; import { ComponentType } from "react"; const withAuth =

(WrappedComponent: ComponentType

) => { const WithAuthComponent = (props: P) => { const [isAuthenticated, setIsAuthenticated] = useState(false); const router = useRouter(); useEffect(() => { const token = localStorage.getItem("token"); if (!token) { router.replace("/login"); } else { setIsAuthenticated(true); } }, []); if (!isAuthenticated) { return null; } return ; }; return WithAuthComponent; }; export default withAuth;