From df3d0134be3894de67af2106d1bb2c67f60decd2 Mon Sep 17 00:00:00 2001 From: Felipe Coutinho Date: Sun, 15 Mar 2026 23:23:26 +0000 Subject: [PATCH] =?UTF-8?q?feat:=20melhora=20a=20UX=20de=20lan=C3=A7amento?= =?UTF-8?q?s=20e=20a=C3=A7=C3=B5es=20r=C3=A1pidas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../accounts/components/accounts-page.tsx | 4 +- .../budgets/components/budgets-page.tsx | 4 +- src/features/calendar/components/day-cell.tsx | 2 +- src/features/cards/components/card-item.tsx | 2 +- src/features/cards/components/cards-page.tsx | 4 +- .../categories/components/categories-page.tsx | 4 +- .../components/dashboard-grid-editable.tsx | 6 +- src/features/notes/components/notes-page.tsx | 4 +- .../payers/components/payers-page.tsx | 4 +- .../components/cards/card-top-expenses.tsx | 2 +- .../settings/components/api-tokens-form.tsx | 4 +- .../settings/components/passkeys-form.tsx | 6 +- .../components/dialogs/mass-add-dialog.tsx | 4 +- .../payment-method-section.tsx | 2 +- .../components/page/transactions-page.tsx | 6 +- .../components/shared/establishment-input.tsx | 1 + .../components/table/transactions-table.tsx | 150 ++++++++++++------ 17 files changed, 137 insertions(+), 72 deletions(-) diff --git a/src/features/accounts/components/accounts-page.tsx b/src/features/accounts/components/accounts-page.tsx index 2f86750..03ac528 100644 --- a/src/features/accounts/components/accounts-page.tsx +++ b/src/features/accounts/components/accounts-page.tsx @@ -1,6 +1,6 @@ "use client"; -import { RiAddCircleFill, RiBankLine } from "@remixicon/react"; +import { RiAddFill, RiBankLine } from "@remixicon/react"; import Image from "next/image"; import { useRouter } from "next/navigation"; import { useState } from "react"; @@ -176,7 +176,7 @@ export function AccountsPage({ logoOptions={logoOptions} trigger={ } diff --git a/src/features/budgets/components/budgets-page.tsx b/src/features/budgets/components/budgets-page.tsx index 6d897e0..0c5eaea 100644 --- a/src/features/budgets/components/budgets-page.tsx +++ b/src/features/budgets/components/budgets-page.tsx @@ -1,6 +1,6 @@ "use client"; -import { RiAddCircleFill, RiFileCopyLine, RiFundsLine } from "@remixicon/react"; +import { RiAddFill, RiFileCopyLine, RiFundsLine } from "@remixicon/react"; import { useState } from "react"; import { toast } from "sonner"; import { @@ -115,7 +115,7 @@ export function BudgetsPage({ disabled={categories.length === 0} className="w-full sm:w-auto" > - + Novo orçamento } diff --git a/src/features/calendar/components/day-cell.tsx b/src/features/calendar/components/day-cell.tsx index 83c5eb9..634f5a8 100644 --- a/src/features/calendar/components/day-cell.tsx +++ b/src/features/calendar/components/day-cell.tsx @@ -143,7 +143,7 @@ export function DayCell({ day, onSelect, onCreate }: DayCellProps) { onClick={() => onSelect(day)} onKeyDown={handleKeyDown} className={cn( - "flex h-full cursor-pointer flex-col gap-1.5 rounded-lg border border-transparent bg-card/80 p-2 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hover:border-primary/40 hover:bg-primary/5 dark:hover:bg-primary/10", + "flex h-full cursor-pointer flex-col gap-1.5 rounded-lg border border-transparent bg-card/80 p-2 text-left transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 hover:border-primary/40 hover:bg-primary/5 dark:hover:bg-accent transition-colors duration-300", !day.isCurrentMonth && "opacity-60", day.isToday && "border-primary/70 bg-primary/5 hover:border-primary", )} diff --git a/src/features/cards/components/card-item.tsx b/src/features/cards/components/card-item.tsx index 7af069d..072bdc0 100644 --- a/src/features/cards/components/card-item.tsx +++ b/src/features/cards/components/card-item.tsx @@ -185,7 +185,7 @@ export function CardItem({ )} -
+
Fecha dia{" "} diff --git a/src/features/cards/components/cards-page.tsx b/src/features/cards/components/cards-page.tsx index e55cc03..406a7ce 100644 --- a/src/features/cards/components/cards-page.tsx +++ b/src/features/cards/components/cards-page.tsx @@ -1,6 +1,6 @@ "use client"; -import { RiAddCircleFill, RiBankCard2Line } from "@remixicon/react"; +import { RiAddFill, RiBankCard2Line } from "@remixicon/react"; import { useRouter } from "next/navigation"; import { useMemo, useState } from "react"; import { toast } from "sonner"; @@ -164,7 +164,7 @@ export function CardsPage({ logoOptions={logoOptions} trigger={ } diff --git a/src/features/categories/components/categories-page.tsx b/src/features/categories/components/categories-page.tsx index 901bf28..e724b07 100644 --- a/src/features/categories/components/categories-page.tsx +++ b/src/features/categories/components/categories-page.tsx @@ -1,7 +1,7 @@ "use client"; import { - RiAddCircleFill, + RiAddFill, RiDeleteBin5Line, RiExternalLinkLine, RiPencilLine, @@ -127,7 +127,7 @@ export function CategoriesPage({ categories }: CategoriesPageProps) { defaultType={activeType} trigger={ } diff --git a/src/features/dashboard/components/dashboard-grid-editable.tsx b/src/features/dashboard/components/dashboard-grid-editable.tsx index 8e4d7a9..b0a2d56 100644 --- a/src/features/dashboard/components/dashboard-grid-editable.tsx +++ b/src/features/dashboard/components/dashboard-grid-editable.tsx @@ -16,7 +16,7 @@ import { sortableKeyboardCoordinates, } from "@dnd-kit/sortable"; import { - RiAddCircleFill, + RiAddFill, RiCheckLine, RiCloseLine, RiDragMove2Line, @@ -218,7 +218,7 @@ export function DashboardGridEditable({ className="h-12 w-full min-w-0 flex-col justify-center gap-0.5 px-1.5 text-sm whitespace-normal sm:h-8 sm:w-auto sm:flex-row sm:gap-2 sm:px-3 sm:whitespace-nowrap" > - + Receita Nova receita @@ -243,7 +243,7 @@ export function DashboardGridEditable({ className="h-12 w-full min-w-0 flex-col justify-center gap-0.5 px-1.5 text-sm whitespace-normal sm:h-8 sm:w-auto sm:flex-row sm:gap-2 sm:px-3 sm:whitespace-nowrap" > - + Despesa Nova despesa diff --git a/src/features/notes/components/notes-page.tsx b/src/features/notes/components/notes-page.tsx index 699cd23..0101d5d 100644 --- a/src/features/notes/components/notes-page.tsx +++ b/src/features/notes/components/notes-page.tsx @@ -1,6 +1,6 @@ "use client"; -import { RiAddCircleFill, RiTodoLine } from "@remixicon/react"; +import { RiAddFill, RiTodoLine } from "@remixicon/react"; import { useMemo, useState } from "react"; import { toast } from "sonner"; import { archiveNoteAction, deleteNoteAction } from "@/features/notes/actions"; @@ -208,7 +208,7 @@ export function NotesPage({ notes, archivedNotes }: NotesPageProps) { onOpenChange={handleCreateOpenChange} trigger={ } diff --git a/src/features/payers/components/payers-page.tsx b/src/features/payers/components/payers-page.tsx index c16397f..77247d4 100644 --- a/src/features/payers/components/payers-page.tsx +++ b/src/features/payers/components/payers-page.tsx @@ -1,6 +1,6 @@ "use client"; -import { RiAddCircleFill } from "@remixicon/react"; +import { RiAddFill } from "@remixicon/react"; import { useRouter } from "next/navigation"; import { useMemo, useState, useTransition } from "react"; import { toast } from "sonner"; @@ -126,7 +126,7 @@ export function PayersPage({ payers, avatarOptions }: PayersPageProps) { avatarOptions={avatarOptions} trigger={ } diff --git a/src/features/reports/components/cards/card-top-expenses.tsx b/src/features/reports/components/cards/card-top-expenses.tsx index 551b080..4cb95de 100644 --- a/src/features/reports/components/cards/card-top-expenses.tsx +++ b/src/features/reports/components/cards/card-top-expenses.tsx @@ -77,7 +77,7 @@ export function CardTopExpenses({ data }: CardTopExpensesProps) { {expense.category && ( {expense.category} diff --git a/src/features/settings/components/api-tokens-form.tsx b/src/features/settings/components/api-tokens-form.tsx index d6cdb48..8307105 100644 --- a/src/features/settings/components/api-tokens-form.tsx +++ b/src/features/settings/components/api-tokens-form.tsx @@ -1,7 +1,7 @@ "use client"; import { - RiAddCircleFill, + RiAddFill, RiAlertLine, RiCheckLine, RiDeleteBinLine, @@ -154,7 +154,7 @@ export function ApiTokensForm({ tokens }: ApiTokensFormProps) { > diff --git a/src/features/settings/components/passkeys-form.tsx b/src/features/settings/components/passkeys-form.tsx index 018eea7..615e301 100644 --- a/src/features/settings/components/passkeys-form.tsx +++ b/src/features/settings/components/passkeys-form.tsx @@ -1,7 +1,7 @@ "use client"; import { - RiAddCircleFill, + RiAddFill, RiAlertLine, RiDeleteBinLine, RiFingerprintLine, @@ -210,8 +210,8 @@ export function PasskeysForm() { > diff --git a/src/features/transactions/components/dialogs/mass-add-dialog.tsx b/src/features/transactions/components/dialogs/mass-add-dialog.tsx index 5671809..80d511d 100644 --- a/src/features/transactions/components/dialogs/mass-add-dialog.tsx +++ b/src/features/transactions/components/dialogs/mass-add-dialog.tsx @@ -69,7 +69,7 @@ function InlinePeriodPicker({ return (
- Invoice de + Fatura de + + {settled ? "Desfazer pagamento" : "Marcar como pago"} - - + + ); })()} @@ -866,14 +888,14 @@ export function TransactionsTable({ onClick={() => onCreate("Receita")} className="w-full sm:w-auto" > - + Nova Receita @@ -887,7 +909,7 @@ export function TransactionsTable({ size="icon" className="hidden size-9 sm:inline-flex" > - + Adicionar múltiplos lançamentos @@ -1014,7 +1036,17 @@ export function TransactionsTable({ {rowModel.rows.map((row) => ( - + {row.getVisibleCells().map((cell) => ( {flexRender( @@ -1032,7 +1064,7 @@ export function TransactionsTable({
- Exibindo {rowModel.rows.length} de {totalRows} lançamentos + {totalRows} lançamentos