@hitachivantara/uikit-react-core
Version:
UI Kit Core React components.
23 lines (22 loc) • 746 B
JavaScript
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 };