woodpecker/web/src/compositions/useTimeAgo.ts
qwerty287 d1c51f4af8
Lazy-load TimeAgo locales (#2094)
1. new translation docs
2. lazy-load TimeAgo locales (used for "x min ago" messages). This 1.
reduces size and 2. provides all languages without adding them manually.
3. Remove DayJS locales, they're unused.
2023-08-03 19:25:12 +02:00

18 lines
528 B
TypeScript

import TimeAgo from 'javascript-time-ago';
import en from 'javascript-time-ago/locale/en.json';
import { getUserLanguage } from '~/utils/locale';
TimeAgo.addDefaultLocale(en);
const addedLocales = ['en'];
export default () => new TimeAgo(getUserLanguage());
export async function loadTimeAgoLocale(locale: string) {
if (!addedLocales.includes(locale)) {
const { default: timeAgoLocale } = await import(`~/assets/timeAgoLocales/${locale}.js`);
TimeAgo.addLocale(timeAgoLocale);
addedLocales.push(locale);
}
}