diff --git a/client/src/pages/DlcPage.tsx b/client/src/pages/DlcPage.tsx index f7ce77d..6df2f66 100644 --- a/client/src/pages/DlcPage.tsx +++ b/client/src/pages/DlcPage.tsx @@ -894,6 +894,7 @@ export default function DlcPage() { key={product.id} className={ product.status === "valides" ? "opacity-60 bg-gray-50 dark:bg-gray-800" : + product.processedUntilExpiry ? "opacity-60 bg-blue-50 dark:bg-blue-900/20" : product.stockEpuise ? "opacity-50 bg-yellow-50 dark:bg-yellow-900/20" : "" } > diff --git a/server/storage.ts b/server/storage.ts index ef00317..7ca5d88 100644 --- a/server/storage.ts +++ b/server/storage.ts @@ -1948,14 +1948,14 @@ export class DatabaseStorage implements IStorage { query = query.where(and(...conditions)); } - // Tri intelligent : produits actifs en premier, puis produits traités/validés en dernier + // Tri intelligent : produits traités/validés en premier (grisés), puis produits actifs const results = await query.orderBy( - // Priorité 1 : Produits actifs d'abord (non validés, non traités, stock disponible) + // Priorité 1 : Produits traités/validés d'abord (affichés en grisé) sql`CASE - WHEN ${dlcProducts.status} = 'valides' THEN 3 - WHEN ${dlcProducts.stockEpuise} = true THEN 2 - WHEN ${dlcProducts.processedUntilExpiry} = true THEN 2 - ELSE 1 + WHEN ${dlcProducts.processedUntilExpiry} = true THEN 1 + WHEN ${dlcProducts.status} = 'valides' THEN 1 + WHEN ${dlcProducts.stockEpuise} = true THEN 1 + ELSE 2 END`, // Priorité 2 : Date d'expiration (croissante) asc(dlcProducts.expiryDate)