diff --git a/components/dashboard/installment-analysis/installment-group-card.tsx b/components/dashboard/installment-analysis/installment-group-card.tsx index 15d965e..0d1c2a2 100644 --- a/components/dashboard/installment-analysis/installment-group-card.tsx +++ b/components/dashboard/installment-analysis/installment-group-card.tsx @@ -6,9 +6,10 @@ import { Card, CardContent } from "@/components/ui/card"; import { Checkbox } from "@/components/ui/checkbox"; import { Progress } from "@/components/ui/progress"; import { cn } from "@/lib/utils/ui"; -import { RiArrowDownSLine, RiArrowRightSLine } from "@remixicon/react"; +import { RiArrowDownSLine, RiArrowRightSLine, RiCreditCardLine } from "@remixicon/react"; import { format } from "date-fns"; import { ptBR } from "date-fns/locale"; +import Image from "next/image"; import { useState } from "react"; import type { InstallmentGroup } from "./types"; @@ -31,6 +32,8 @@ export function InstallmentGroupCard({ (i) => !i.isSettled ); + const unpaidCount = unpaidInstallments.length; + const isFullySelected = selectedInstallments.size === unpaidInstallments.length && unpaidInstallments.length > 0; @@ -63,7 +66,22 @@ export function InstallmentGroupCard({
-

{group.name}

+
+ {group.cartaoLogo ? ( + {group.cartaoName + ) : ( +
+ +
+ )} +

{group.name}

+
{group.cartaoName && ( <> @@ -96,10 +114,8 @@ export function InstallmentGroupCard({ {group.paidInstallments} de {group.totalInstallments} pagas - {group.pendingInstallments.length}{" "} - {group.pendingInstallments.length === 1 - ? "pendente" - : "pendentes"} + {unpaidCount}{" "} + {unpaidCount === 1 ? "pendente" : "pendentes"}
@@ -109,8 +125,7 @@ export function InstallmentGroupCard({
{isPartiallySelected && ( - {selectedInstallments.size} de{" "} - {group.pendingInstallments.length} selecionadas + {selectedInstallments.size} de {unpaidCount} selecionadas )}
diff --git a/lib/dashboard/expenses/installment-analysis.ts b/lib/dashboard/expenses/installment-analysis.ts index d2906e7..49348a6 100644 --- a/lib/dashboard/expenses/installment-analysis.ts +++ b/lib/dashboard/expenses/installment-analysis.ts @@ -41,6 +41,7 @@ export type InstallmentGroup = { paymentMethod: string; cartaoId: string | null; cartaoName: string | null; + cartaoLogo: string | null; cartaoDueDay: string | null; totalInstallments: number; paidInstallments: number; @@ -74,6 +75,7 @@ export async function fetchInstallmentAnalysis( purchaseDate: lancamentos.purchaseDate, cartaoId: lancamentos.cartaoId, cartaoName: cartoes.name, + cartaoLogo: cartoes.logo, cartaoDueDay: cartoes.dueDay, }) .from(lancamentos) @@ -131,6 +133,7 @@ export async function fetchInstallmentAnalysis( paymentMethod: row.paymentMethod, cartaoId: row.cartaoId, cartaoName: row.cartaoName, + cartaoLogo: row.cartaoLogo, cartaoDueDay: row.cartaoDueDay, totalInstallments: row.installmentCount ?? 0, paidInstallments: 0,