diff --git a/attached_assets/{524FAD15-7AEC-4A6C-87FE-CBF9A60DA65C}_1754479206962.png b/attached_assets/{524FAD15-7AEC-4A6C-87FE-CBF9A60DA65C}_1754479206962.png new file mode 100644 index 0000000..ff2fe22 Binary files /dev/null and b/attached_assets/{524FAD15-7AEC-4A6C-87FE-CBF9A60DA65C}_1754479206962.png differ diff --git a/client/src/components/SalesHistory.tsx b/client/src/components/SalesHistory.tsx index 8baeac3..8939cff 100644 --- a/client/src/components/SalesHistory.tsx +++ b/client/src/components/SalesHistory.tsx @@ -554,15 +554,47 @@ export default function SalesHistory({ canDelete = false }: SalesHistoryProps) { {sale.nom} {sale.prenom} - {sale.typeArticle} + + {sale.products && sale.products.length > 0 ? ( +
+ {sale.products.map((product, index) => ( +
+ {product.typeArticle} +
+ ))} +
+ ) : ( + - + )} + - - {sale.categorie} - + {sale.products && sale.products.length > 0 ? ( +
+ {sale.products.map((product, index) => ( + + {product.categorie} + + ))} +
+ ) : ( + - + )} + + + {sale.products && sale.products.length > 0 ? ( +
+ {sale.products.map((product, index) => ( +
+ {product.quantite} +
+ ))} +
+ ) : ( + - + )} - {sale.quantite} {sale.modePaiement}
diff --git a/server/storage.ts b/server/storage.ts index 3da8d40..0d9cb85 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -520,7 +520,7 @@ class MemStorage implements IStorage { return newSale; } - async getSalesByStore(storeId: number, startDate?: string, endDate?: string): Promise { + async getSalesByStore(storeId: number, startDate?: string, endDate?: string): Promise<(Sale & { products: SaleProduct[] })[]> { let filteredSales = this.sales.filter(s => s.storeId === storeId); if (startDate) { @@ -534,7 +534,13 @@ class MemStorage implements IStorage { filteredSales = filteredSales.filter(s => s.timestamp && s.timestamp <= end); } - return filteredSales.sort((a, b) => (b.timestamp?.getTime() || 0) - (a.timestamp?.getTime() || 0)); + // Add products to each sale + const salesWithProducts = filteredSales.map(sale => ({ + ...sale, + products: this.saleProducts.filter(p => p.saleId === sale.id) + })); + + return salesWithProducts.sort((a, b) => (b.timestamp?.getTime() || 0) - (a.timestamp?.getTime() || 0)); } async getSaleWithProducts(id: number): Promise<(Sale & { products: SaleProduct[] }) | undefined> {