"use client"; import { RiShoppingBag3Line } from "@remixicon/react"; import MoneyValues from "@/components/money-values"; import { Badge } from "@/components/ui/badge"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Progress } from "@/components/ui/progress"; import { WidgetEmptyState } from "@/components/widget-empty-state"; import type { CardDetailData } from "@/lib/relatorios/cartoes-report"; import { title_font } from "@/public/fonts/font_index"; type CardTopExpensesProps = { data: CardDetailData["topExpenses"]; }; export function CardTopExpenses({ data }: CardTopExpensesProps) { if (data.length === 0) { return ( Top 10 Gastos do Mês } title="Nenhum gasto encontrado" description="Quando houver gastos registrados, eles aparecerão aqui." /> ); } const maxAmount = Math.max(...data.map((e) => e.amount)); return ( Top 10 Gastos do Mês {data.map((expense, index) => ( {/* Rank number */} {index + 1} {/* Name and details */} {expense.name} {expense.date} {expense.category && ( {expense.category} )} {/* Value */} {/* Progress bar */} ))} ); }