Fix using sent email post content as new email editor page template
MAILPOET-5949
This commit is contained in:
committed by
Oluwaseun Olorunsola
parent
651e80b8f0
commit
16e4346d07
@ -4,7 +4,7 @@ import { dispatch } from '@wordpress/data';
|
|||||||
import { Modal, Button, Flex, FlexItem } from '@wordpress/components';
|
import { Modal, Button, Flex, FlexItem } from '@wordpress/components';
|
||||||
import { __ } from '@wordpress/i18n';
|
import { __ } from '@wordpress/i18n';
|
||||||
import { usePreviewTemplates } from '../../hooks';
|
import { usePreviewTemplates } from '../../hooks';
|
||||||
import { storeName, TemplatePreview } from '../../store';
|
import { EmailEditorPostType, storeName, TemplatePreview } from '../../store';
|
||||||
import { TemplateList } from './template-list';
|
import { TemplateList } from './template-list';
|
||||||
import { TemplateCategoriesListSidebar } from './template-categories-list-sidebar';
|
import { TemplateCategoriesListSidebar } from './template-categories-list-sidebar';
|
||||||
|
|
||||||
@ -47,6 +47,11 @@ export function SelectTemplateModal( {
|
|||||||
const hasTemplates = templates?.length > 0;
|
const hasTemplates = templates?.length > 0;
|
||||||
|
|
||||||
const handleTemplateSelection = ( template: TemplatePreview ) => {
|
const handleTemplateSelection = ( template: TemplatePreview ) => {
|
||||||
|
const templateIsPostContent =
|
||||||
|
template.template.type === 'mailpoet_email';
|
||||||
|
|
||||||
|
const postContent = template.template as unknown as EmailEditorPostType;
|
||||||
|
|
||||||
// When we provide previewContent, we don't want to reset the blocks
|
// When we provide previewContent, we don't want to reset the blocks
|
||||||
if ( ! previewContent ) {
|
if ( ! previewContent ) {
|
||||||
void dispatch( editorStore ).resetEditorBlocks(
|
void dispatch( editorStore ).resetEditorBlocks(
|
||||||
@ -55,8 +60,10 @@ export function SelectTemplateModal( {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void dispatch( storeName ).setTemplateToPost(
|
void dispatch( storeName ).setTemplateToPost(
|
||||||
template.slug,
|
templateIsPostContent ? postContent?.template : template.slug,
|
||||||
template.template.mailpoet_email_theme ?? {}
|
templateIsPostContent
|
||||||
|
? {}
|
||||||
|
: template.template.mailpoet_email_theme ?? {}
|
||||||
);
|
);
|
||||||
onSelectCallback();
|
onSelectCallback();
|
||||||
};
|
};
|
||||||
|
@ -117,9 +117,18 @@ export function usePreviewTemplates( customEmailContent = '' ) {
|
|||||||
slug: post.slug,
|
slug: post.slug,
|
||||||
previewContentParsed: parsedPostContent,
|
previewContentParsed: parsedPostContent,
|
||||||
emailParsed: parsedPostContent,
|
emailParsed: parsedPostContent,
|
||||||
template: post,
|
template: {
|
||||||
|
...post,
|
||||||
|
title: {
|
||||||
|
raw: post?.mailpoet_data?.subject || post.title.raw,
|
||||||
|
rendered:
|
||||||
|
post?.mailpoet_data?.subject || post.title.rendered, // use MailPoet subject as title
|
||||||
|
},
|
||||||
|
mailpoet_email_theme: null,
|
||||||
|
email_theme_css: '',
|
||||||
|
},
|
||||||
category: 'recent',
|
category: 'recent',
|
||||||
};
|
};
|
||||||
} ),
|
} ) as unknown as TemplatePreview[],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user