diff --git a/mailpoet/lib/DI/ContainerConfigurator.php b/mailpoet/lib/DI/ContainerConfigurator.php index b052c089ef..3e4b405cef 100644 --- a/mailpoet/lib/DI/ContainerConfigurator.php +++ b/mailpoet/lib/DI/ContainerConfigurator.php @@ -339,6 +339,7 @@ class ContainerConfigurator implements IContainerConfigurator { $container->autowire(\MailPoet\EmailEditor\Engine\Email_Api_Controller::class)->setPublic(true); $container->autowire(\MailPoet\EmailEditor\Engine\Settings_Controller::class)->setPublic(true); $container->autowire(\MailPoet\EmailEditor\Engine\Theme_Controller::class)->setPublic(true); + $container->autowire(\MailPoet\EmailEditor\Engine\User_Theme::class)->setPublic(true); $container->autowire(\MailPoet\EmailEditor\Engine\Send_Preview_Email::class)->setPublic(true); $container->autowire(\MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Postprocessors\Highlighting_Postprocessor::class)->setPublic(true); $container->autowire(\MailPoet\EmailEditor\Engine\Renderer\ContentRenderer\Postprocessors\Variables_Postprocessor::class)->setPublic(true); diff --git a/mailpoet/lib/EmailEditor/Integrations/MailPoet/EditorPageRenderer.php b/mailpoet/lib/EmailEditor/Integrations/MailPoet/EditorPageRenderer.php index 5c283dceb3..710341f390 100644 --- a/mailpoet/lib/EmailEditor/Integrations/MailPoet/EditorPageRenderer.php +++ b/mailpoet/lib/EmailEditor/Integrations/MailPoet/EditorPageRenderer.php @@ -8,6 +8,7 @@ use MailPoet\Config\Installer; use MailPoet\Config\ServicesChecker; use MailPoet\EmailEditor\Engine\Settings_Controller; use MailPoet\EmailEditor\Engine\Theme_Controller; +use MailPoet\EmailEditor\Engine\User_Theme; use MailPoet\EmailEditor\Integrations\MailPoet\EmailEditor as EditorInitController; use MailPoet\Newsletter\NewslettersRepository; use MailPoet\Settings\SettingsController as MailPoetSettings; @@ -22,6 +23,8 @@ class EditorPageRenderer { private Theme_Controller $themeController; + private User_Theme $userTheme; + private CdnAssetUrl $cdnAssetUrl; private ServicesChecker $servicesChecker; @@ -39,6 +42,7 @@ class EditorPageRenderer { ServicesChecker $servicesChecker, SubscribersFeature $subscribersFeature, Theme_Controller $themeController, + User_Theme $userTheme, MailPoetSettings $mailpoetSettings, NewslettersRepository $newslettersRepository ) { @@ -48,6 +52,7 @@ class EditorPageRenderer { $this->servicesChecker = $servicesChecker; $this->subscribersFeature = $subscribersFeature; $this->themeController = $themeController; + $this->userTheme = $userTheme; $this->mailpoetSettings = $mailpoetSettings; $this->newslettersRepository = $newslettersRepository; } @@ -107,6 +112,7 @@ class EditorPageRenderer { 'current_wp_user_email' => esc_js($currentUserEmail), 'editor_settings' => $this->settingsController->get_settings(), 'editor_theme' => $this->themeController->get_theme()->get_raw_data(), + 'user_theme_post_id' => $this->userTheme->get_user_theme_post()->ID, 'urls' => [ 'listings' => admin_url('admin.php?page=mailpoet-newsletters'), ], diff --git a/packages/js/email-editor/src/global.d.ts b/packages/js/email-editor/src/global.d.ts index efbe6ca665..7570409c7a 100644 --- a/packages/js/email-editor/src/global.d.ts +++ b/packages/js/email-editor/src/global.d.ts @@ -6,6 +6,7 @@ interface Window { cdn_url: string; is_premium_plugin_active: boolean; current_wp_user_email: string; + user_theme_post_id: number; urls: { listings: string; }; diff --git a/packages/js/email-editor/src/store/initial-state.ts b/packages/js/email-editor/src/store/initial-state.ts index d24bf1e6f2..357c3a6b21 100644 --- a/packages/js/email-editor/src/store/initial-state.ts +++ b/packages/js/email-editor/src/store/initial-state.ts @@ -25,7 +25,7 @@ export function getInitialState(): State { editorSettings: getEditorSettings(), theme: getEditorTheme(), styles: { - globalStylesPostId: 153, // Todo - fetch from DB + globalStylesPostId: window.MailPoetEmailEditor.user_theme_post_id, }, autosaveInterval: 60, cdnUrl: getCdnUrl(),