forked from git.gladyson/openmonetis
- Replace ESLint with Biome for linting and formatting - Configure Biome with tabs, double quotes, and organized imports - Move all SQL/Drizzle queries from page.tsx files to data.ts files - Create new data.ts files for: ajustes, dashboard, relatorios/categorias - Update existing data.ts files: extrato, fatura (add lancamentos queries) - Remove all drizzle-orm imports from page.tsx files - Update README.md with new tooling info Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
import {
|
|
FilterSkeleton,
|
|
InvoiceSummaryCardSkeleton,
|
|
TransactionsTableSkeleton,
|
|
} from "@/components/skeletons";
|
|
import { Skeleton } from "@/components/ui/skeleton";
|
|
|
|
/**
|
|
* Loading state para a página de fatura de cartão
|
|
* Layout: MonthPicker + InvoiceSummaryCard + Filtros + Tabela de lançamentos
|
|
*/
|
|
export default function FaturaLoading() {
|
|
return (
|
|
<main className="flex flex-col gap-6">
|
|
{/* Month Picker placeholder */}
|
|
<div className="h-[60px] animate-pulse rounded-2xl bg-foreground/10" />
|
|
|
|
{/* Invoice Summary Card */}
|
|
<section className="flex flex-col gap-4">
|
|
<InvoiceSummaryCardSkeleton />
|
|
</section>
|
|
|
|
{/* Seção de lançamentos */}
|
|
<section className="flex flex-col gap-4">
|
|
<div className="space-y-6">
|
|
{/* Header */}
|
|
<div className="flex items-center justify-between">
|
|
<Skeleton className="h-8 w-48 rounded-2xl bg-foreground/10" />
|
|
<Skeleton className="h-10 w-40 rounded-2xl bg-foreground/10" />
|
|
</div>
|
|
|
|
{/* Filtros */}
|
|
<FilterSkeleton />
|
|
|
|
{/* Tabela */}
|
|
<TransactionsTableSkeleton />
|
|
</div>
|
|
</section>
|
|
</main>
|
|
);
|
|
}
|