From 5cf556aa6d7b43123b2da9ae5407052e90e13ca1 Mon Sep 17 00:00:00 2001 From: Nik Tsekouras Date: Fri, 6 Jan 2023 12:31:45 +0200 Subject: [PATCH] [Inserter]: Don't show empty `reusable` tab if not allowed to insert reusable blocks (#46922) --- .../block-editor/src/components/inserter/menu.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/block-editor/src/components/inserter/menu.js b/packages/block-editor/src/components/inserter/menu.js index beb97af146698..70c5d0892ee7c 100644 --- a/packages/block-editor/src/components/inserter/menu.js +++ b/packages/block-editor/src/components/inserter/menu.js @@ -67,20 +67,24 @@ function InserterMenu( insertionIndex: __experimentalInsertionIndex, shouldFocusBlock, } ); - const { showPatterns, hasReusableBlocks } = useSelect( + const { showPatterns, inserterItems } = useSelect( ( select ) => { - const { __experimentalGetAllowedPatterns, getSettings } = + const { __experimentalGetAllowedPatterns, getInserterItems } = select( blockEditorStore ); return { showPatterns: !! __experimentalGetAllowedPatterns( destinationRootClientId ).length, - hasReusableBlocks: - !! getSettings().__experimentalReusableBlocks?.length, + inserterItems: getInserterItems( destinationRootClientId ), }; }, [ destinationRootClientId ] ); + const hasReusableBlocks = useMemo( () => { + return inserterItems.some( + ( { category } ) => category === 'reusable' + ); + }, [ inserterItems ] ); const mediaCategories = useMediaCategories( destinationRootClientId ); const showMedia = !! mediaCategories.length;