UNPKG

@hitachivantara/uikit-react-core

Version:
23 lines (22 loc) 746 B
import { formatTimeAgo } from "./formatUtils.js"; import { useTimeout } from "./useTimeout.js"; import { useEffect, useState } from "react"; //#region src/TimeAgo/useTimeAgo.ts function useTimeAgo(timestamp = Date.now(), options) { const { locale, disableRefresh = false, showSeconds = false } = options || {}; const [timeAgo, setTimeAgo] = useState(() => formatTimeAgo(timestamp, locale, showSeconds)); const refreshTime = disableRefresh ? 0 : 1e4; useEffect(() => { setTimeAgo(formatTimeAgo(timestamp, locale, showSeconds)); }, [ timestamp, locale, showSeconds ]); useTimeout(() => { setTimeAgo(formatTimeAgo(timestamp, locale, showSeconds)); }, refreshTime); return timeAgo; } //#endregion export { useTimeAgo as default };