mirror of
https://github.com/strapi/strapi.git
synced 2025-11-01 02:16:03 +00:00
Only display not used locales
Signed-off-by: soupette <cyril.lpz@gmail.com>
This commit is contained in:
parent
a7f4bcbcfe
commit
ef5052c64e
@ -52,7 +52,11 @@ const LocaleList = ({ canUpdateLocale, canDeleteLocale, onToggleCreateModal, isC
|
|||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<ModalCreate isOpened={isCreating} onClose={onToggleCreateModal} />
|
<ModalCreate
|
||||||
|
isOpened={isCreating}
|
||||||
|
onClose={onToggleCreateModal}
|
||||||
|
alreadyUsedLocales={locales}
|
||||||
|
/>
|
||||||
<ModalDelete localeToDelete={localeToDelete} onClose={closeModalToDelete} />
|
<ModalDelete localeToDelete={localeToDelete} onClose={closeModalToDelete} />
|
||||||
<ModalEdit localeToEdit={localeToEdit} onClose={closeModalToEdit} locales={locales} />
|
<ModalEdit localeToEdit={localeToEdit} onClose={closeModalToEdit} locales={locales} />
|
||||||
</>
|
</>
|
||||||
|
|||||||
@ -12,7 +12,7 @@ import useAddLocale from '../../hooks/useAddLocale';
|
|||||||
import BaseForm from './BaseForm';
|
import BaseForm from './BaseForm';
|
||||||
import AdvancedForm from './AdvancedForm';
|
import AdvancedForm from './AdvancedForm';
|
||||||
|
|
||||||
const ModalCreate = ({ onClose, isOpened }) => {
|
const ModalCreate = ({ alreadyUsedLocales, onClose, isOpened }) => {
|
||||||
const { defaultLocales, isLoading } = useDefaultLocales();
|
const { defaultLocales, isLoading } = useDefaultLocales();
|
||||||
const { isAdding, addLocale } = useAddLocale();
|
const { isAdding, addLocale } = useAddLocale();
|
||||||
const { formatMessage } = useIntl();
|
const { formatMessage } = useIntl();
|
||||||
@ -38,10 +38,16 @@ const ModalCreate = ({ onClose, isOpened }) => {
|
|||||||
shouldUpdatePermissions.current = true;
|
shouldUpdatePermissions.current = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
const options = (defaultLocales || []).map(locale => ({
|
const options = (defaultLocales || [])
|
||||||
|
.map(locale => ({
|
||||||
label: locale.code,
|
label: locale.code,
|
||||||
value: locale.name,
|
value: locale.name,
|
||||||
}));
|
}))
|
||||||
|
.filter(({ label }) => {
|
||||||
|
const foundLocale = alreadyUsedLocales.find(({ code }) => code === label);
|
||||||
|
|
||||||
|
return !foundLocale;
|
||||||
|
});
|
||||||
|
|
||||||
const defaultOption = options[0];
|
const defaultOption = options[0];
|
||||||
|
|
||||||
@ -84,7 +90,11 @@ const ModalCreate = ({ onClose, isOpened }) => {
|
|||||||
tabsId="i18n-settings-tabs-create"
|
tabsId="i18n-settings-tabs-create"
|
||||||
>
|
>
|
||||||
<TabPanel>
|
<TabPanel>
|
||||||
<BaseForm options={options} defaultOption={defaultOption} />
|
<BaseForm
|
||||||
|
options={options}
|
||||||
|
defaultOption={defaultOption}
|
||||||
|
alreadyUsedLocales={alreadyUsedLocales}
|
||||||
|
/>
|
||||||
</TabPanel>
|
</TabPanel>
|
||||||
<TabPanel>
|
<TabPanel>
|
||||||
<AdvancedForm />
|
<AdvancedForm />
|
||||||
@ -113,7 +123,12 @@ const ModalCreate = ({ onClose, isOpened }) => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
ModalCreate.defaultProps = {
|
||||||
|
alreadyUsedLocales: [],
|
||||||
|
};
|
||||||
|
|
||||||
ModalCreate.propTypes = {
|
ModalCreate.propTypes = {
|
||||||
|
alreadyUsedLocales: PropTypes.array,
|
||||||
onClose: PropTypes.func.isRequired,
|
onClose: PropTypes.func.isRequired,
|
||||||
isOpened: PropTypes.bool.isRequired,
|
isOpened: PropTypes.bool.isRequired,
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user