mirror of
https://gitee.com/wanwujie/deer-flow
synced 2026-04-09 08:44:45 +08:00
28 lines
774 B
TypeScript
28 lines
774 B
TypeScript
import { formatDistanceToNow } from "date-fns";
|
|
import { enUS as dateFnsEnUS, zhCN as dateFnsZhCN } from "date-fns/locale";
|
|
|
|
import { detectLocale, type Locale } from "@/core/i18n";
|
|
import { getLocaleFromCookie } from "@/core/i18n/cookies";
|
|
|
|
function getDateFnsLocale(locale: Locale) {
|
|
switch (locale) {
|
|
case "zh-CN":
|
|
return dateFnsZhCN;
|
|
case "en-US":
|
|
default:
|
|
return dateFnsEnUS;
|
|
}
|
|
}
|
|
|
|
export function formatTimeAgo(date: Date | string | number, locale?: Locale) {
|
|
const effectiveLocale =
|
|
locale ??
|
|
(getLocaleFromCookie() as Locale | null) ??
|
|
// Fallback when cookie is missing (or on first render)
|
|
detectLocale();
|
|
return formatDistanceToNow(date, {
|
|
addSuffix: true,
|
|
locale: getDateFnsLocale(effectiveLocale),
|
|
});
|
|
}
|