UNPKG

@sinchsmb/ui-kit

Version:

UI kit for SinchSMB frontend

21 lines (16 loc) 763 B
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]); }