mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-31 01:47:13 +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 || []) | ||||||
|     label: locale.code, |     .map(locale => ({ | ||||||
|     value: locale.name, |       label: locale.code, | ||||||
|   })); |       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
	 soupette
						soupette