Proyectos de Subversion LeadersLinked - SPA

Rev

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

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