An encrypted personal cloud built on the AT Protocol.
at main 13 lines 376 B view raw
1import { useEffect, useState } from "react"; 2 3/** Returns `false` until `ms` milliseconds have elapsed since mount. */ 4export function useMinimumDuration(ms: number): boolean { 5 const [elapsed, setElapsed] = useState(false); 6 7 useEffect(() => { 8 const timer = setTimeout(() => setElapsed(true), ms); 9 return () => clearTimeout(timer); 10 }, [ms]); 11 12 return elapsed; 13}