From 5d9f316910ef8bfb834426bfa2f07999227cdc9b Mon Sep 17 00:00:00 2001 From: Ella Date: Thu, 9 May 2024 15:47:49 +0900 Subject: [PATCH] Put category on top --- .../block-patterns-tab/use-pattern-categories.js | 10 ++++++++++ .../components/inserter/block-patterns-tab/utils.js | 5 +++++ .../components/inserter/hooks/use-patterns-state.js | 8 +------- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/packages/block-editor/src/components/inserter/block-patterns-tab/use-pattern-categories.js b/packages/block-editor/src/components/inserter/block-patterns-tab/use-pattern-categories.js index cff5fbf3413820..939ee5b1d1ff20 100644 --- a/packages/block-editor/src/components/inserter/block-patterns-tab/use-pattern-categories.js +++ b/packages/block-editor/src/components/inserter/block-patterns-tab/use-pattern-categories.js @@ -14,6 +14,7 @@ import { isPatternFiltered, allPatternsCategory, myPatternsCategory, + starterContentCategory, INSERTER_PATTERN_TYPES, } from './utils'; @@ -67,6 +68,15 @@ export function usePatternCategories( rootClientId, sourceFilter = 'all' ) { label: _x( 'Uncategorized' ), } ); } + + if ( + patterns.find( ( pattern ) => + pattern.categories.includes( 'core/content' ) + ) + ) { + categories.unshift( starterContentCategory ); + } + if ( filteredPatterns.some( ( pattern ) => pattern.type === INSERTER_PATTERN_TYPES.user diff --git a/packages/block-editor/src/components/inserter/block-patterns-tab/utils.js b/packages/block-editor/src/components/inserter/block-patterns-tab/utils.js index f8ba47f3790e14..566f9def472ed3 100644 --- a/packages/block-editor/src/components/inserter/block-patterns-tab/utils.js +++ b/packages/block-editor/src/components/inserter/block-patterns-tab/utils.js @@ -25,6 +25,11 @@ export const myPatternsCategory = { label: __( 'My patterns' ), }; +export const starterContentCategory = { + name: 'core/content', + label: __( 'Starter content' ), +}; + export function isPatternFiltered( pattern, sourceFilter, syncFilter ) { const isUserPattern = pattern.name.startsWith( 'core/block' ); const isDirectoryPattern = diff --git a/packages/block-editor/src/components/inserter/hooks/use-patterns-state.js b/packages/block-editor/src/components/inserter/hooks/use-patterns-state.js index 43fd7b5d9d34bd..6fafb2b81cc74c 100644 --- a/packages/block-editor/src/components/inserter/hooks/use-patterns-state.js +++ b/packages/block-editor/src/components/inserter/hooks/use-patterns-state.js @@ -75,13 +75,7 @@ const usePatternsState = ( onInsert, rootClientId ) => { ); const allCategories = useMemo( () => { - const categories = [ - { - name: 'core/content', - label: __( 'Starter content' ), - }, - ...patternCategories, - ]; + const categories = [ ...patternCategories ]; userPatternCategories?.forEach( ( userCategory ) => { if ( ! categories.find(