diff --git a/projects/packages/jetpack-mu-wpcom/changelog/feat-dashboard-widget-react b/projects/packages/jetpack-mu-wpcom/changelog/feat-dashboard-widget-react
deleted file mode 100644
index e6f75ef6499f4..0000000000000
--- a/projects/packages/jetpack-mu-wpcom/changelog/feat-dashboard-widget-react
+++ /dev/null
@@ -1,4 +0,0 @@
-Significance: patch
-Type: changed
-
-Site Management Panel: Migrate to react
diff --git a/projects/packages/jetpack-mu-wpcom/src/class-jetpack-mu-wpcom.php b/projects/packages/jetpack-mu-wpcom/src/class-jetpack-mu-wpcom.php
index f780b7f2cdc8e..c8fb386af3e91 100644
--- a/projects/packages/jetpack-mu-wpcom/src/class-jetpack-mu-wpcom.php
+++ b/projects/packages/jetpack-mu-wpcom/src/class-jetpack-mu-wpcom.php
@@ -143,12 +143,12 @@ public static function load_wpcom_user_features() {
require_once __DIR__ . '/features/wpcom-admin-interface/wpcom-admin-interface.php';
require_once __DIR__ . '/features/wpcom-admin-menu/wpcom-admin-menu.php';
require_once __DIR__ . '/features/wpcom-command-palette/wpcom-command-palette.php';
- require_once __DIR__ . '/features/wpcom-dashboard-widgets/wpcom-dashboard-widgets.php';
require_once __DIR__ . '/features/wpcom-locale/sync-locale-from-calypso-to-atomic.php';
require_once __DIR__ . '/features/wpcom-plugins/wpcom-plugins.php';
require_once __DIR__ . '/features/wpcom-profile-settings/profile-settings-link-to-wpcom.php';
require_once __DIR__ . '/features/wpcom-profile-settings/profile-settings-notices.php';
require_once __DIR__ . '/features/wpcom-sidebar-notice/wpcom-sidebar-notice.php';
+ require_once __DIR__ . '/features/wpcom-site-management-widget/class-wpcom-site-management-widget.php';
require_once __DIR__ . '/features/wpcom-themes/wpcom-themes.php';
// Only load the Calypsoify and Masterbar features on WoA sites.
diff --git a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-dashboard-widgets.js b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-dashboard-widgets.js
deleted file mode 100644
index 1ffa9c2b60021..0000000000000
--- a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-dashboard-widgets.js
+++ /dev/null
@@ -1,21 +0,0 @@
-import '../../common/public-path';
-import React from 'react';
-import ReactDOM from 'react-dom/client';
-import WpcomSiteManagementWidget from './wpcom-site-management-widget';
-
-const data = typeof window === 'object' ? window.JETPACK_MU_WPCOM_DASHBOARD_WIDGETS : {};
-
-const widgets = [
- {
- id: 'wpcom_site_management_widget_main',
- Widget: WpcomSiteManagementWidget,
- },
-];
-
-widgets.forEach( ( { id, Widget } ) => {
- const container = document.getElementById( id );
- if ( container ) {
- const root = ReactDOM.createRoot( container );
- root.render( );
- }
-} );
diff --git a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-dashboard-widgets.php b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-dashboard-widgets.php
deleted file mode 100644
index c627f966f295a..0000000000000
--- a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-dashboard-widgets.php
+++ /dev/null
@@ -1,94 +0,0 @@
- 'wpcom_site_management_widget',
- 'name' => __( 'Site Management Panel', 'jetpack-mu-wpcom' ),
- 'priority' => 'high',
- ),
- );
-
- foreach ( $wpcom_dashboard_widgets as $wpcom_dashboard_widget ) {
- wp_add_dashboard_widget(
- $wpcom_dashboard_widget['id'],
- $wpcom_dashboard_widget['name'],
- 'render_wpcom_dashboard_widget',
- function () {},
- array(
- 'id' => $wpcom_dashboard_widget['id'],
- 'name' => $wpcom_dashboard_widget['name'],
- ),
- 'normal',
- $wpcom_dashboard_widget['priority']
- );
- }
-}
-add_action( 'wp_dashboard_setup', 'load_wpcom_dashboard_widgets' );
-
-/**
- * Enqueue the assets of the wpcom dashboard widgets.
- */
-function enqueue_wpcom_dashboard_widgets() {
- $handle = jetpack_mu_wpcom_enqueue_assets( 'wpcom-dashboard-widgets', array( 'js', 'css' ) );
-
- $data = wp_json_encode(
- array(
- 'siteName' => get_bloginfo( 'name' ),
- 'siteDomain' => wp_parse_url( home_url(), PHP_URL_HOST ),
- 'siteIconUrl' => get_site_icon_url( 38 ),
- )
- );
-
- wp_add_inline_script(
- $handle,
- "var JETPACK_MU_WPCOM_DASHBOARD_WIDGETS = $data;",
- 'before'
- );
-}
-
-/**
- * Render the container of the wpcom dashboard widget.
- *
- * @param WP_Post $post The post object.
- * @param array $callback_args The callback args of the render function.
- */
-function render_wpcom_dashboard_widget( $post, $callback_args ) {
- $args = $callback_args['args'];
- $widget_id = $args['id'] . '_main';
- $widget_class = $args['class'] ?? $args['id'];
- $widget_name = $args['name'];
-
- $warning = sprintf(
- /* translators: The name of the widget. */
- __( 'Your %s widget requires JavaScript to function properly.', 'jetpack-mu-wpcom' ),
- $widget_name
- );
-
- ?>
-
- {
- const devToolItems = [
- {
- name: __( 'Deployments', 'jetpack-mu-wpcom' ),
- href: `/github-deployments/${ siteDomain }`,
- },
- {
- name: __( 'Monitoring', 'jetpack-mu-wpcom' ),
- href: `/site-monitoring/${ siteDomain }`,
- },
- {
- name: __( 'Logs', 'jetpack-mu-wpcom' ),
- href: `/site-logs/${ siteDomain }/php`,
- },
- {
- name: __( 'Staging Site', 'jetpack-mu-wpcom' ),
- href: `/staging-site/${ siteDomain }`,
- },
- {
- name: __( 'Server Settings', 'jetpack-mu-wpcom' ),
- href: `/hosting-config/${ siteDomain }`,
- },
- ];
-
- return (
- <>
-
-
- {
- /* webclip.png is the default on WoA sites. Anything other than that means we have a custom site icon. */
- siteIconUrl && siteIconUrl !== 'https://s0.wp.com/i/webclip.png' ? (
-
- ) : (
-
{ siteName[ 0 ] }
- )
- }
-
-
-
{ siteName }
-
{ siteDomain }
-
-
-
-
-
- { __(
- 'Get a quick overview of your plans, storage, and domains, or easily access your development tools using the links provided below:',
- 'jetpack-mu-wpcom'
- ) }
-
-
-
- { __( 'DEV TOOLS:', 'jetpack-mu-wpcom' ) }
-
-
-
-
- >
- );
-};
-
-export default WpcomSiteManagementWidget;
diff --git a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-site-management-widget/style.scss b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-site-management-widget/style.scss
deleted file mode 100644
index 2bd4bd4577d90..0000000000000
--- a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-site-management-widget/style.scss
+++ /dev/null
@@ -1,101 +0,0 @@
-#wpcom_site_management_widget {
- color: #1e1e1e;
-
- .postbox-title-action {
- display: none;
- }
-}
-
-#wpcom_site_management_widget_main {
- .wpcom_site_management_widget__header {
- display: flex;
- align-items: center;
- gap: 12px;
- }
-
- .wpcom_site_management_widget__site-favicon {
- display: flex;
- align-items: center;
- justify-content: center;
- flex-shrink: 0;
- width: 38px;
- height: 38px;
- overflow: hidden;
- font-size: 24px;
- color: #0073aa;
- background-color: #f5f7f7;
- border: 1px solid #eeeeee;
- border-radius: 4px;
- cursor: default;
- }
-
- .wpcom_site_management_widget__site-favicon img {
- width: 100%;
- height: auto;
- }
-
- .wpcom_site_management_widget__site-info {
- flex-grow: 1;
- overflow: hidden;
- }
-
- .wpcom_site_management_widget__site-name {
- font-size: 14px;
- font-weight: 500;
- line-height: 20px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
-
- .wpcom_site_management_widget__site-url {
- color: #3a434a;
- font-size: 12px;
- font-weight: 400;
- line-height: 16px;
- overflow: hidden;
- text-overflow: ellipsis;
- white-space: nowrap;
- }
-
- .wpcom_site_management_widget__site-actions {
- flex-shrink: 0;
- }
-
- .wpcom_site_management_widget__content p {
- margin: 12px 0;
- font-size: 13px;
- font-weight: 400;
- line-height: 18px;
- }
-
- .wpcom_site_management_widget__dev-tools-title {
- margin-bottom: 12px;
- font-size: 11px;
- font-weight: 600;
- line-height: 16px;
- text-transform: uppercase;
- }
-
- .wpcom_site_management_widget__dev-tools-content {
- ul {
- display: grid;
- grid-template-columns: 1fr 1fr;
- gap: 12px;
- margin-bottom: 0;
- list-style: disc inside;
- }
-
- li {
- margin: 0 8px;
- color: #0073aa;
- font-size: 13px;
- font-weight: 400;
- line-height: 18px;
-
- &::marker {
- margin-inline-end: 2px;
- }
- }
- }
-}
diff --git a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-site-management-widget/class-wpcom-site-management-widget.php b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-site-management-widget/class-wpcom-site-management-widget.php
new file mode 100644
index 0000000000000..5c976bec65662
--- /dev/null
+++ b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-site-management-widget/class-wpcom-site-management-widget.php
@@ -0,0 +1,248 @@
+
+
+
+
+ ', esc_url( $site_icon_url ) );
+ } else {
+ printf( '%1$s', esc_html( mb_substr( get_bloginfo( 'name' ), 0, 1 ) ) );
+ }
+ }
+}
+
+WPCOM_Site_Management_Widget::get_instance();
diff --git a/projects/packages/jetpack-mu-wpcom/webpack.config.js b/projects/packages/jetpack-mu-wpcom/webpack.config.js
index bdc247cca9bd0..f606e8bc7da15 100644
--- a/projects/packages/jetpack-mu-wpcom/webpack.config.js
+++ b/projects/packages/jetpack-mu-wpcom/webpack.config.js
@@ -38,8 +38,6 @@ module.exports = [
'wpcom-blocks-timeline-view': './src/features/wpcom-blocks/timeline/view.js',
'wpcom-block-description-links': './src/features/wpcom-block-description-links/index.tsx',
'wpcom-block-editor-nux': './src/features/wpcom-block-editor-nux/index.js',
- 'wpcom-dashboard-widgets':
- './src/features/wpcom-dashboard-widgets/wpcom-dashboard-widgets.js',
'wpcom-global-styles-editor': './src/features/wpcom-global-styles/index.js',
'wpcom-global-styles-frontend':
'./src/features/wpcom-global-styles/wpcom-global-styles-view.js',