diff --git a/packages/block-editor/src/components/block-tools/use-show-block-tools.js b/packages/block-editor/src/components/block-tools/use-show-block-tools.js index 7cd6ad01624bc..83a9d8527a32c 100644 --- a/packages/block-editor/src/components/block-tools/use-show-block-tools.js +++ b/packages/block-editor/src/components/block-tools/use-show-block-tools.js @@ -34,38 +34,37 @@ export function useShowBlockTools() { getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId(); - const { name = '', attributes = {} } = getBlock( clientId ) || {}; const editorMode = __unstableGetEditorMode(); - const hasSelectedBlock = clientId && name; - const isEmptyDefaultBlock = isUnmodifiedDefaultBlock( { - name, - attributes, - } ); - const _showEmptyBlockSideInserter = + const block = getBlock( clientId ); + const hasSelectedBlock = clientId && !! block?.name; + const isEmptyDefaultBlock = + hasSelectedBlock && isUnmodifiedDefaultBlock( block ); + const showEmptyBlockSideInserter = clientId && ! isTyping() && editorMode === 'edit' && - isUnmodifiedDefaultBlock( { name, attributes } ); + isEmptyDefaultBlock; const maybeShowBreadcrumb = hasSelectedBlock && ! hasMultiSelection() && ( editorMode === 'navigation' || editorMode === 'zoom-out' ); + const { hasFixedToolbar } = getSettings(); return { - showEmptyBlockSideInserter: _showEmptyBlockSideInserter, + showEmptyBlockSideInserter, showBreadcrumb: - ! _showEmptyBlockSideInserter && maybeShowBreadcrumb, + ! showEmptyBlockSideInserter && maybeShowBreadcrumb, showBlockToolbarPopover: hasBlockToolbar && - ! getSettings().hasFixedToolbar && - ! _showEmptyBlockSideInserter && + ! hasFixedToolbar && + ! showEmptyBlockSideInserter && hasSelectedBlock && ! isEmptyDefaultBlock && ! maybeShowBreadcrumb, showFixedToolbar: editorMode !== 'zoom-out' && hasBlockToolbar && - getSettings().hasFixedToolbar, + hasFixedToolbar, }; }, [ hasBlockToolbar ]