@sinchsmb/ui-kit
Version:
UI kit for SinchSMB frontend
21 lines (16 loc) • 763 B
text/typescript
import { Locale } from 'date-fns';
import { useMemo } from 'react';
import { useHiveUIContext } from '../contexts/HiveUIContext';
import { useLocale } from './useLocale';
import { useTranslation } from './useTranslation';
export function useDateFnsLocale(): Locale {
const locale = useLocale();
const { i18n } = useTranslation();
const { languages } = useHiveUIContext();
const currentLanguage = i18n.language;
// We can use non-null assertion operator here because language configuration was validated in HiveUI component
return useMemo(() => {
const currentLanguageConfig = languages.find((lang) => lang.language === currentLanguage)!;
return currentLanguageConfig.locales[locale]!.dateFns;
}, [locale, languages, currentLanguage]);
}