import { useEffect, useState } from 'react'; const usePageLoaded = (callback: () => void) => { const [isLoaded, setIsLoaded] = useState(false); useEffect(() => { const handlePageLoad = () => { setIsLoaded(true); callback(); }; if (document.readyState === 'complete') { // Page is already fully loaded handlePageLoad(); } else { // Wait for the page to load window.addEventListener('load', handlePageLoad); } return () => window.removeEventListener('load', handlePageLoad); }, [callback]); return isLoaded; }; export default usePageLoaded;