diff --git a/packages/edit-site/src/components/sidebar-navigation-screen-navigation-menus/index.js b/packages/edit-site/src/components/sidebar-navigation-screen-navigation-menus/index.js index 39563db05280e..cec39421ecb8e 100644 --- a/packages/edit-site/src/components/sidebar-navigation-screen-navigation-menus/index.js +++ b/packages/edit-site/src/components/sidebar-navigation-screen-navigation-menus/index.js @@ -3,9 +3,12 @@ */ import { __ } from '@wordpress/i18n'; import { useCallback, useMemo } from '@wordpress/element'; -import { useSelect } from '@wordpress/data'; +import { useDispatch, useSelect } from '@wordpress/data'; import { store as coreStore } from '@wordpress/core-data'; -import { BlockEditorProvider, Inserter } from '@wordpress/block-editor'; +import { + BlockEditorProvider, + store as blockEditorStore, +} from '@wordpress/block-editor'; import { createBlock } from '@wordpress/blocks'; /** @@ -18,6 +21,7 @@ import SidebarButton from '../sidebar-button'; import { NavigationMenuLoader } from './loader'; import { unlock } from '../../private-apis'; import { store as editSiteStore } from '../../store'; +import { plus } from '@wordpress/icons'; const noop = () => {}; const NAVIGATION_MENUS_QUERY = { per_page: -1, status: 'publish' }; @@ -41,6 +45,29 @@ function SidebarNavigationScreenWrapper( { children, actions } ) { ); } +function PageLinkInserter( { rootClientId } ) { + const { insertBlock } = useDispatch( blockEditorStore ); + const { getBlockOrder } = useSelect( blockEditorStore ); + const insertPageLink = useCallback( () => { + insertBlock( + createBlock( 'core/navigation-link', { + type: 'page', + kind: 'post-type', + } ), + getBlockOrder( rootClientId ).length, + rootClientId + ); + }, [ insertBlock, rootClientId, getBlockOrder ] ); + return ( + + ); +} + export default function SidebarNavigationScreenNavigationMenus() { const history = useHistory(); const { navigationMenus, hasResolvedNavigationMenus, storedSettings } = @@ -133,18 +160,7 @@ export default function SidebarNavigationScreenNavigationMenus() { > + } >
diff --git a/packages/edit-site/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js b/packages/edit-site/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js index 00cbf3b021f87..2fb55e3d626ed 100644 --- a/packages/edit-site/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +++ b/packages/edit-site/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js @@ -46,7 +46,7 @@ export default function NavigationMenuContent( { rootClientId, onSelect } ) { showAppender={ false } /> ) } -
+