MCPcopy Create free account
hub / github.com/codeaashu/claude-code / useMinDisplayTime

Function useMinDisplayTime

src/hooks/useMinDisplayTime.ts:10–35  ·  view source on GitHub ↗
(value: T, minMs: number)

Source from the content-addressed store, hash-verified

8 * each value gets its minimum screen time before being replaced.
9 */
10export function useMinDisplayTime<T>(value: T, minMs: number): T {
11 const [displayed, setDisplayed] = useState(value)
12 const lastShownAtRef = useRef(0)
13
14 useEffect(() => {
15 const elapsed = Date.now() - lastShownAtRef.current
16 if (elapsed >= minMs) {
17 lastShownAtRef.current = Date.now()
18 setDisplayed(value)
19 return
20 }
21 const timer = setTimeout(
22 (shownAtRef, setFn, v) => {
23 shownAtRef.current = Date.now()
24 setFn(v)
25 },
26 minMs - elapsed,
27 lastShownAtRef,
28 setDisplayed,
29 value,
30 )
31 return () => clearTimeout(timer)
32 }, [value, minMs])
33
34 return displayed
35}
36

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected