diff --git a/src/packages/administrativo/components/TImovel/TImovelTable.tsx b/src/packages/administrativo/components/TImovel/TImovelTable.tsx index 7f8260a..54c767b 100644 --- a/src/packages/administrativo/components/TImovel/TImovelTable.tsx +++ b/src/packages/administrativo/components/TImovel/TImovelTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TImovelColumns from './TImovelColumns'; import TImovelTableInterface from '../../interfaces/TImovel/TImovelTabelInterface'; diff --git a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTable.tsx b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTable.tsx index 3ab07c7..90c6c79 100644 --- a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTable.tsx +++ b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TImovelUnidadeColumns from './TImovelUnidadeRuralColumns'; import TImovelUnidadeRuralTableInterface from '@/packages/administrativo/interfaces/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTableInterface'; diff --git a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTable.tsx b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTable.tsx index 860120d..10dc2cc 100644 --- a/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTable.tsx +++ b/src/packages/administrativo/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TImovelUnidadeColumns from './TImovelUnidadeUrbanoColumns'; import TImovelUnidadeUrbanoTableInterface from '@/packages/administrativo/interfaces/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTableInterface'; /** diff --git a/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaTable.tsx b/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaTable.tsx index 4179571..45fddf2 100644 --- a/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaTable.tsx +++ b/src/packages/administrativo/components/TPessoa/TPessoaFisica/TPessoaFisicaTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TPessoaFisicaTableInterface from '@/packages/administrativo/interfaces/TPessoa/TPessoaFisica/TPessoaFisicaTableInterface'; import { TPessoaFisicaColumns } from './TPessoaFisicaColumns'; diff --git a/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaTable.tsx b/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaTable.tsx index eafa92c..da1b2ee 100644 --- a/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaTable.tsx +++ b/src/packages/administrativo/components/TPessoa/TPessoaJuridica/TPessoaJuridicaTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TPessoaJuridicaColumns from './TPessoaJuridicaColumns'; import TPessoaJuridicaTableInterface from '@/packages/administrativo/interfaces/TPessoa/TPessoaJuridica/TPessoaJuridicaTableInterface'; diff --git a/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteForm.tsx b/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteForm.tsx index 16220e7..6703b57 100644 --- a/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteForm.tsx +++ b/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteForm.tsx @@ -76,7 +76,7 @@ import { DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { DropdownMenuContent } from '@radix-ui/react-dropdown-menu'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import { Checkbox } from '@/components/ui/checkbox'; import { useTPessoaFisicaIndexHook } from '../../hooks/TPessoa/TPessoaFisica/useTPessoaFisicaIndexHook'; import { useTPessoaRepresentanteFormHook } from '../../hooks/TPessoaRepresentante/useTPessoaRepresentanteFormHook'; diff --git a/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteTable.tsx b/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteTable.tsx index 4052b14..cfcf4c5 100644 --- a/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteTable.tsx +++ b/src/packages/administrativo/components/TPessoaRepresentante/TPessoaRepresentanteTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TPessoaRepresentanteColumns from './TPessoaRepresentanteColumns'; import TPessoaRepresentanteTableInterface from '../../interfaces/TPessoaRepresentante/TPessoaRepresentanteTableInterface'; diff --git a/src/packages/administrativo/data/components/TImovel/TImovelTable.tsx b/src/packages/administrativo/data/components/TImovel/TImovelTable.tsx index 43ce94e..00f6dce 100644 --- a/src/packages/administrativo/data/components/TImovel/TImovelTable.tsx +++ b/src/packages/administrativo/data/components/TImovel/TImovelTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/dataTable'; import TImovelColumns from './TImovelColumns'; import TImovelTableInterface from '../../../interfaces/TImovel/TImovelTabelInterface'; diff --git a/src/packages/administrativo/data/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTable.tsx b/src/packages/administrativo/data/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTable.tsx index 3ab07c7..90c6c79 100644 --- a/src/packages/administrativo/data/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTable.tsx +++ b/src/packages/administrativo/data/components/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TImovelUnidadeColumns from './TImovelUnidadeRuralColumns'; import TImovelUnidadeRuralTableInterface from '@/packages/administrativo/interfaces/TImovelUnidade/TImovelUnidadeRural/TImovelUnidadeRuralTableInterface'; diff --git a/src/packages/administrativo/data/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTable.tsx b/src/packages/administrativo/data/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTable.tsx index 860120d..10dc2cc 100644 --- a/src/packages/administrativo/data/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTable.tsx +++ b/src/packages/administrativo/data/components/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TImovelUnidadeColumns from './TImovelUnidadeUrbanoColumns'; import TImovelUnidadeUrbanoTableInterface from '@/packages/administrativo/interfaces/TImovelUnidade/TImovelUnidadeUrbano/TImovelUnidadeUrbanoTableInterface'; /** diff --git a/src/packages/administrativo/data/components/TPessoa/TPessoaFisica/TPessoaFisicaTable.tsx b/src/packages/administrativo/data/components/TPessoa/TPessoaFisica/TPessoaFisicaTable.tsx index 4179571..45fddf2 100644 --- a/src/packages/administrativo/data/components/TPessoa/TPessoaFisica/TPessoaFisicaTable.tsx +++ b/src/packages/administrativo/data/components/TPessoa/TPessoaFisica/TPessoaFisicaTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TPessoaFisicaTableInterface from '@/packages/administrativo/interfaces/TPessoa/TPessoaFisica/TPessoaFisicaTableInterface'; import { TPessoaFisicaColumns } from './TPessoaFisicaColumns'; diff --git a/src/packages/administrativo/data/components/TPessoa/TPessoaJuridica/TPessoaJuridicaTable.tsx b/src/packages/administrativo/data/components/TPessoa/TPessoaJuridica/TPessoaJuridicaTable.tsx index eafa92c..da1b2ee 100644 --- a/src/packages/administrativo/data/components/TPessoa/TPessoaJuridica/TPessoaJuridicaTable.tsx +++ b/src/packages/administrativo/data/components/TPessoa/TPessoaJuridica/TPessoaJuridicaTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TPessoaJuridicaColumns from './TPessoaJuridicaColumns'; import TPessoaJuridicaTableInterface from '@/packages/administrativo/interfaces/TPessoa/TPessoaJuridica/TPessoaJuridicaTableInterface'; diff --git a/src/packages/administrativo/data/components/TPessoaRepresentante/TPessoaRepresentanteForm.tsx b/src/packages/administrativo/data/components/TPessoaRepresentante/TPessoaRepresentanteForm.tsx index 553feb7..40af42a 100644 --- a/src/packages/administrativo/data/components/TPessoaRepresentante/TPessoaRepresentanteForm.tsx +++ b/src/packages/administrativo/data/components/TPessoaRepresentante/TPessoaRepresentanteForm.tsx @@ -76,7 +76,7 @@ import { DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { DropdownMenuContent } from '@radix-ui/react-dropdown-menu'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import { Checkbox } from '@/components/ui/checkbox'; import { useTPessoaFisicaIndexHook } from '../../../hooks/TPessoa/TPessoaFisica/useTPessoaFisicaIndexHook'; import { useTPessoaRepresentanteFormHook } from '../../../hooks/TPessoaRepresentante/useTPessoaRepresentanteFormHook'; diff --git a/src/packages/administrativo/data/components/TPessoaRepresentante/TPessoaRepresentanteTable.tsx b/src/packages/administrativo/data/components/TPessoaRepresentante/TPessoaRepresentanteTable.tsx index eceb646..fdae2ff 100644 --- a/src/packages/administrativo/data/components/TPessoaRepresentante/TPessoaRepresentanteTable.tsx +++ b/src/packages/administrativo/data/components/TPessoaRepresentante/TPessoaRepresentanteTable.tsx @@ -1,6 +1,6 @@ 'use client'; -import { DataTable } from '@/app/_components/dataTable/DataTable'; +import { DataTable } from '@/shared/components/dataTable/DataTable'; import TPessoaRepresentanteColumns from './TPessoaRepresentanteColumns'; import TPessoaRepresentanteTableInterface from '../../../interfaces/TPessoaRepresentante/TPessoaRepresentanteTableInterface'; diff --git a/src/shared/components/dataTable/DataTable.tsx b/src/shared/components/dataTable/DataTable.tsx index 869c086..8bd8a2e 100644 --- a/src/shared/components/dataTable/DataTable.tsx +++ b/src/shared/components/dataTable/DataTable.tsx @@ -36,17 +36,7 @@ import { ChevronRightIcon, EyeIcon, } from 'lucide-react'; - -// Tipagem genérica -export interface DataTableProps { - data?: TData[] | null; - columns: ColumnDef[]; - filterColumn?: string; // Define qual coluna será usada para filtro - filterPlaceholder?: string; - onEdit?: (item: TData) => void; - onDelete?: (item: TData) => void; - onRowClick?: (item: TData) => void; -} +import DataTableInterface from './interfaces/DataTableInterface'; export function DataTable({ data, @@ -56,7 +46,7 @@ export function DataTable({ onEdit, onDelete, onRowClick, -}: DataTableProps) { +}: DataTableInterface) { // Garante que data sempre seja array const safeData = Array.isArray(data) ? data : []; @@ -73,33 +63,33 @@ export function DataTable({ ...columns, ...(onEdit || onDelete ? [ - { - id: 'actions', - header: 'Ações', - cell: ({ row }: any) => ( -
- {onEdit && ( - - )} - {onDelete && ( - - )} -
- ), - } as ColumnDef, - ] + { + id: 'actions', + header: 'Ações', + cell: ({ row }: any) => ( +
+ {onEdit && ( + + )} + {onDelete && ( + + )} +
+ ), + } as ColumnDef, + ] : []), ], state: { diff --git a/src/shared/components/dataTable/interfaces/DataTableInterface.ts b/src/shared/components/dataTable/interfaces/DataTableInterface.ts new file mode 100644 index 0000000..5e51a64 --- /dev/null +++ b/src/shared/components/dataTable/interfaces/DataTableInterface.ts @@ -0,0 +1,12 @@ +import { ColumnDef } from "@tanstack/react-table"; + +// Tipagem genérica +export default interface DataTableInterface { + data?: TData[] | null; + columns: ColumnDef[]; + filterColumn?: string; + filterPlaceholder?: string; + onEdit?: (item: TData) => void; + onDelete?: (item: TData) => void; + onRowClick?: (item: TData) => void; +} \ No newline at end of file diff --git a/src/shared/components/loadingButton/LoadingButton.tsx b/src/shared/components/loadingButton/LoadingButton.tsx index c5db402..bbc5a11 100644 --- a/src/shared/components/loadingButton/LoadingButton.tsx +++ b/src/shared/components/loadingButton/LoadingButton.tsx @@ -4,7 +4,7 @@ import { forwardRef } from 'react'; import { Button } from '@/components/ui/button'; import { Loader2 } from 'lucide-react'; import clsx from 'clsx'; -import LoadingButtonProps from './LoadingButtonProps'; +import LoadingButtonProps from './LoadingButtonInterface'; const LoadingButton = forwardRef( ({ text, textLoading, loading = false, className, disabled, ...props }, ref) => { diff --git a/src/shared/components/loadingButton/LoadingButtonProps.ts b/src/shared/components/loadingButton/LoadingButtonInterface.ts similarity index 54% rename from src/shared/components/loadingButton/LoadingButtonProps.ts rename to src/shared/components/loadingButton/LoadingButtonInterface.ts index 72d704e..d6bb9d3 100644 --- a/src/shared/components/loadingButton/LoadingButtonProps.ts +++ b/src/shared/components/loadingButton/LoadingButtonInterface.ts @@ -1,6 +1,6 @@ import { Button } from '@/components/ui/button'; -export default interface LoadingButtonProps extends React.ComponentProps { +export default interface LoadingButtonInterface extends React.ComponentProps { text: string; textLoading: string; loading?: boolean;