From 0be08e3fd58716acb99063c5068f40d926556b55 Mon Sep 17 00:00:00 2001 From: michaelschal <35957947-michaelschal@users.noreply.replit.com> Date: Mon, 11 Aug 2025 21:31:49 +0000 Subject: [PATCH] Ensure delivery and package counts display correctly Update stats panel and storage logic to correctly cast counts to numbers, resolving display issues for palettes and packages. Replit-Commit-Author: Agent Replit-Commit-Session-Id: b163d4c0-de5e-4f4e-a9c0-aed4c7049718 Replit-Commit-Checkpoint-Type: full_checkpoint Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/b163d4c0-de5e-4f4e-a9c0-aed4c7049718/HUXctpj --- attached_assets/image_1754947823130.png | Bin 0 -> 17059 bytes client/src/components/StatsPanel.tsx | 8 ++++---- server/storage.ts | 10 +++++----- 3 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 attached_assets/image_1754947823130.png diff --git a/attached_assets/image_1754947823130.png b/attached_assets/image_1754947823130.png new file mode 100644 index 0000000000000000000000000000000000000000..11db6a462fcbd415f8a25ed6a9b9aae138bce95b GIT binary patch literal 17059 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
- {stats?.ordersCount || 0} + {Number(stats?.ordersCount) || 0}
Commandes
- {stats?.deliveriesCount || 0} + {Number(stats?.deliveriesCount) || 0}
Livraisons
- {stats?.totalPalettes || 0} + {Number(stats?.totalPalettes) || 0}
Palettes
- {stats?.totalPackages || 0} + {Number(stats?.totalPackages) || 0}
Colis
diff --git a/server/storage.ts b/server/storage.ts index facf1ac..c47807c 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -864,12 +864,12 @@ export class DatabaseStorage implements IStorage { } return { - ordersCount: orderStats?.count || 0, - deliveriesCount: deliveryStats?.count || 0, - pendingOrdersCount: orderStats?.pendingCount || 0, + ordersCount: Number(orderStats?.count || 0), + deliveriesCount: Number(deliveryStats?.count || 0), + pendingOrdersCount: Number(orderStats?.pendingCount || 0), averageDeliveryTime: Math.round(averageDeliveryTime * 10) / 10, - totalPalettes: (orderStats?.totalPalettes || 0) + (deliveryStats?.totalPalettes || 0), - totalPackages: (orderStats?.totalPackages || 0) + (deliveryStats?.totalPackages || 0), + totalPalettes: Number((orderStats?.totalPalettes || 0)) + Number((deliveryStats?.totalPalettes || 0)), + totalPackages: Number((orderStats?.totalPackages || 0)) + Number((deliveryStats?.totalPackages || 0)), }; }