@@ -6,7 +6,7 @@ import classnames from 'classnames';
66/**
77 * WordPress dependencies
88 */
9- import { memo , useMemo , useState } from '@wordpress/element' ;
9+ import { memo , useMemo , useState , useEffect } from '@wordpress/element' ;
1010import { useSelect } from '@wordpress/data' ;
1111import { __ } from '@wordpress/i18n' ;
1212import {
@@ -70,6 +70,7 @@ function PostTemplateBlockPreview( {
7070const MemoizedPostTemplateBlockPreview = memo ( PostTemplateBlockPreview ) ;
7171
7272export default function PostTemplateEdit ( {
73+ setAttributes,
7374 clientId,
7475 context : {
7576 query : {
@@ -95,11 +96,24 @@ export default function PostTemplateEdit( {
9596 } = { } ,
9697 queryContext = [ { page : 1 } ] ,
9798 templateSlug,
98- displayLayout : { type : layoutType = 'flex ' , columns = 1 } = { } ,
99+ displayLayout : { type : layoutType = 'grid ' , columns = 1 } = { } ,
99100 previewPostType,
100101 } ,
101102 __unstableLayoutClassNames,
102103} ) {
104+ const updatedLayoutType =
105+ layoutType === 'list' || layoutType === 'default' ? 'default' : 'grid' ;
106+
107+ useEffect ( ( ) => {
108+ setAttributes ( {
109+ layout : {
110+ type : updatedLayoutType ,
111+ isResponsive : false ,
112+ numberOfColumns : columns ,
113+ } ,
114+ } ) ;
115+ } , [ updatedLayoutType , columns , setAttributes ] ) ;
116+
103117 const [ { page } ] = queryContext ;
104118 const [ activeBlockContextId , setActiveBlockContextId ] = useState ( ) ;
105119 const { posts, blocks } = useSelect (
@@ -215,12 +229,9 @@ export default function PostTemplateEdit( {
215229 } ) ) ,
216230 [ posts ]
217231 ) ;
218- const hasLayoutFlex = layoutType === 'flex' && columns > 1 ;
232+
219233 const blockProps = useBlockProps ( {
220- className : classnames ( __unstableLayoutClassNames , {
221- 'is-flex-container' : hasLayoutFlex ,
222- [ `columns-${ columns } ` ] : hasLayoutFlex ,
223- } ) ,
234+ className : classnames ( __unstableLayoutClassNames ) ,
224235 } ) ;
225236
226237 if ( ! posts ) {
0 commit comments