From 0dbb84b7140d19a8f6a6804eda0747e45cccacaa Mon Sep 17 00:00:00 2001 From: Kai Hao Date: Wed, 20 Sep 2023 14:46:14 +0800 Subject: [PATCH] Fix navigating to all-patterns category --- .../src/components/add-new-pattern/index.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/edit-site/src/components/add-new-pattern/index.js b/packages/edit-site/src/components/add-new-pattern/index.js index 9592acc85d376..4972c7447514b 100644 --- a/packages/edit-site/src/components/add-new-pattern/index.js +++ b/packages/edit-site/src/components/add-new-pattern/index.js @@ -20,12 +20,14 @@ import CreateTemplatePartModal from '../create-template-part-modal'; import SidebarButton from '../sidebar-button'; import { unlock } from '../../lock-unlock'; import { store as editSiteStore } from '../../store'; +import { PATTERN_TYPES, PATTERN_DEFAULT_CATEGORY } from '../../utils/constants'; -const { useHistory } = unlock( routerPrivateApis ); +const { useHistory, useLocation } = unlock( routerPrivateApis ); const { CreatePatternModal } = unlock( editPatternsPrivateApis ); export default function AddNewPattern() { const history = useHistory(); + const { params } = useLocation(); const [ showPatternModal, setShowPatternModal ] = useState( false ); const [ showTemplatePartModal, setShowTemplatePartModal ] = useState( false ); @@ -129,6 +131,18 @@ export default function AddNewPattern() { try { const pattern = await createPatternFromFile( file ); + // Navigate to the All patterns category for the newly created pattern. + if ( + params.categoryType !== PATTERN_TYPES.theme || + params.categoryId !== PATTERN_DEFAULT_CATEGORY + ) { + history.push( { + path: `/patterns`, + categoryType: PATTERN_TYPES.theme, + categoryId: PATTERN_DEFAULT_CATEGORY, + } ); + } + createSuccessNotice( sprintf( // translators: %s: The imported pattern's title.