From 887885cd983d0f833d5ced1a33e4a3346dc44d86 Mon Sep 17 00:00:00 2001 From: Felipe Coutinho Date: Sat, 23 May 2026 13:17:49 -0300 Subject: [PATCH] feat(relatorios): refina analise de parcelas --- .../installment-group-card.tsx | 29 +++++++------------ .../expenses/installment-analysis-queries.ts | 16 ++++++++++ 2 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/features/dashboard/components/installment-analysis/installment-group-card.tsx b/src/features/dashboard/components/installment-analysis/installment-group-card.tsx index 6af1a46..9af2294 100644 --- a/src/features/dashboard/components/installment-analysis/installment-group-card.tsx +++ b/src/features/dashboard/components/installment-analysis/installment-group-card.tsx @@ -207,32 +207,23 @@ export function InstallmentGroupCard({ )} - {/* Valor selecionado */} - {hasSelection && ( -
- - {selectedInstallments.size}{" "} - {selectedInstallments.size === 1 - ? "parcela selecionada" - : "parcelas selecionadas"} - - -
- )} - {/* Botão para abrir detalhes */} diff --git a/src/features/dashboard/expenses/installment-analysis-queries.ts b/src/features/dashboard/expenses/installment-analysis-queries.ts index 1d9ae14..7f9458b 100644 --- a/src/features/dashboard/expenses/installment-analysis-queries.ts +++ b/src/features/dashboard/expenses/installment-analysis-queries.ts @@ -192,6 +192,22 @@ export async function fetchInstallmentAnalysis( (i) => !i.isSettled, ); return hasUnpaidInstallments; + }) + .sort((a, b) => { + const progressA = + a.trackedInstallments > 0 + ? a.paidInstallments / a.trackedInstallments + : 0; + const progressB = + b.trackedInstallments > 0 + ? b.paidInstallments / b.trackedInstallments + : 0; + + if (progressA !== progressB) { + return progressB - progressA; + } + + return a.firstPurchaseDate.getTime() - b.firstPurchaseDate.getTime(); }); // Calcular totais