import { useEffect, useState } from "react"; import { useLocation } from "react-router-dom"; interface PageTransitionProps { children: React.ReactNode; } export default function PageTransition({ children }: PageTransitionProps) { const [visible, setVisible] = useState(false); const location = useLocation(); useEffect(() => { setVisible(false); const id = requestAnimationFrame(() => setVisible(true)); return () => cancelAnimationFrame(id); }, [location.pathname]); return (
{children}
); }