From ad79b0dbc44e1688a27b0cc8494cd510dc9f4122 Mon Sep 17 00:00:00 2001 From: david Date: Sun, 16 Nov 2025 22:18:14 +0100 Subject: [PATCH] Facturas de cliente --- .../pages/list/issued-invoice-list-page.tsx | 3 +- .../issued-invoices/pages/list/ui/index.ts | 1 - ...rmas-grid.tsx => issued-invoices-grid.tsx} | 33 +-------- .../pages/list/ui/proforma-status-badge.tsx | 68 ------------------- 4 files changed, 3 insertions(+), 102 deletions(-) rename modules/customer-invoices/src/web/issued-invoices/pages/list/ui/{proformas-grid.tsx => issued-invoices-grid.tsx} (56%) delete mode 100644 modules/customer-invoices/src/web/issued-invoices/pages/list/ui/proforma-status-badge.tsx diff --git a/modules/customer-invoices/src/web/issued-invoices/pages/list/issued-invoice-list-page.tsx b/modules/customer-invoices/src/web/issued-invoices/pages/list/issued-invoice-list-page.tsx index 95e2f18a..41d2a58b 100644 --- a/modules/customer-invoices/src/web/issued-invoices/pages/list/issued-invoice-list-page.tsx +++ b/modules/customer-invoices/src/web/issued-invoices/pages/list/issued-invoice-list-page.tsx @@ -8,7 +8,7 @@ import { useNavigate } from "react-router-dom"; import { useTranslation } from "../../../i18n"; import { useIssuedInvoicesList } from "./hooks"; -import { IssuedInvoicesGrid } from "./ui/proformas-grid"; +import { IssuedInvoicesGrid } from "./ui/issued-invoices-grid"; export const IssuedInvoiceListPage = () => { const { t } = useTranslation(); @@ -51,7 +51,6 @@ export const IssuedInvoiceListPage = () => { onPageChange={list.setPageIndex} onPageSizeChange={list.setPageSize} onSearchChange={list.setSearchValue} - onStatusFilterChange={list.setStatusFilter} pageIndex={list.pageIndex} pageSize={list.pageSize} searchValue={list.search} diff --git a/modules/customer-invoices/src/web/issued-invoices/pages/list/ui/index.ts b/modules/customer-invoices/src/web/issued-invoices/pages/list/ui/index.ts index e41ab026..096a6e62 100644 --- a/modules/customer-invoices/src/web/issued-invoices/pages/list/ui/index.ts +++ b/modules/customer-invoices/src/web/issued-invoices/pages/list/ui/index.ts @@ -1,2 +1 @@ -export * from "./issued-invoice-status-badge"; export * from "./issued-invoices-grid"; diff --git a/modules/customer-invoices/src/web/issued-invoices/pages/list/ui/proformas-grid.tsx b/modules/customer-invoices/src/web/issued-invoices/pages/list/ui/issued-invoices-grid.tsx similarity index 56% rename from modules/customer-invoices/src/web/issued-invoices/pages/list/ui/proformas-grid.tsx rename to modules/customer-invoices/src/web/issued-invoices/pages/list/ui/issued-invoices-grid.tsx index 6be061ba..655660bd 100644 --- a/modules/customer-invoices/src/web/issued-invoices/pages/list/ui/proformas-grid.tsx +++ b/modules/customer-invoices/src/web/issued-invoices/pages/list/ui/issued-invoices-grid.tsx @@ -1,14 +1,5 @@ import { SimpleSearchInput } from "@erp/core/components"; import { DataTable, SkeletonDataTable } from "@repo/rdx-ui/components"; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from "@repo/shadcn-ui/components"; -import { FilterIcon } from "lucide-react"; -import { useNavigate } from "react-router-dom"; import { useTranslation } from "../../../../i18n"; import type { IssuedInvoiceSummaryPageData } from "../../../schema/issued-invoice-summary.web.schema"; @@ -25,7 +16,6 @@ interface IssuedInvoicesGridProps { onPageSizeChange: (s: number) => void; onRowClick?: (id: string) => void; onExportClick?: () => void; - onStatusFilterChange?: (newStatus: string) => void; } export const IssuedInvoicesGrid = ({ @@ -39,18 +29,13 @@ export const IssuedInvoicesGrid = ({ onPageSizeChange, onRowClick, onExportClick, - onStatusFilterChange, }: IssuedInvoicesGridProps) => { - const navigate = useNavigate(); const { t } = useTranslation(); const { items, total_items } = data; const columns = useIssuedInvoicesGridColumns({ - onEdit: (proforma) => navigate(`/issued-invoices/${proforma.id}/edit`), - onDuplicate: (proforma) => null, //duplicateInvoice(inv.id), - onDownloadPdf: (proforma) => null, //downloadInvoicePdf(inv.id), - onSendEmail: (proforma) => null, //sendInvoiceEmail(inv.id), - onDelete: (proforma) => null, //confirmDelete(inv.id), + onDownloadPdf: (invoice) => null, //downloadInvoicePdf(inv.id), + onSendEmail: (invoice) => null, //sendInvoiceEmail(inv.id), }); if (loading) @@ -67,20 +52,6 @@ export const IssuedInvoicesGrid = ({
-
= { - draft: { - badge: - "bg-gray-500/10 dark:bg-gray-500/20 hover:bg-gray-500/10 text-gray-600 border-gray-400/60", - dot: "bg-gray-500", - }, - sent: { - badge: - "bg-amber-500/10 dark:bg-amber-500/20 hover:bg-amber-500/10 text-amber-500 border-amber-600/60", - dot: "bg-amber-500", - }, - approved: { - badge: - "bg-emerald-500/10 dark:bg-emerald-500/20 hover:bg-emerald-500/10 text-emerald-500 border-emerald-600/60", - dot: "bg-emerald-500", - }, - rejected: { - badge: "bg-red-500/10 dark:bg-red-500/20 hover:bg-red-500/10 text-red-500 border-red-600/60", - dot: "bg-red-500", - }, - issued: { - badge: - "bg-blue-600/10 dark:bg-blue-600/20 hover:bg-blue-600/10 text-blue-500 border-blue-600/60", - dot: "bg-blue-500", - }, -}; - -export const IssuedInvoiceStatusBadge = forwardRef( - ({ status, dotVisible, className, ...props }, ref) => { - const { t } = useTranslation(); - - const normalizedStatus = status.toLowerCase() as IssuedInvoiceStatus; - const config = statusColorConfig[normalizedStatus]; - const commonClassName = - "transition-colors duration-200 cursor-pointer shadow-none rounded-full"; - - if (!config) { - return ( - - {status} - - ); - } - - return ( - - {dotVisible &&
} - {t(`catalog.proformas.status.${normalizedStatus}`, { defaultValue: status })} - - ); - } -); - -IssuedInvoiceStatusBadge.displayName = "IssuedInvoiceStatusBadge";