epn-ui
Version:
Дизайн система кабинета ВМ
32 lines (29 loc) • 1.07 kB
JavaScript
import React, { useMemo, useCallback } from 'react';
import dayjs from 'dayjs';
import enDayjs from 'dayjs/locale/en';
import ruDayjs from 'dayjs/locale/ru';
var DateDisplay = function (_a) {
var date = _a.date, _b = _a.format, format = _b === void 0 ? 'DD-MM-YYYY' : _b, locale = _a.locale;
var dateByLocale = useMemo(function () { return ({
ru: ruDayjs,
en: enDayjs,
default: enDayjs,
}); }, []);
var getDate = useCallback(function () {
try {
if (dayjs.locale() !== locale) {
dayjs.locale(dateByLocale[locale] || dateByLocale.default);
}
var dateOject = dayjs(date);
if (!dateOject.isValid())
return date;
return dateOject.format(format);
}
catch (err) {
console.error(err);
return date;
}
}, [date, dateByLocale, format, locale]);
return React.createElement(React.Fragment, null, getDate());
};
export { DateDisplay, DateDisplay as default };