Commit c9a40c1526c for woocommerce
commit c9a40c1526cec8011d18a8f02f500f37efd01fad
Author: Luigi Teschio <gigitux@gmail.com>
Date: Wed May 20 10:34:35 2026 +0200
Fix experimental products table polish (#65174)
* Fix experimental product table polish
* Add changelog entry for product table polish
diff --git a/packages/js/experimental-products-app/changelog/fix-products-table-polish b/packages/js/experimental-products-app/changelog/fix-products-table-polish
new file mode 100644
index 00000000000..fd15d8e2d22
--- /dev/null
+++ b/packages/js/experimental-products-app/changelog/fix-products-table-polish
@@ -0,0 +1,4 @@
+Significance: patch
+Type: fix
+
+Fix product table row refresh, price spacing, and stock badge display.
diff --git a/packages/js/experimental-products-app/src/fields/price/field.tsx b/packages/js/experimental-products-app/src/fields/price/field.tsx
index 5772aeb3e00..74c4d6ef096 100644
--- a/packages/js/experimental-products-app/src/fields/price/field.tsx
+++ b/packages/js/experimental-products-app/src/fields/price/field.tsx
@@ -100,7 +100,7 @@ export const fieldExtensions: Partial< Field< PriceFilterData > > = {
// since partially saved products may send empty or NaN-like values here.
if ( item.on_sale && Number.isFinite( regularPrice ) ) {
return (
- <Stack direction="row">
+ <Stack direction="row" gap="xs">
<s>{ formatCurrency( regularPrice, currency.code ) }</s>
<span>{ formatCurrency( price, currency.code ) }</span>
</Stack>
diff --git a/packages/js/experimental-products-app/src/fields/stock/field.tsx b/packages/js/experimental-products-app/src/fields/stock/field.tsx
index 7f98e575ff3..140dc67c369 100644
--- a/packages/js/experimental-products-app/src/fields/stock/field.tsx
+++ b/packages/js/experimental-products-app/src/fields/stock/field.tsx
@@ -56,16 +56,16 @@ export const fieldExtensions: Partial< Field< ProductEntityRecord > > = {
return item.stock_status;
}
+ const stockLabel =
+ item.stock_quantity && item.stock_quantity > 0
+ ? `${ match.label } (${ item.stock_quantity })`
+ : match.label;
+
return (
<div className="woocommerce-fields-field__stock">
<Badge intent={ stockStatusBadgeIntent[ match.value ] }>
- { match.label }
+ { stockLabel }
</Badge>
- { item.stock_quantity && item.stock_quantity > 0 && (
- <span className="woocommerce-fields-field__stock-quantity">
- ({ item.stock_quantity })
- </span>
- ) }
</div>
);
},
diff --git a/packages/js/experimental-products-app/src/product-list/index.tsx b/packages/js/experimental-products-app/src/product-list/index.tsx
index b3eceb75db6..15e2576ab8a 100644
--- a/packages/js/experimental-products-app/src/product-list/index.tsx
+++ b/packages/js/experimental-products-app/src/product-list/index.tsx
@@ -352,7 +352,7 @@ export default function ProductList( {
paginationInfo={ paginationInfo }
fields={ productFields }
data={ data }
- isLoading={ isLoading && ! hasResolved }
+ isLoading={ isLoading || ! hasResolved }
view={ view }
actions={ actions }
onChangeView={ setView }