UNPKG

@wordpress/editor

Version:
53 lines (48 loc) 1.28 kB
/** * WordPress dependencies */ import { MenuItem } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import { useSelect } from '@wordpress/data'; import { store as coreStore } from '@wordpress/core-data'; import { useState } from '@wordpress/element'; /** * Internal dependencies */ import CreateNewTemplateModal from './create-new-template-modal'; import { useAllowSwitchingTemplates } from './hooks'; export default function CreateNewTemplate() { const { canCreateTemplates } = useSelect( ( select ) => { const { canUser } = select( coreStore ); return { canCreateTemplates: canUser( 'create', { kind: 'postType', name: 'wp_template', } ), }; }, [] ); const [ isCreateModalOpen, setIsCreateModalOpen ] = useState( false ); const allowSwitchingTemplate = useAllowSwitchingTemplates(); // The default template in a post is indicated by an empty string. if ( ! canCreateTemplates || ! allowSwitchingTemplate ) { return null; } return ( <> <MenuItem onClick={ () => { setIsCreateModalOpen( true ); } } > { __( 'Create new template' ) } </MenuItem> { isCreateModalOpen && ( <CreateNewTemplateModal onClose={ () => { setIsCreateModalOpen( false ); } } /> ) } </> ); }