import { RiBankCard2Line } from "@remixicon/react"; import MonthNavigation from "@/components/month-picker/month-navigation"; import { CardCategoryBreakdown } from "@/components/relatorios/cartoes/card-category-breakdown"; import { CardInvoiceStatus } from "@/components/relatorios/cartoes/card-invoice-status"; import { CardTopExpenses } from "@/components/relatorios/cartoes/card-top-expenses"; import { CardUsageChart } from "@/components/relatorios/cartoes/card-usage-chart"; import { CardsOverview } from "@/components/relatorios/cartoes/cards-overview"; import { Card } from "@/components/ui/card"; import { getUser } from "@/lib/auth/server"; import { fetchCartoesReportData } from "@/lib/relatorios/cartoes-report"; import { parsePeriodParam } from "@/lib/utils/period"; type PageSearchParams = Promise>; type PageProps = { searchParams?: PageSearchParams; }; const getSingleParam = ( params: Record | undefined, key: string, ) => { const value = params?.[key]; if (!value) return null; return Array.isArray(value) ? (value[0] ?? null) : value; }; export default async function RelatorioCartoesPage({ searchParams, }: PageProps) { const user = await getUser(); const resolvedSearchParams = searchParams ? await searchParams : undefined; const periodoParam = getSingleParam(resolvedSearchParams, "periodo"); const cartaoParam = getSingleParam(resolvedSearchParams, "cartao"); const { period: selectedPeriod } = parsePeriodParam(periodoParam); const data = await fetchCartoesReportData( user.id, selectedPeriod, cartaoParam, ); return (
{data.selectedCard ? ( <>
) : (

Nenhum cartão selecionado

Selecione um cartão para ver os detalhes de uso.

)}
); }