From 3f56382cf17f5f4bf66e51b88e19e81aac187291 Mon Sep 17 00:00:00 2001 From: Gan Eng Chin Date: Fri, 9 Dec 2022 02:19:36 +0800 Subject: [PATCH 1/6] Code refactor with CenteredSpinner. (cherry picked from commit 52166434658e68e25f2d1536448a56376e67ac1e) --- .../CenteredSpinner/CenteredSpinner.scss | 4 ++++ .../CenteredSpinner/CenteredSpinner.tsx | 17 +++++++++++++++++ .../components/CenteredSpinner/index.ts | 1 + .../client/marketing/components/index.js | 1 + .../DiscoverTools/DiscoverTools.scss | 8 -------- .../DiscoverTools/DiscoverTools.tsx | 10 ++++++---- 6 files changed, 29 insertions(+), 12 deletions(-) create mode 100644 plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/CenteredSpinner.scss create mode 100644 plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/CenteredSpinner.tsx create mode 100644 plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/index.ts diff --git a/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/CenteredSpinner.scss b/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/CenteredSpinner.scss new file mode 100644 index 00000000000..de66e759c34 --- /dev/null +++ b/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/CenteredSpinner.scss @@ -0,0 +1,4 @@ +.woocommerce-centered-spinner { + display: flex; + justify-content: center; +} diff --git a/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/CenteredSpinner.tsx b/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/CenteredSpinner.tsx new file mode 100644 index 00000000000..19ec4959533 --- /dev/null +++ b/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/CenteredSpinner.tsx @@ -0,0 +1,17 @@ +/** + * External dependencies + */ +import { Spinner } from '@woocommerce/components'; + +/** + * Internal dependencies + */ +import './CenteredSpinner.scss'; + +export const CenteredSpinner = () => { + return ( +
+ +
+ ); +}; diff --git a/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/index.ts b/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/index.ts new file mode 100644 index 00000000000..cb45370f30c --- /dev/null +++ b/plugins/woocommerce-admin/client/marketing/components/CenteredSpinner/index.ts @@ -0,0 +1 @@ +export { CenteredSpinner } from './CenteredSpinner'; diff --git a/plugins/woocommerce-admin/client/marketing/components/index.js b/plugins/woocommerce-admin/client/marketing/components/index.js index c514c3ca633..9131b5f57a5 100644 --- a/plugins/woocommerce-admin/client/marketing/components/index.js +++ b/plugins/woocommerce-admin/client/marketing/components/index.js @@ -5,3 +5,4 @@ export { default as Slider } from './slider'; export { default as ReadBlogMessage } from './ReadBlogMessage'; export { CollapsibleCard, CardBody, CardDivider } from './CollapsibleCard'; export { PluginCardBody } from './PluginCardBody'; +export { CenteredSpinner } from './CenteredSpinner'; diff --git a/plugins/woocommerce-admin/client/marketing/overview-multichannel/DiscoverTools/DiscoverTools.scss b/plugins/woocommerce-admin/client/marketing/overview-multichannel/DiscoverTools/DiscoverTools.scss index c11516aec58..ab21090dc41 100644 --- a/plugins/woocommerce-admin/client/marketing/overview-multichannel/DiscoverTools/DiscoverTools.scss +++ b/plugins/woocommerce-admin/client/marketing/overview-multichannel/DiscoverTools/DiscoverTools.scss @@ -1,11 +1,3 @@ -.woocommerce-marketing-discover-tools-card { - // place the spinner in the center of the card. - .woocommerce-spinner { - display: block; - margin: auto; - } -} - .woocommerce-marketing-discover-tools-card-body-empty-content { width: 50%; margin: auto; diff --git a/plugins/woocommerce-admin/client/marketing/overview-multichannel/DiscoverTools/DiscoverTools.tsx b/plugins/woocommerce-admin/client/marketing/overview-multichannel/DiscoverTools/DiscoverTools.tsx index ca79f53b085..a116640fbe0 100644 --- a/plugins/woocommerce-admin/client/marketing/overview-multichannel/DiscoverTools/DiscoverTools.tsx +++ b/plugins/woocommerce-admin/client/marketing/overview-multichannel/DiscoverTools/DiscoverTools.tsx @@ -5,12 +5,15 @@ import { __ } from '@wordpress/i18n'; import { Button } from '@wordpress/components'; import { Icon, trendingUp } from '@wordpress/icons'; import { recordEvent } from '@woocommerce/tracks'; -import { Spinner } from '@woocommerce/components'; /** * Internal dependencies */ -import { CollapsibleCard, CardBody } from '~/marketing/components'; +import { + CollapsibleCard, + CardBody, + CenteredSpinner, +} from '~/marketing/components'; import { useRecommendedPlugins } from './useRecommendedPlugins'; import { PluginsTabPanel } from './PluginsTabPanel'; import './DiscoverTools.scss'; @@ -30,7 +33,7 @@ export const DiscoverTools = () => { if ( isInitializing ) { return ( - + ); } @@ -72,7 +75,6 @@ export const DiscoverTools = () => { return ( { renderCardContent() } From 0fe028d8c2b61a3fb8dba8ff08daaa845b53facc Mon Sep 17 00:00:00 2001 From: Gan Eng Chin Date: Fri, 9 Dec 2022 19:30:24 +0800 Subject: [PATCH 2/6] Code refactor with CardHeaderTitle component. This component will be used in other components later. (cherry picked from commit 995fb7e02d80b721376562727416317534ca177d) --- .../components/CardHeaderTitle/CardHeaderTitle.scss | 6 ++++++ .../components/CardHeaderTitle/CardHeaderTitle.tsx | 12 ++++++++++++ .../marketing/components/CardHeaderTitle/index.ts | 1 + .../components/CollapsibleCard/CollapsibleCard.scss | 4 ---- .../components/CollapsibleCard/CollapsibleCard.tsx | 3 ++- .../client/marketing/components/index.js | 1 + 6 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/CardHeaderTitle.scss create mode 100644 plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/CardHeaderTitle.tsx create mode 100644 plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/index.ts diff --git a/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/CardHeaderTitle.scss b/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/CardHeaderTitle.scss new file mode 100644 index 00000000000..b5b6e6ced57 --- /dev/null +++ b/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/CardHeaderTitle.scss @@ -0,0 +1,6 @@ +.woocommerce-marketing-card-header-title { + font-size: 20px; + font-weight: 400; + line-height: 28px; + letter-spacing: 0; +} diff --git a/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/CardHeaderTitle.tsx b/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/CardHeaderTitle.tsx new file mode 100644 index 00000000000..6861b8fbe0f --- /dev/null +++ b/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/CardHeaderTitle.tsx @@ -0,0 +1,12 @@ +/** + * Internal dependencies + */ +import './CardHeaderTitle.scss'; + +export const CardHeaderTitle: React.FC = ( { children } ) => { + return ( +
+ { children } +
+ ); +}; diff --git a/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/index.ts b/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/index.ts new file mode 100644 index 00000000000..424e3f75a78 --- /dev/null +++ b/plugins/woocommerce-admin/client/marketing/components/CardHeaderTitle/index.ts @@ -0,0 +1 @@ +export { CardHeaderTitle } from './CardHeaderTitle'; diff --git a/plugins/woocommerce-admin/client/marketing/components/CollapsibleCard/CollapsibleCard.scss b/plugins/woocommerce-admin/client/marketing/components/CollapsibleCard/CollapsibleCard.scss index 5c1aef987c1..4303cbd3e65 100644 --- a/plugins/woocommerce-admin/client/marketing/components/CollapsibleCard/CollapsibleCard.scss +++ b/plugins/woocommerce-admin/client/marketing/components/CollapsibleCard/CollapsibleCard.scss @@ -1,9 +1,5 @@ .woocommerce-collapsible-card { .components-card-header { - font-size: 20px; - font-weight: 400; - line-height: 28px; - letter-spacing: 0; cursor: pointer; } } diff --git a/plugins/woocommerce-admin/client/marketing/components/CollapsibleCard/CollapsibleCard.tsx b/plugins/woocommerce-admin/client/marketing/components/CollapsibleCard/CollapsibleCard.tsx index c0a767b1738..c7044810222 100644 --- a/plugins/woocommerce-admin/client/marketing/components/CollapsibleCard/CollapsibleCard.tsx +++ b/plugins/woocommerce-admin/client/marketing/components/CollapsibleCard/CollapsibleCard.tsx @@ -17,6 +17,7 @@ import classnames from 'classnames'; /** * Internal dependencies */ +import { CardHeaderTitle } from '~/marketing/components'; import './CollapsibleCard.scss'; type CollapsibleCardProps = { @@ -48,7 +49,7 @@ const CollapsibleCard: React.FC< CollapsibleCardProps > = ( { ) } > -
{ header }
+ { header }