diff --git a/packages/js/email-editor/src/components/template-select/select-modal.tsx b/packages/js/email-editor/src/components/template-select/select-modal.tsx index 52ab207445..e6b41535c4 100644 --- a/packages/js/email-editor/src/components/template-select/select-modal.tsx +++ b/packages/js/email-editor/src/components/template-select/select-modal.tsx @@ -1,19 +1,17 @@ -// @ts-expect-error No types available for this component -import { BlockPreview } from '@wordpress/block-editor'; + import { store as editorStore } from '@wordpress/editor'; import { dispatch } from '@wordpress/data'; import { Modal, - __experimentalHStack as HStack, // eslint-disable-line Button, Flex, FlexItem, } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; - -import { Async } from './async'; import { usePreviewTemplates } from '../../hooks'; import { storeName, TemplatePreview } from '../../store'; +import { TemplateList } from './template-list'; +import { TemplateCategoriesListSidebar } from './template-categories-list-sidebar'; const BLANK_TEMPLATE = 'email-general'; @@ -51,6 +49,19 @@ export function SelectTemplateModal( { handleTemplateSelection( blankTemplate ); }; + const dummyTemplateCategories = [ + { + name: 'recent', + label: 'Recent' + }, + { + name: 'basic', + label: 'Basic' + } + ]; + + const onClickCategory = () => {} + return (
-
-
- -
-
-
-
- { templates.map( ( template ) => ( -
-
{ - handleTemplateSelection( template ); - } } - onKeyPress={ ( event ) => { - if ( - event.key === 'Enter' || - event.key === ' ' - ) { - handleTemplateSelection( template ); - } - } } - > - rendering template

- } - > - + - -
- { - template.template.title - .rendered - } -
-
-
-
-
- ) ) } -
+ - - - - - -
+ + + + +
); diff --git a/packages/js/email-editor/src/components/template-select/template-categories-list-sidebar.tsx b/packages/js/email-editor/src/components/template-select/template-categories-list-sidebar.tsx new file mode 100644 index 0000000000..03c4e1e33a --- /dev/null +++ b/packages/js/email-editor/src/components/template-select/template-categories-list-sidebar.tsx @@ -0,0 +1,30 @@ +import { Button } from '@wordpress/components'; + +export function TemplateCategoriesListSidebar( { + selectedCategory, + templateCategories, + onClickCategory, + } ) { + const baseClassName = 'block-editor-block-patterns-explorer__sidebar'; + return ( +
+
+ {templateCategories.map(({ name, label }) => { + return ( + + ); + })} +
+
+ ); +} diff --git a/packages/js/email-editor/src/components/template-select/template-list.tsx b/packages/js/email-editor/src/components/template-select/template-list.tsx new file mode 100644 index 0000000000..0e39c4f3ac --- /dev/null +++ b/packages/js/email-editor/src/components/template-select/template-list.tsx @@ -0,0 +1,67 @@ +// @ts-expect-error No types available for this component +import { BlockPreview } from '@wordpress/block-editor'; +import { + __experimentalHStack as HStack, // eslint-disable-line +} from '@wordpress/components'; +import { Async } from './async'; + +export function TemplateList({templates, onTemplateSelection}) { + + return ( +
+
+ {templates.map((template) => ( +
+
{ + onTemplateSelection(template); + }} + onKeyPress={(event) => { + if ( + event.key === 'Enter' || + event.key === ' ' + ) { + onTemplateSelection(template); + } + }} + > + rendering template

+ } + > + + + +
+ { + template.template.title.rendered + } +
+
+
+
+
+ ))} +
+
+ ); +}