Padroniza copias e badges da interface

This commit is contained in:
Felipe Coutinho
2026-03-14 18:36:02 +00:00
parent 1e8e6e0d3d
commit 62b94e6b1d
45 changed files with 184 additions and 200 deletions

View File

@@ -24,7 +24,7 @@ export function CardCategoryBreakdown({ data }: CardCategoryBreakdownProps) {
<CardHeader className="pb-3">
<CardTitle className="flex items-center gap-1.5 text-base">
<RiPieChartLine className="size-4 text-primary" />
Gastos por Category
Gastos por Categoria
</CardTitle>
</CardHeader>
<CardContent>
@@ -45,7 +45,7 @@ export function CardCategoryBreakdown({ data }: CardCategoryBreakdownProps) {
<CardHeader className="pb-3">
<CardTitle className="flex items-center gap-1.5 text-base">
<RiPieChartLine className="size-4 text-primary" />
Gastos por Category
Gastos por Categoria
</CardTitle>
</CardHeader>

View File

@@ -150,7 +150,7 @@ export function CategoryReportChart({ data }: CategoryReportChartProps) {
<Card className="pt-0">
<CardHeader className="flex items-center gap-2 space-y-0 border-b py-5 sm:flex-row">
<div className="grid flex-1 gap-1">
<CardTitle>Evolução por Category</CardTitle>
<CardTitle>Evolução por Categoria</CardTitle>
<CardDescription>{periodLabel}</CardDescription>
</div>
<Select value={limit} onValueChange={setLimit}>

View File

@@ -54,7 +54,7 @@ export function CategoryReportExport({
// Build CSV content
const headers = [
"Category",
"Categoria",
...data.periods.map(formatPeriodLabel),
"Total",
];
@@ -129,7 +129,7 @@ export function CategoryReportExport({
// Build data array
const headers = [
"Category",
"Categoria",
...data.periods.map(formatPeriodLabel),
"Total",
];
@@ -249,7 +249,7 @@ export function CategoryReportExport({
// Build table data
const headers = [
["Category", ...data.periods.map(formatPeriodLabel), "Total"],
["Categoria", ...data.periods.map(formatPeriodLabel), "Total"],
];
const body: string[][] = [];

View File

@@ -129,7 +129,7 @@ export function CategoryReportFilters({
const selectedText =
selectedCategories.length === 0
? "Category"
? "Categoria"
: selectedCategories.length === categories.length
? "Todas"
: selectedCategories.length === 1

View File

@@ -65,7 +65,7 @@ export function CategoryTable({
<TableHeader>
<TableRow>
<TableHead className="w-[240px] min-w-[240px] font-bold">
Category
Categoria
</TableHead>
{periods.map((period) => (
<TableHead

View File

@@ -92,7 +92,7 @@ export function EstablishmentsList({
.map((cat, catIndex) => (
<Badge
key={catIndex}
variant="secondary"
variant="outline"
className="text-xs px-1.5 py-0 h-5"
>
{cat.name}

View File

@@ -11,17 +11,15 @@ type HighlightsCardsProps = {
export function HighlightsCards({ summary }: HighlightsCardsProps) {
return (
<div className="grid gap-3 sm:grid-cols-2">
<Card className="bg-linear-to-br from-violet-50 to-violet-50/50 dark:from-violet-950/20 dark:to-violet-950/10">
<Card className="">
<CardContent className="p-4">
<div className="flex items-center gap-3">
<div className="flex items-center justify-center size-10 rounded-xl bg-violet-100 dark:bg-violet-900/40">
<RiTrophyLine className="size-5 text-violet-600 dark:text-violet-400" />
<div className="flex items-center justify-center size-10 rounded-md bg-primary">
<RiTrophyLine className="size-5" />
</div>
<div className="min-w-0 flex-1">
<p className="text-xs text-violet-700/80 dark:text-violet-400/80 font-medium">
Mais Frequente
</p>
<p className="font-bold text-xl text-violet-900 dark:text-violet-100 truncate">
<p className="text-xs font-bold">Mais Frequente</p>
<p className="font-bold text-2xl truncate">
{summary.mostFrequent || "—"}
</p>
</div>
@@ -29,17 +27,15 @@ export function HighlightsCards({ summary }: HighlightsCardsProps) {
</CardContent>
</Card>
<Card className="bg-linear-to-br from-red-50 to-rose-50/50 dark:from-red-950/20 dark:to-rose-950/10">
<Card className="">
<CardContent className="p-4">
<div className="flex items-center gap-3">
<div className="flex items-center justify-center size-10 rounded-xl bg-red-100 dark:bg-red-900/40">
<RiFireLine className="size-5 text-red-600 dark:text-red-400" />
<div className="flex items-center justify-center size-10 rounded-md bg-primary">
<RiFireLine className="size-5" />
</div>
<div className="min-w-0 flex-1">
<p className="text-xs text-red-700/80 dark:text-red-400/80 font-medium">
Maior Gasto Total
</p>
<p className="font-bold text-xl text-red-900 dark:text-red-100 truncate">
<p className="text-xs font-bold">Maior Gasto Total</p>
<p className="font-bold text-2xl truncate">
{summary.highestSpending || "—"}
</p>
</div>