'use client'; import { useEffect, useState } from 'react'; export function usePageVisibility(page: number) { if (typeof document === 'undefined') { return true; } const [isVisible, setIsVisible] = useState(!document.hidden); useEffect(() => { if (page > 1) { return; } const handleVisibilityChange = () => { setIsVisible(!document.hidden); }; const onBlur = () => { setIsVisible(false); }; const onFocus = () => { setIsVisible(true); }; window.addEventListener('blur', onBlur); window.addEventListener('focus', onFocus); document.addEventListener('visibilitychange', handleVisibilityChange); return () => { document.removeEventListener('visibilitychange', handleVisibilityChange); document.removeEventListener('blur', onBlur); document.removeEventListener('focus', focus); }; }, []); return isVisible; }