From a87459455d9eae04757daf6ace6f7f31bec8b60a Mon Sep 17 00:00:00 2001 From: Tiago Yamamoto Date: Sun, 21 Dec 2025 23:55:06 -0300 Subject: [PATCH] Guard against missing marketplace arrays --- marketplace/src/pages/ProductSearch.tsx | 5 +++-- marketplace/src/pages/SellerDashboard.tsx | 9 ++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/marketplace/src/pages/ProductSearch.tsx b/marketplace/src/pages/ProductSearch.tsx index da355ce..c757e86 100644 --- a/marketplace/src/pages/ProductSearch.tsx +++ b/marketplace/src/pages/ProductSearch.tsx @@ -33,8 +33,9 @@ const ProductSearch = () => { page: 1, page_size: 50, }) - setProducts(data.products) - setTotal(data.total) + const safeProducts = Array.isArray(data.products) ? data.products : [] + setProducts(safeProducts) + setTotal(typeof data.total === 'number' ? data.total : safeProducts.length) } catch (err) { console.error('Failed to fetch products', err) } finally { diff --git a/marketplace/src/pages/SellerDashboard.tsx b/marketplace/src/pages/SellerDashboard.tsx index 1c9a492..89257ff 100644 --- a/marketplace/src/pages/SellerDashboard.tsx +++ b/marketplace/src/pages/SellerDashboard.tsx @@ -32,7 +32,14 @@ export function SellerDashboardPage() { try { setLoading(true) const response = await apiClient.get('/v1/dashboard/seller') - setData(response.data) + const payload = response.data ?? {} + setData({ + seller_id: payload.seller_id ?? '', + total_sales_cents: payload.total_sales_cents ?? 0, + orders_count: payload.orders_count ?? 0, + top_products: Array.isArray(payload.top_products) ? payload.top_products : [], + low_stock_alerts: Array.isArray(payload.low_stock_alerts) ? payload.low_stock_alerts : [] + }) setError(null) } catch (err) { setError('Erro ao carregar dashboard')