diff --git a/dashboard/src/features/i18n/index.ts b/dashboard/src/features/i18n/index.ts index 4e3413e..c970933 100644 --- a/dashboard/src/features/i18n/index.ts +++ b/dashboard/src/features/i18n/index.ts @@ -1,5 +1,9 @@ import dayjs from 'dayjs'; import i18n from 'i18next'; +import "dayjs/locale/fa"; +import "dayjs/locale/ru"; +import "dayjs/locale/zh-cn"; +import "dayjs/locale/ar"; import LanguageDetector from 'i18next-browser-languagedetector'; import HttpApi from 'i18next-http-backend'; import { initReactI18next } from 'react-i18next'; diff --git a/dashboard/src/modules/users/components/user-expiration-value.tsx b/dashboard/src/modules/users/components/user-expiration-value.tsx index 96df992..a320ca7 100644 --- a/dashboard/src/modules/users/components/user-expiration-value.tsx +++ b/dashboard/src/modules/users/components/user-expiration-value.tsx @@ -1,13 +1,19 @@ -import { format } from "date-fns"; import { type FC } from 'react' import { UserProp } from "@marzneshin/modules/users"; import { useTranslation } from "react-i18next"; +import dayjs from "dayjs"; +import relativeTime from "dayjs/plugin/relativeTime"; +import advancedFormat from "dayjs/plugin/advancedFormat"; export const UserExpirationValue: FC = ({ user }) => { const { t } = useTranslation(); + + dayjs.extend(relativeTime); + dayjs.extend(advancedFormat); + return ({ start_on_first_use: user.usage_duration && `${(user.usage_duration / 86400)} Day`, - fixed_date: user.expire_date && format(user.expire_date?.toLocaleString(), "PPP"), + fixed_date: user.expire_date && (dayjs(user.expire_date).format("MMMM Do, YYYY") + ' (' + dayjs(user.expire_date).fromNow()) + ')', never: t('never'), }[user.expire_strategy]) }