Proyectos de Subversion LeadersLinked - SPA

Rev

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

import { Request } from "../../services/api";
import { axios } from "../../utils";
import { intlTypes } from "./intl.types";

export const getLanguage = () => {
  return async (dispatch) => {
    try {
      const request = new Request()
      const { success, data } = await request.get('/language');

      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("LANG_", "").toLowerCase(),
    value,
  ]);

  return Object.fromEntries(newKeys);
};

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