Files
cronmaster/app/_hooks/usePageVisibility.ts
2025-11-19 20:23:14 +00:00

25 lines
556 B
TypeScript

"use client";
import { useEffect, useState } from "react";
export function usePageVisibility(): boolean {
const [isVisible, setIsVisible] = useState<boolean>(
typeof document !== "undefined" ? !document.hidden : true
);
useEffect(() => {
const handleVisibilityChange = () => {
setIsVisible(!document.hidden);
};
document.addEventListener("visibilitychange", handleVisibilityChange);
return () => {
document.removeEventListener("visibilitychange", handleVisibilityChange);
};
}, []);
return isVisible;
}