From d486bb7336f9feaac66209a51a6f0f313e8c1732 Mon Sep 17 00:00:00 2001 From: Ella Date: Fri, 17 Jan 2025 14:46:25 +0100 Subject: [PATCH] Add structure for domain upsell --- .../wpcom-dashboard-widgets.php | 3 +- .../wpcom-general-tasks-widget/index.js | 59 ++++++++++++++++--- .../wpcom-general-tasks-widget/style.scss | 22 +++++++ .../tasks/home-task-domain-upsell/index.js | 38 +++++++++++- 4 files changed, 112 insertions(+), 10 deletions(-) create mode 100644 projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/style.scss 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 index ec76b2d6eab10..f5d89001a4171 100644 --- 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 @@ -23,7 +23,8 @@ function load_wpcom_dashboard_widgets() { ), array( 'id' => 'wpcom_general_tasks_widget', - 'name' => __( 'Tasks', 'jetpack-mu-wpcom' ), + 'name' => __( 'Suggestions', 'jetpack-mu-wpcom' ), + // ' . __( 'Suggestions', 'jetpack-mu-wpcom' ) . ' 'priority' => 'high', ), ); diff --git a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/index.js b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/index.js index cccf61b1022a7..a71cb29254ab1 100644 --- a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/index.js +++ b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/index.js @@ -1,7 +1,10 @@ import apiFetch from '@wordpress/api-fetch'; import { useEffect, useState } from '@wordpress/element'; +import { __ } from '@wordpress/i18n'; import TaskDomainUpsell from './tasks/home-task-domain-upsell'; +import './style.scss'; + const taskMap = { 'home-task-domain-upsell': TaskDomainUpsell, }; @@ -22,25 +25,65 @@ export default ( { siteId } ) => { // The secondary array countains strings that refer to cards, except for the // tasks which is an array. const tasks = response.secondary.find( item => Array.isArray( item ) ); - const task = tasks[ index ]; + if ( ! tasks ) { + return

{ __( 'No suggestions.', 'jetpack-mu-wpcom' ) }

; + } + + const task = tasks[ index ]; const TaskComponent = taskMap[ task ]; return ( <> - { TaskComponent ? :

To do: { task }

} -
- + { ' ' } -
+

+ { TaskComponent ? ( + + ) : ( +

To do: { task }

+ ) } + { /* { createPortal( + + + + , + document.querySelector( '#wpcom_general_tasks_widget .wpcom_general_tasks_widget_title' ) + ) } */ } ); }; diff --git a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/style.scss b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/style.scss new file mode 100644 index 0000000000000..2f648fe9b18bb --- /dev/null +++ b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/style.scss @@ -0,0 +1,22 @@ +#wpcom_general_tasks_widget_main { + min-height: 180px; + + h2 { + padding: 0; + } +} + +.wpcom_general_tasks_widget_buttons .button.button-link { + min-height: auto; + line-height: 1.4; + background: none; + + &:disabled, + &:hover { + background: none !important; // Has !important for core style. + } +} + +// #wpcom_general_tasks_widget .wpcom_general_tasks_widget_title_text { +// display: none; +// } diff --git a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/tasks/home-task-domain-upsell/index.js b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/tasks/home-task-domain-upsell/index.js index e161517c02774..41dcd798389c7 100644 --- a/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/tasks/home-task-domain-upsell/index.js +++ b/projects/packages/jetpack-mu-wpcom/src/features/wpcom-dashboard-widgets/wpcom-general-tasks-widget/tasks/home-task-domain-upsell/index.js @@ -1,3 +1,39 @@ export default () => { - return

Domain Upsell Component

; + // To do: actually fetch it from the API. + const domain = new URL( window.location.href ).hostname.split( '.' )[ 0 ] + '.com'; + return ( + <> +

Own a domain. Build a site.

+

+ { domain } is a perfect site address. It’s available, easy to find, share, + and follow. Get it now and claim a corner of the web. +

+

+ { /* To do: convert to SVG. */ } + + { domain } + + { +

+
+ + Get this domain + + { ' ' } + + Find other domains + +
+ + ); };