import React from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, HeaderModal, HeaderModalTitle, ModalFooter, ModalForm, Tabs, TabsNav, Tab, TabsPanel, TabPanel, } from 'strapi-helper-plugin'; import { useIntl } from 'react-intl'; import { Button } from '@buffetjs/core'; import { Formik } from 'formik'; import { object, string } from 'yup'; import useEditLocale from '../../hooks/useEditLocale'; import { getTrad } from '../../utils'; import BaseForm from './BaseForm'; const ModalEdit = ({ localeToEdit, onClose, locales }) => { const { isEditing, editLocale } = useEditLocale(); const { formatMessage } = useIntl(); const isOpened = Boolean(localeToEdit); const handleSubmit = ({ displayName }) => { const id = localeToEdit.id; const name = displayName || localeToEdit.code; return editLocale(id, name).then(onClose); }; let options = []; let defaultOption; if (localeToEdit) { options = locales.map(locale => ({ label: locale.code, value: locale.id })); defaultOption = options.find(option => option.value === localeToEdit.id); } return ( {({ handleSubmit, errors }) => (
{formatMessage({ id: getTrad('Settings.locales.modal.title'), })} {formatMessage({ id: getTrad('Settings.locales.modal.base') })} {formatMessage({ id: getTrad('Settings.locales.modal.advanced') })} advanced
)}
); }; ModalEdit.defaultProps = { localeToEdit: undefined, locales: [], }; ModalEdit.propTypes = { localeToEdit: PropTypes.shape({ id: PropTypes.number.isRequired, name: PropTypes.string.isRequired, code: PropTypes.string.isRequired, }), onClose: PropTypes.func.isRequired, locales: PropTypes.arrayOf( PropTypes.shape({ id: PropTypes.number.isRequired, name: PropTypes.string.isRequired, code: PropTypes.string.isRequired, }) ), }; export default ModalEdit;