import React from 'react'; import PropTypes from 'prop-types'; import { Modal, ModalHeader, ModalBody } from 'reactstrap'; import { withTranslation } from 'react-i18next'; import { pathUtils } from 'growi-commons'; import urljoin from 'url-join'; import { withUnstatedContainers } from './UnstatedUtils'; import PageContainer from '../services/PageContainer'; const CreateTemplateModal = (props) => { const { t, pageContainer } = props; const { path } = pageContainer.state; const parentPath = pathUtils.addTrailingSlash(path); function generateUrl(label) { return encodeURI(urljoin(parentPath, label, '#edit')); } /** * @param {string} target Which hierarchy to create [children, decendants] */ function renderTemplateCard(target, label) { return (
{ t(`template.${target}.label`) }

{label}

{t(`template.${target}.desc`) }

{ t('Edit') }
); } return ( {t('template.modal_label.Create/Edit Template Page')}
{renderTemplateCard('children', '_template')} {renderTemplateCard('decendants', '__template')}
); }; /** * Wrapper component for using unstated */ const CreateTemplateModalWrapper = withUnstatedContainers(CreateTemplateModal, [PageContainer]); CreateTemplateModal.propTypes = { t: PropTypes.func.isRequired, // i18next pageContainer: PropTypes.instanceOf(PageContainer).isRequired, isOpen: PropTypes.bool.isRequired, onClose: PropTypes.func.isRequired, }; export default withTranslation()(CreateTemplateModalWrapper);