diff --git a/frontend/src/components/db-table-view/data-table.tsx b/frontend/src/components/db-table-view/data-table.tsx index cb7b91c..b8b8bba 100644 --- a/frontend/src/components/db-table-view/data-table.tsx +++ b/frontend/src/components/db-table-view/data-table.tsx @@ -1,3 +1,4 @@ +import { TableView } from "@/components/db-table-view/table"; import { Button, DataTablePagination, @@ -6,12 +7,6 @@ import { DropdownMenuContent, DropdownMenuTrigger, FormInput, - Table, - TableBody, - TableCell, - TableHead, - TableHeader, - TableRow, Tooltip, } from "@/components/ui"; import { cn, isImageUrl, isUrl } from "@/lib/utils"; @@ -23,11 +18,10 @@ import { type PaginationState, type SortingState, type VisibilityState, - flexRender, getCoreRowModel, useReactTable, } from "@tanstack/react-table"; -import { ArrowUp, Info, Rows3, Search } from "lucide-react"; +import { Info, Rows3, Search } from "lucide-react"; import { useMemo, useState } from "react"; import { useForm } from "react-hook-form"; @@ -237,102 +231,7 @@ export const DataTable = ({
- - - {table.getHeaderGroups().map((headerGroup) => ( - - {headerGroup.headers.map((header) => { - const sorted = header.column.getIsSorted(); - - return ( - - -
header.column.resetSize(), - onMouseDown: header.getResizeHandler(), - onTouchStart: header.getResizeHandler(), - className: `resizer ${header.column.getIsResizing() ? "isResizing" : ""}`, - }} - /> - - ); - })} - - ))} - - - {table.getRowModel().rows?.length ? ( - table.getRowModel().rows.map((row) => ( - - {row.getVisibleCells().map((cell) => ( - - {flexRender( - cell.column.columnDef.cell, - cell.getContext(), - )} - - ))} - - )) - ) : ( - - - No results. - - - )} - -
+
diff --git a/frontend/src/components/db-table-view/table.tsx b/frontend/src/components/db-table-view/table.tsx new file mode 100644 index 0000000..8951dff --- /dev/null +++ b/frontend/src/components/db-table-view/table.tsx @@ -0,0 +1,110 @@ +import { + Button, + Table, + TableBody, + TableCell, + TableHead, + TableHeader, + TableRow, +} from "@/components/ui"; +import { cn } from "@/lib/utils"; +import { type Table as ReactTable, flexRender } from "@tanstack/react-table"; +import { ArrowUp } from "lucide-react"; + +export function TableView({ + table, + columnLength = 1, +}: { table: ReactTable; columnLength?: number }) { + return ( + + + {table.getHeaderGroups().map((headerGroup) => ( + + {headerGroup.headers.map((header) => { + const sorted = header.column.getIsSorted(); + + return ( + + +
header.column.resetSize(), + onMouseDown: header.getResizeHandler(), + onTouchStart: header.getResizeHandler(), + className: `resizer ${header.column.getIsResizing() ? "isResizing" : ""}`, + }} + /> + + ); + })} + + ))} + + + {table.getRowModel().rows?.length ? ( + table.getRowModel().rows.map((row) => ( + + {row.getVisibleCells().map((cell) => ( + + {flexRender(cell.column.columnDef.cell, cell.getContext())} + + ))} + + )) + ) : ( + + + No results. + + + )} + +
+ ); +}