import { RiArrowRightLine, RiArrowUpDoubleLine, RiBarChartBoxLine, RiBarcodeLine, RiBillLine, RiExchangeLine, RiGroupLine, RiLineChartLine, RiMoneyDollarCircleLine, RiNumbersLine, RiPieChartLine, RiRefreshLine, RiSlideshowLine, RiStore2Line, RiStore3Line, RiWallet3Line, } from "@remixicon/react"; import Link from "next/link"; import type { ReactNode } from "react"; import { BoletosWidget } from "@/components/dashboard/boletos-widget"; import { ExpensesByCategoryWidgetWithChart } from "@/components/dashboard/expenses-by-category-widget-with-chart"; import { IncomeByCategoryWidgetWithChart } from "@/components/dashboard/income-by-category-widget-with-chart"; import { IncomeExpenseBalanceWidget } from "@/components/dashboard/income-expense-balance-widget"; import { InstallmentExpensesWidget } from "@/components/dashboard/installment-expenses-widget"; import { InvoicesWidget } from "@/components/dashboard/invoices-widget"; import { MyAccountsWidget } from "@/components/dashboard/my-accounts-widget"; import { PagadoresWidget } from "@/components/dashboard/pagadores-widget"; import { PaymentConditionsWidget } from "@/components/dashboard/payment-conditions-widget"; import { PaymentMethodsWidget } from "@/components/dashboard/payment-methods-widget"; import { PaymentStatusWidget } from "@/components/dashboard/payment-status-widget"; import { PurchasesByCategoryWidget } from "@/components/dashboard/purchases-by-category-widget"; import { RecentTransactionsWidget } from "@/components/dashboard/recent-transactions-widget"; import { RecurringExpensesWidget } from "@/components/dashboard/recurring-expenses-widget"; import { TopEstablishmentsWidget } from "@/components/dashboard/top-establishments-widget"; import { TopExpensesWidget } from "@/components/dashboard/top-expenses-widget"; import type { DashboardData } from "./fetch-dashboard-data"; export type WidgetConfig = { id: string; title: string; subtitle: string; icon: ReactNode; component: (props: { data: DashboardData; period: string }) => ReactNode; action?: ReactNode; }; export const widgetsConfig: WidgetConfig[] = [ { id: "my-accounts", title: "Minhas Contas", subtitle: "Saldo consolidado disponível", icon: , component: ({ data, period }) => ( ), }, { id: "invoices", title: "Faturas", subtitle: "Resumo das faturas do período", icon: , component: ({ data }) => ( ), }, { id: "boletos", title: "Boletos", subtitle: "Controle de boletos do período", icon: , component: ({ data }) => ( ), }, { id: "payment-status", title: "Status de Pagamento", subtitle: "Valores Confirmados E Pendentes", icon: , component: ({ data }) => ( ), }, { id: "income-expense-balance", title: "Receita, Despesa e Balanço", subtitle: "Últimos 6 Meses", icon: , component: ({ data }) => ( ), }, { id: "pagadores", title: "Pagadores", subtitle: "Despesas por pagador no período", icon: , component: ({ data }) => ( ), action: ( Ver todos ), }, { id: "recent-transactions", title: "Lançamentos Recentes", subtitle: "Últimas 5 despesas registradas", icon: , component: ({ data }) => ( ), }, { id: "payment-conditions", title: "Condições de Pagamentos", subtitle: "Análise das condições", icon: , component: ({ data }) => ( ), }, { id: "payment-methods", title: "Formas de Pagamento", subtitle: "Distribuição das despesas", icon: , component: ({ data }) => ( ), }, { id: "recurring-expenses", title: "Lançamentos Recorrentes", subtitle: "Despesas recorrentes do período", icon: , component: ({ data }) => ( ), }, { id: "installment-expenses", title: "Lançamentos Parcelados", subtitle: "Acompanhe as parcelas abertas", icon: , component: ({ data }) => ( ), action: ( Análise ), }, { id: "top-expenses", title: "Maiores Gastos do Mês", subtitle: "Top 10 Despesas", icon: , component: ({ data }) => ( ), }, { id: "top-establishments", title: "Top Estabelecimentos", subtitle: "Frequência de gastos no período", icon: , component: ({ data }) => ( ), action: ( Ver mais ), }, { id: "purchases-by-category", title: "Lançamentos por Categorias", subtitle: "Distribuição de lançamentos por categoria", icon: , component: ({ data }) => ( ), }, { id: "income-by-category", title: "Categorias por Receitas", subtitle: "Distribuição de receitas por categoria", icon: , component: ({ data, period }) => ( ), }, { id: "expenses-by-category", title: "Categorias por Despesas", subtitle: "Distribuição de despesas por categoria", icon: , component: ({ data, period }) => ( ), }, ];