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.
+
+
+ )}
+
+
+ );
+}