Files
piratepoet/packages/js/email-editor/src/editor.tsx
Oluwaseun Olorunsola 1c3ea9cd0a Move email editor components out of the engine folder
MAILPOET-6215
2024-11-11 11:53:49 +02:00

47 lines
1.3 KiB
TypeScript

import '@wordpress/format-library'; // Enables text formatting capabilities
import { useSelect } from '@wordpress/data';
import { StrictMode, createRoot } from '@wordpress/element';
// import { withNpsPoll } from '../../nps-poll'; // TODO: need to fix this import. custom component from core MP plugin
import { initBlocks } from './blocks';
import { initializeLayout } from './layouts/flex-email';
import { InnerEditor } from './components/block-editor/editor';
import { createStore, storeName } from './store';
import { initHooks } from './editor-hooks';
import { KeyboardShortcuts } from './components/keybord-shortcuts';
import './index.scss';
function Editor() {
const { postId, settings } = useSelect(
( select ) => ( {
postId: select( storeName ).getEmailPostId(),
settings: select( storeName ).getInitialEditorSettings(),
} ),
[]
);
return (
<StrictMode>
<KeyboardShortcuts />
<InnerEditor
initialEdits={ [] }
postId={ postId }
postType="mailpoet_email"
settings={ settings }
/>
</StrictMode>
);
}
export function initialize( elementId: string ) {
const container = document.getElementById( elementId );
if ( ! container ) {
return;
}
createStore();
initializeLayout();
initBlocks();
initHooks();
const root = createRoot( container );
root.render( <Editor /> );
}