chore: atualizar dependências e aplicar formatação

- Atualizar package.json e pnpm-lock.yaml
- Aplicar formatação Biome em widgets do dashboard
- Pequenos ajustes de estilo em componentes diversos

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Felipe Coutinho
2026-01-30 14:53:44 +00:00
parent fd84a0d1ac
commit 79a2899bf2
18 changed files with 265 additions and 266 deletions

View File

@@ -59,7 +59,7 @@
--sidebar-ring: oklch(69.18% 0.18855 38.353);
/* Layout */
--radius: 1rem;
--radius: 0.8rem;
/* Shadows - warm tinted for cohesion */
--shadow-2xs: 0 1px 2px 0px oklch(35% 0.02 45 / 0.04);

View File

@@ -172,7 +172,7 @@ export function BoletosWidget({ boletos }: BoletosWidgetProps) {
className="flex items-center justify-between border-b border-dashed last:border-b-0 last:pb-0"
>
<div className="flex min-w-0 flex-1 items-center gap-3 py-2">
<EstabelecimentoLogo name={boleto.name} size={38} />
<EstabelecimentoLogo name={boleto.name} size={37} />
<div className="min-w-0">
<span className="block truncate text-sm font-medium text-foreground">

View File

@@ -259,13 +259,13 @@ export function InvoicesWidget({ invoices }: InvoicesWidgetProps) {
className="flex items-center justify-between border-b border-dashed last:border-b-0 last:pb-0"
>
<div className="flex min-w-0 flex-1 items-center gap-2 py-2">
<div className="flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-lg">
<div className="flex size-9.5 shrink-0 items-center justify-center overflow-hidden rounded-lg">
{logo ? (
<Image
src={logo}
alt={`Logo do cartão ${invoice.cardName}`}
width={44}
height={44}
width={36}
height={36}
className="h-full w-full object-contain"
/>
) : (

View File

@@ -15,7 +15,7 @@ type PaymentConditionsWidgetProps = {
};
const CONDITION_ICON_CLASSES =
"flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground";
"flex size-9.5 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground";
const CONDITION_ICONS: Record<string, ReactNode> = {
"À vista": <RiCheckLine className="size-5" aria-hidden />,

View File

@@ -10,7 +10,7 @@ type PaymentMethodsWidgetProps = {
};
const ICON_WRAPPER_CLASS =
"flex size-10 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground";
"flex size-9.5 shrink-0 items-center justify-center rounded-lg bg-muted text-foreground";
const formatPercentage = (value: number) =>
new Intl.NumberFormat("pt-BR", {

View File

@@ -162,7 +162,7 @@ export function PurchasesByCategoryWidget({
className="flex items-center justify-between gap-3 border-b border-dashed py-2 last:border-b-0 last:pb-0"
>
<div className="flex min-w-0 flex-1 items-center gap-3">
<EstabelecimentoLogo name={transaction.name} size={38} />
<EstabelecimentoLogo name={transaction.name} size={37} />
<div className="min-w-0">
<p className="truncate text-sm font-medium text-foreground">

View File

@@ -41,7 +41,7 @@ export function RecentTransactionsWidget({
className="flex items-center justify-between gap-3 border-b border-dashed py-2 last:border-b-0 last:pb-0"
>
<div className="flex min-w-0 flex-1 items-center gap-3">
<EstabelecimentoLogo name={transaction.name} size={38} />
<EstabelecimentoLogo name={transaction.name} size={37} />
<div className="min-w-0">
<p className="truncate text-sm font-medium text-foreground">

View File

@@ -39,7 +39,7 @@ export function RecurringExpensesWidget({
key={expense.id}
className="flex items-center gap-3 border-b border-dashed pb-2 last:border-b-0 last:pb-0"
>
<EstabelecimentoLogo name={expense.name} size={38} />
<EstabelecimentoLogo name={expense.name} size={37} />
<div className="min-w-0 flex-1">
<div className="flex items-center justify-between">

View File

@@ -35,7 +35,7 @@ export function TopEstablishmentsWidget({
className="flex items-center justify-between gap-3 border-b border-dashed py-2 last:border-b-0 last:pb-0"
>
<div className="flex min-w-0 flex-1 items-center gap-3">
<EstabelecimentoLogo name={establishment.name} size={38} />
<EstabelecimentoLogo name={establishment.name} size={37} />
<div className="min-w-0">
<p className="truncate text-sm font-medium text-foreground">

View File

@@ -114,7 +114,7 @@ export function TopExpensesWidget({
className="flex items-center justify-between gap-3 border-b border-dashed py-2 last:border-b-0 last:pb-0"
>
<div className="flex min-w-0 flex-1 items-center gap-3">
<EstabelecimentoLogo name={expense.name} size={38} />
<EstabelecimentoLogo name={expense.name} size={37} />
<div className="min-w-0">
<p className="truncate text-sm font-medium text-foreground">

View File

@@ -1,11 +1,11 @@
type DotIconProps = {
bg_dot: string;
color: string;
};
export default function DotIcon({ bg_dot }: DotIconProps) {
export default function DotIcon({ color }: DotIconProps) {
return (
<span>
<span className={`${bg_dot} flex size-2 rounded-full`}></span>
<span className={`${color} flex size-2 rounded-full`}></span>
</span>
);
}

View File

@@ -286,7 +286,7 @@ export function InvoiceSummaryCard({
value={
cardStatus ? (
<div className="flex items-center gap-1.5">
<DotIcon bg_dot={getCardStatusDotColor(cardStatus)} />
<DotIcon color={getCardStatusDotColor(cardStatus)} />
<span className="truncate">{cardStatus}</span>
</div>
) : (

View File

@@ -56,7 +56,7 @@ export function TransactionTypeSelectContent({ label }: { label: string }) {
return (
<span className="flex items-center gap-2">
<DotIcon bg_dot={colorMap[label]} />
<DotIcon color={colorMap[label]} />
<span>{label}</span>
</span>
);

View File

@@ -56,7 +56,7 @@ export function EstabelecimentoLogo({
return (
<div
className={cn(
"flex items-center justify-center rounded-md text-white font-medium shrink-0 ",
"flex items-center justify-center rounded-lg text-white font-bold shrink-0",
colorClass,
className,
)}

View File

@@ -75,7 +75,7 @@ export function EstablishmentsList({
<div className="flex items-center justify-between gap-3">
<div className="flex min-w-0 flex-1 items-center gap-2">
{/* Rank number - same size as icon containers */}
<div className="flex size-10 shrink-0 items-center justify-center overflow-hidden rounded-lg bg-muted">
<div className="flex size-9 shrink-0 items-center justify-center overflow-hidden rounded-lg bg-muted">
<span className="text-sm font-semibold text-muted-foreground">
{index + 1}
</span>

View File

@@ -56,7 +56,7 @@ export function TypeBadge({ type, className }: TypeBadgeProps) {
className,
)}
>
<DotIcon bg_dot={dotColor} />
<DotIcon color={dotColor} />
{label}
</Badge>
);

View File

@@ -27,13 +27,13 @@
"docker:rebuild": "docker compose up --build --force-recreate"
},
"dependencies": {
"@ai-sdk/anthropic": "^3.0.23",
"@ai-sdk/google": "^3.0.13",
"@ai-sdk/openai": "^3.0.19",
"@ai-sdk/anthropic": "^3.0.31",
"@ai-sdk/google": "^3.0.18",
"@ai-sdk/openai": "^3.0.23",
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@openrouter/ai-sdk-provider": "^2.0.2",
"@openrouter/ai-sdk-provider": "^2.1.1",
"@radix-ui/react-accordion": "^1.2.12",
"@radix-ui/react-alert-dialog": "1.1.15",
"@radix-ui/react-avatar": "1.1.11",
@@ -55,13 +55,13 @@
"@radix-ui/react-toggle": "1.1.10",
"@radix-ui/react-toggle-group": "1.1.11",
"@radix-ui/react-tooltip": "1.2.8",
"@remixicon/react": "4.8.0",
"@remixicon/react": "4.9.0",
"@tanstack/react-table": "8.21.3",
"@vercel/analytics": "^1.6.1",
"@vercel/speed-insights": "^1.3.1",
"ai": "^6.0.50",
"ai": "^6.0.62",
"babel-plugin-react-compiler": "^1.0.0",
"better-auth": "1.4.17",
"better-auth": "1.4.18",
"class-variance-authority": "0.7.1",
"clsx": "2.1.1",
"cmdk": "^1.1.1",
@@ -70,14 +70,14 @@
"jspdf": "^4.0.0",
"jspdf-autotable": "^5.0.7",
"motion": "^12.29.2",
"next": "16.1.5",
"next": "16.1.6",
"next-themes": "0.4.6",
"pg": "8.17.2",
"react": "19.2.4",
"react-day-picker": "^9.13.0",
"react-dom": "19.2.4",
"recharts": "3.7.0",
"resend": "^6.9.0",
"resend": "^6.9.1",
"sonner": "2.0.7",
"tailwind-merge": "3.4.0",
"vaul": "1.1.2",
@@ -88,11 +88,11 @@
"@biomejs/biome": "2.3.13",
"@tailwindcss/postcss": "4.1.18",
"@types/d3-array": "^3.2.2",
"@types/node": "25.0.10",
"@types/node": "25.1.0",
"@types/pg": "^8.16.0",
"@types/react": "19.2.10",
"@types/react-dom": "19.2.3",
"baseline-browser-mapping": "^2.9.18",
"baseline-browser-mapping": "^2.9.19",
"depcheck": "^1.4.7",
"dotenv": "^17.2.3",
"drizzle-kit": "0.31.8",

469
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff