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
+ }
+
+
+
+
+
+ ))}
+
+
+ );
+}