Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 588 | Rev 2194 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
656 stevensc 1
import { axios } from '../../utils'
2
import { intlTypes } from './intl.types'
5 stevensc 3
 
4
export const getLanguage = () => {
5
  return async (dispatch) => {
6
    try {
656 stevensc 7
      const response = await axios.get('/language')
8
      const { data, success } = response.data
5 stevensc 9
 
585 stevensc 10
      if (!success) {
460 stevensc 11
        return
12
      }
13
 
656 stevensc 14
      dispatch(setIntlLabels(labelsAdapter(data)))
5 stevensc 15
    } catch (error) {
656 stevensc 16
      throw new Error(error)
5 stevensc 17
    }
656 stevensc 18
  }
19
}
5 stevensc 20
 
21
const labelsAdapter = (labels) => {
22
  const newKeys = Object.entries(labels).map(([key, value]) => [
656 stevensc 23
    key.replace('LANG_', '').toLowerCase(),
24
    value
25
  ])
5 stevensc 26
 
656 stevensc 27
  return Object.fromEntries(newKeys)
28
}
5 stevensc 29
 
30
export const setIntlLabels = (labels) => ({
31
  type: intlTypes.SET_LABELS,
656 stevensc 32
  payload: labels
33
})