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 (
+