Fix an edge case where it might be possible for email content to have similar post-slug
MAILPOET-5949
This commit is contained in:
committed by
Oluwaseun Olorunsola
parent
16e4346d07
commit
fb5166ab7c
@ -47,8 +47,7 @@ export function SelectTemplateModal( {
|
||||
const hasTemplates = templates?.length > 0;
|
||||
|
||||
const handleTemplateSelection = ( template: TemplatePreview ) => {
|
||||
const templateIsPostContent =
|
||||
template.template.type === 'mailpoet_email';
|
||||
const templateIsPostContent = template.type === 'mailpoet_email';
|
||||
|
||||
const postContent = template.template as unknown as EmailEditorPostType;
|
||||
|
||||
|
@ -46,7 +46,7 @@ function TemplateListBox( {
|
||||
<div className="block-editor-block-patterns-list" role="listbox">
|
||||
{ templates.map( ( template ) => (
|
||||
<div
|
||||
key={ template.slug }
|
||||
key={ `${ template.slug }_${ template.id }` }
|
||||
className="block-editor-block-patterns-list__list-item"
|
||||
>
|
||||
<div
|
||||
|
@ -100,6 +100,7 @@ export function usePreviewTemplates( customEmailContent = '' ) {
|
||||
);
|
||||
|
||||
return {
|
||||
id: template.id,
|
||||
slug: template.slug,
|
||||
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
||||
previewContentParsed: parsedTemplate,
|
||||
@ -109,11 +110,13 @@ export function usePreviewTemplates( customEmailContent = '' ) {
|
||||
: contentPatternBlocks,
|
||||
template,
|
||||
category: 'basic', // TODO: This will be updated once template category is implemented
|
||||
type: template.type,
|
||||
};
|
||||
} ),
|
||||
emailPosts?.map( ( post: EmailEditorPostType ) => {
|
||||
const parsedPostContent = parse( post.content?.raw );
|
||||
return {
|
||||
id: post.id,
|
||||
slug: post.slug,
|
||||
previewContentParsed: parsedPostContent,
|
||||
emailParsed: parsedPostContent,
|
||||
@ -128,6 +131,7 @@ export function usePreviewTemplates( customEmailContent = '' ) {
|
||||
email_theme_css: '',
|
||||
},
|
||||
category: 'recent',
|
||||
type: post.type,
|
||||
};
|
||||
} ) as unknown as TemplatePreview[],
|
||||
];
|
||||
|
@ -225,11 +225,13 @@ export type EmailTemplatePreview = Omit<
|
||||
};
|
||||
|
||||
export type TemplatePreview = {
|
||||
id: string;
|
||||
slug: string;
|
||||
previewContentParsed: BlockInstance[];
|
||||
emailParsed: BlockInstance[];
|
||||
template: EmailTemplatePreview;
|
||||
category?: TemplateCategory;
|
||||
type: string;
|
||||
};
|
||||
|
||||
export type TemplateCategory = 'recent' | 'basic';
|
||||
|
Reference in New Issue
Block a user