|
|
@@ -3,15 +3,16 @@ import React, { Fragment } from 'react';
|
|
|
import PropTypes from 'prop-types';
|
|
|
import { withTranslation } from 'react-i18next';
|
|
|
|
|
|
+import { localeMetadatas } from '../../util/i18n';
|
|
|
+
|
|
|
import { toastSuccess, toastError } from '../../util/apiNotification';
|
|
|
import { withUnstatedContainers } from '../UnstatedUtils';
|
|
|
|
|
|
-import AppContainer from '../../services/AppContainer';
|
|
|
import PersonalContainer from '../../services/PersonalContainer';
|
|
|
|
|
|
class BasicInfoSettings extends React.Component {
|
|
|
|
|
|
- constructor(appContainer) {
|
|
|
+ constructor() {
|
|
|
super();
|
|
|
|
|
|
this.onClickSubmit = this.onClickSubmit.bind(this);
|
|
|
@@ -39,10 +40,8 @@ class BasicInfoSettings extends React.Component {
|
|
|
}
|
|
|
|
|
|
render() {
|
|
|
- const { t, personalContainer, appContainer } = this.props;
|
|
|
+ const { t, personalContainer } = this.props;
|
|
|
const { registrationWhiteList } = personalContainer.state;
|
|
|
- const locales = appContainer.locales;
|
|
|
- const languages = Object.keys(locales);
|
|
|
|
|
|
return (
|
|
|
<Fragment>
|
|
|
@@ -113,17 +112,17 @@ class BasicInfoSettings extends React.Component {
|
|
|
<label className="text-left text-md-right col-md-3 col-form-label">{t('Language')}</label>
|
|
|
<div className="col-md-6">
|
|
|
{
|
|
|
- languages.map(lan => (
|
|
|
- <div key={lan} className="custom-control custom-radio custom-control-inline">
|
|
|
+ localeMetadatas.map(meta => (
|
|
|
+ <div key={meta.id} className="custom-control custom-radio custom-control-inline">
|
|
|
<input
|
|
|
type="radio"
|
|
|
- id={`radioLang${lan}`}
|
|
|
+ id={`radioLang${meta.id}`}
|
|
|
className="custom-control-input"
|
|
|
name="userForm[lang]"
|
|
|
- checked={personalContainer.state.lang === lan}
|
|
|
- onChange={() => { personalContainer.changeLang(lan) }}
|
|
|
+ checked={personalContainer.state.lang === meta.id}
|
|
|
+ onChange={() => { personalContainer.changeLang(meta.id) }}
|
|
|
/>
|
|
|
- <label className="custom-control-label" htmlFor={`radioLang${lan}`}>{locales[lan].meta.name}</label>
|
|
|
+ <label className="custom-control-label" htmlFor={`radioLang${meta.id}`}>{meta.name}</label>
|
|
|
</div>
|
|
|
))
|
|
|
}
|
|
|
@@ -144,11 +143,10 @@ class BasicInfoSettings extends React.Component {
|
|
|
|
|
|
}
|
|
|
|
|
|
-const BasicInfoSettingsWrapper = withUnstatedContainers(BasicInfoSettings, [AppContainer, PersonalContainer]);
|
|
|
+const BasicInfoSettingsWrapper = withUnstatedContainers(BasicInfoSettings, [PersonalContainer]);
|
|
|
|
|
|
BasicInfoSettings.propTypes = {
|
|
|
t: PropTypes.func.isRequired, // i18next
|
|
|
- appContainer: PropTypes.instanceOf(AppContainer).isRequired,
|
|
|
personalContainer: PropTypes.instanceOf(PersonalContainer).isRequired,
|
|
|
};
|
|
|
|