@@ -10,7 +10,11 @@ import {
1010 PanelRow ,
1111 __experimentalText as Text ,
1212} from '@wordpress/components' ;
13- import { ONBOARDING_STORE_NAME } from '@woocommerce/data' ;
13+ import {
14+ ONBOARDING_STORE_NAME ,
15+ ORDERS_STORE_NAME ,
16+ PRODUCTS_STORE_NAME ,
17+ } from '@woocommerce/data' ;
1418import { recordEvent } from '@woocommerce/tracks' ;
1519import { useEffect } from '@wordpress/element' ;
1620import { snakeCase } from 'lodash' ;
@@ -29,22 +33,46 @@ import { getUnapprovedReviews } from './reviews/utils';
2933import { getUrlParams } from '../../utils' ;
3034import { getAdminSetting } from '~/utils/admin-settings' ;
3135
36+ const ORDERS_QUERY_PARAMS = { _fields : [ 'id' ] } ;
37+ const PUBLISHED_PRODUCTS_QUERY_PARAMS = {
38+ status : 'publish' ,
39+ _fields : [ 'id' ] ,
40+ } ;
41+
3242export const ActivityPanel = ( ) => {
3343 const panelsData = useSelect ( ( select ) => {
34- const totalOrderCount = getAdminSetting ( 'orderCount' , 0 ) ;
44+ const {
45+ getOrdersTotalCount,
46+ hasFinishedResolution : hasFinishedOrdersResolution ,
47+ } = select ( ORDERS_STORE_NAME ) ;
48+ const {
49+ getProductsTotalCount,
50+ hasFinishedResolution : hasFinishedProductsResolution ,
51+ } = select ( PRODUCTS_STORE_NAME ) ;
52+ const totalOrderCount = getOrdersTotalCount ( ORDERS_QUERY_PARAMS , 0 ) ;
3553 const orderStatuses = getOrderStatuses ( select ) ;
3654 const reviewsEnabled = getAdminSetting ( 'reviewsEnabled' , 'no' ) ;
3755 const unreadOrdersCount = getUnreadOrders ( select , orderStatuses ) ;
3856 const manageStock = getAdminSetting ( 'manageStock' , 'no' ) ;
3957 const lowStockProductsCount = getLowStockCount ( select ) ;
4058 const unapprovedReviewsCount = getUnapprovedReviews ( select ) ;
41- const publishedProductCount = getAdminSetting (
42- 'publishedProductCount' ,
59+ const publishedProductCount = getProductsTotalCount (
60+ PUBLISHED_PRODUCTS_QUERY_PARAMS ,
4361 0
4462 ) ;
63+ const loadingOrderAndProductCount =
64+ ! hasFinishedOrdersResolution ( 'getOrdersTotalCount' , [
65+ ORDERS_QUERY_PARAMS ,
66+ 0 ,
67+ ] ) ||
68+ ! hasFinishedProductsResolution ( 'getProductsTotalCount' , [
69+ PUBLISHED_PRODUCTS_QUERY_PARAMS ,
70+ 0 ,
71+ ] ) ;
4572 const taskList = select ( ONBOARDING_STORE_NAME ) . getTaskList ( 'setup' ) ;
4673
4774 return {
75+ loadingOrderAndProductCount,
4876 lowStockProductsCount,
4977 unapprovedReviewsCount,
5078 unreadOrdersCount,
@@ -57,7 +85,9 @@ export const ActivityPanel = () => {
5785 } ;
5886 } ) ;
5987
60- const panels = getAllPanels ( panelsData ) ;
88+ const panels = panelsData . loadingOrderAndProductCount
89+ ? [ ]
90+ : getAllPanels ( panelsData ) ;
6191
6292 useEffect ( ( ) => {
6393 if ( panelsData . isTaskListHidden !== undefined ) {
0 commit comments