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> {
|