Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 5399 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

import { axios } from '../../utils'
import { intlTypes } from './intl.types'

export const getLanguage = () => {
  return async (dispatch) => {
    try {
      const { data: response } = await axios.get('/language')
      const { success, data } = response

      if (!success) {
        throw new Error(data.message)
      }

      dispatch(setIntlLabels(labelsAdapter(data)))
    } catch (error) {
      throw new Error(error)
    }
  }
}

const labelsAdapter = (labels) => {
  const newKeys = Object.entries(labels).map(([key, value]) => [
    key.replace('LABEL_', '').toLowerCase(),
    value,
  ])

  return Object.fromEntries(newKeys)
}

export const setIntlLabels = (labels) => ({
  type: intlTypes.SET_LABELS,
  payload: labels,
})