mario-core 2.9.224-lang → 2.9.225-lang

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ declare const useLanguages: () => {
3
+ languageList: any;
4
+ toggle: () => void;
5
+ dropdownOpen: boolean;
6
+ setCurrentLang: import("react").Dispatch<any>;
7
+ language: any;
8
+ };
9
+ export default useLanguages;
package/dist/index.js CHANGED
@@ -31969,22 +31969,38 @@ var getCookieValue = function getCookieValue(name) {
31969
31969
  return ((_document$cookie$matc = document.cookie.match('(^|;)\\s*' + name + '\\s*=\\s*([^;]+)')) === null || _document$cookie$matc === void 0 ? void 0 : _document$cookie$matc.pop()) || '';
31970
31970
  };
31971
31971
 
31972
+ var apiGetLanguage = function apiGetLanguage() {
31973
+ return api.get(BASE_URL + "/api/language");
31974
+ };
31975
+
31976
+ var apiUpdateLanguage = function apiUpdateLanguage(lang) {
31977
+ return api.put(BASE_URL + "/api/language?lang=" + lang);
31978
+ };
31979
+
31972
31980
  var LANGUAGE_SYSTEM = "LANGUAGE_SYSTEM";
31973
31981
 
31974
- var TheLanguageDropdown = function TheLanguageDropdown() {
31975
- var defaultLanguage = !!getCookieValue(LANGUAGE_SYSTEM) ? localStorage.getItem(LANGUAGE_SYSTEM) : DEFAULT_LANGUAGE_CODE;
31982
+ var useLanguages = function useLanguages() {
31976
31983
  var dispatch = reactRedux.useDispatch();
31977
31984
 
31978
31985
  var _useTranslation = reactI18next.useTranslation(),
31979
31986
  i18n = _useTranslation.i18n;
31980
31987
 
31981
- var _useState = React.useState(false),
31982
- dropdownOpen = _useState[0],
31983
- setDropdownOpen = _useState[1];
31988
+ var language = reactRedux.useSelector(function (state) {
31989
+ return state.common.language;
31990
+ });
31991
+ var defaultLanguage = getCookieValue(LANGUAGE_SYSTEM) != null ? getCookieValue(LANGUAGE_SYSTEM) : language;
31992
+
31993
+ var _useState = React.useState([]),
31994
+ languageList = _useState[0],
31995
+ setLanguageList = _useState[1];
31984
31996
 
31985
- var _useState2 = React.useState(defaultLanguage),
31986
- language = _useState2[0],
31987
- setItemLanguage = _useState2[1];
31997
+ var _useState2 = React.useState(false),
31998
+ dropdownOpen = _useState2[0],
31999
+ setDropdownOpen = _useState2[1];
32000
+
32001
+ var _useState3 = React.useState(defaultLanguage),
32002
+ currentLang = _useState3[0],
32003
+ setCurrentLang = _useState3[1];
31988
32004
 
31989
32005
  var toggle = function toggle() {
31990
32006
  return setDropdownOpen(function (prevState) {
@@ -31993,24 +32009,87 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
31993
32009
  };
31994
32010
 
31995
32011
  var changeLanguageApp = function changeLanguageApp(lang) {
31996
- if (!SUPPORTED_LANGUAGES_CODE.includes(lang)) lang = DEFAULT_LANGUAGE_CODE;
31997
- i18n.changeLanguage(lang);
31998
- setItemLanguage(lang);
31999
- dispatch(setLanguage(lang));
32012
+ try {
32013
+ var _temp3 = function _temp3() {
32014
+ dispatch(setLoading(false));
32015
+ };
32016
+
32017
+ dispatch(setLoading(true));
32018
+
32019
+ var _temp4 = _catch(function () {
32020
+ return Promise.resolve(apiUpdateLanguage(lang)).then(function () {
32021
+ i18n.changeLanguage(lang);
32022
+ setCurrentLang(lang);
32023
+ dispatch(setLanguage(lang));
32024
+ });
32025
+ }, function (err) {
32026
+ var _err$response, _err$response$data;
32027
+
32028
+ dispatch(setAlert({
32029
+ type: "danger",
32030
+ message: ((_err$response = err.response) === null || _err$response === void 0 ? void 0 : (_err$response$data = _err$response.data) === null || _err$response$data === void 0 ? void 0 : _err$response$data.title) || err.message
32031
+ }));
32032
+ });
32033
+
32034
+ return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(_temp3) : _temp3(_temp4));
32035
+ } catch (e) {
32036
+ return Promise.reject(e);
32037
+ }
32038
+ };
32039
+
32040
+ var getListLanguage = function getListLanguage() {
32041
+ try {
32042
+ var _temp6 = _catch(function () {
32043
+ return Promise.resolve(apiGetLanguage()).then(function (res) {
32044
+ setLanguageList(res.data);
32045
+ });
32046
+ }, function (err) {
32047
+ var _err$response2, _err$response2$data;
32048
+
32049
+ dispatch(setAlert({
32050
+ type: "danger",
32051
+ message: ((_err$response2 = err.response) === null || _err$response2 === void 0 ? void 0 : (_err$response2$data = _err$response2.data) === null || _err$response2$data === void 0 ? void 0 : _err$response2$data.title) || err.message
32052
+ }));
32053
+ });
32054
+
32055
+ return Promise.resolve(_temp6 && _temp6.then ? _temp6.then(function () {}) : void 0);
32056
+ } catch (e) {
32057
+ return Promise.reject(e);
32058
+ }
32000
32059
  };
32001
32060
 
32061
+ React.useEffect(function () {
32062
+ changeLanguageApp(currentLang);
32063
+ }, [currentLang]);
32064
+ React.useEffect(function () {
32065
+ getListLanguage();
32066
+ }, []);
32067
+ return {
32068
+ languageList: languageList,
32069
+ toggle: toggle,
32070
+ dropdownOpen: dropdownOpen,
32071
+ setCurrentLang: setCurrentLang,
32072
+ language: language
32073
+ };
32074
+ };
32075
+
32076
+ var TheLanguageDropdown = function TheLanguageDropdown() {
32077
+ var _useLanguages = useLanguages(),
32078
+ languageList = _useLanguages.languageList,
32079
+ toggle = _useLanguages.toggle,
32080
+ dropdownOpen = _useLanguages.dropdownOpen,
32081
+ setCurrentLang = _useLanguages.setCurrentLang,
32082
+ language = _useLanguages.language;
32083
+
32002
32084
  var currentLanguage = React.useMemo(function () {
32003
- var currentLang = LANGUAGES.find(function (i) {
32085
+ var currentLang = languageList.find(function (i) {
32004
32086
  return i.code === language;
32005
32087
  });
32006
32088
  if (!currentLang) return null;
32007
32089
  return React__default.createElement(React__default.Fragment, null, React__default.createElement("img", {
32008
32090
  className: "mr-2 " + styles['dropdown-menu-flag'],
32009
32091
  src: "" + getStaticFileUrl(currentLang.image)
32010
- }), " ", currentLang.shortName);
32011
- }, [language]);
32012
- React.useEffect(function () {
32013
- changeLanguageApp(language);
32092
+ }), " ", currentLang.name);
32014
32093
  }, [language]);
32015
32094
  return React__default.createElement(reactstrap.Dropdown, {
32016
32095
  isOpen: dropdownOpen,
@@ -32032,12 +32111,12 @@ var TheLanguageDropdown = function TheLanguageDropdown() {
32032
32111
  }
32033
32112
  }))), React__default.createElement(reactstrap.DropdownMenu, {
32034
32113
  className: styles["dropdown-content-language"]
32035
- }, LANGUAGES.map(function (lang, index) {
32114
+ }, !!languageList && languageList.length > 0 && languageList.map(function (lang, index) {
32036
32115
  return React__default.createElement(reactstrap.DropdownItem, {
32037
32116
  key: lang.code,
32038
- className: styles["dropdown-change"] + " px-0 py-0 " + (index === LANGUAGES.length - 1 ? "pb-2" : "pt-2"),
32117
+ className: styles["dropdown-change"] + " px-0 py-0 " + (index === languageList.length - 1 ? "pb-2" : "pt-2"),
32039
32118
  onClick: function onClick() {
32040
- return setItemLanguage(lang.code);
32119
+ return setCurrentLang(lang.code);
32041
32120
  }
32042
32121
  }, React__default.createElement("div", {
32043
32122
  className: styles["dropdown-item-language"] + " " + styles["item-logout"] + " " + (language == lang.code ? styles['dropdown-item-language-active'] : "") + " d-flex align-items-center w-100"
@@ -32358,7 +32437,9 @@ var TheLayout = function TheLayout(_ref) {
32358
32437
  try {
32359
32438
  var _temp6 = _catch(function () {
32360
32439
  return Promise.resolve(getInfo()).then(function (info) {
32361
- if (!info) {
32440
+ var _info$data, _info$data$roles;
32441
+
32442
+ if (!info || !(info !== null && info !== void 0 && (_info$data = info.data) !== null && _info$data !== void 0 && (_info$data$roles = _info$data.roles) !== null && _info$data$roles !== void 0 && _info$data$roles.includes("Admin"))) {
32362
32443
  resetAuth();
32363
32444
  }
32364
32445