mirror of
https://github.com/HKUDS/nanobot.git
synced 2026-08-31 16:21:50 +03:00
19 lines
589 B
TypeScript
19 lines
589 B
TypeScript
import { useEffect, useState } from "react";
|
|
|
|
function pageIsVisible(): boolean {
|
|
return typeof document === "undefined" || document.visibilityState !== "hidden";
|
|
}
|
|
|
|
/** Keep background tabs quiet while resuming work immediately on return. */
|
|
export function usePageVisibility(): boolean {
|
|
const [visible, setVisible] = useState(pageIsVisible);
|
|
|
|
useEffect(() => {
|
|
const update = () => setVisible(pageIsVisible());
|
|
document.addEventListener("visibilitychange", update);
|
|
return () => document.removeEventListener("visibilitychange", update);
|
|
}, []);
|
|
|
|
return visible;
|
|
}
|