Docs
useVisibilityChange
Track document visibility and respond to changes with useVisibilityChange.
Loading...
Installation
pnpm dlx shadcn@latest add https://usekit.kiron.dev/k/use-visibility-change
Usage
"use client"
import * as React from "react"
import { useVisibilityChange } from "@/hooks/use-visibility-change"
export function Component() {
const documentVisible = useVisibilityChange()
const [tabAwayCount, setTabAwayCount] = React.useState(0)
React.useEffect(() => {
if (!documentVisible) {
setTabAwayCount((prev) => prev + 1)
}
}, [documentVisible])
return (
<div>
<h1>Document Visibility Tracker</h1>
<p>Document is currently: {documentVisible ? "Visible" : "Hidden"}</p>
<p>Number of times tabbed away: {tabAwayCount}</p>
</div>
)
}
API Reference
Return Values
Name | Type | Description |
---|---|---|
documentVisible | boolean | true if the document is currently visible, false otherwise. |