import { useEffect } from 'react'

import ru from 'date-fns/locale/ru'
import en from 'date-fns/locale/en-GB'
import cs from 'date-fns/locale/cs'
import lv from 'date-fns/locale/lv'

import { registerLocale, setDefaultLocale } from 'react-datepicker'

import { useLexicsStore } from 'features/LexicsStore'

/**
 * react-datepicker использует date-fns локейлы для локализации
 * регистрируем [en, ru] чтобы названия дней недели менялись при смене языка
 */
export const useDatepickerLocales = () => {
  const { lang } = useLexicsStore()

  useEffect(() => {
    registerLocale('ru', ru)
    registerLocale('en', en)
    registerLocale('cs', cs)
    registerLocale('lv', lv)
  }, [])

  useEffect(() => {
    setDefaultLocale(lang)
  }, [lang])
}
