mirror of
https://github.com/fosrl/pangolin.git
synced 2025-08-01 08:34:53 +02:00
56 lines
1.3 KiB
TypeScript
56 lines
1.3 KiB
TypeScript
"use client";
|
|
|
|
import {
|
|
ColumnDef,
|
|
flexRender,
|
|
getCoreRowModel,
|
|
useReactTable,
|
|
getPaginationRowModel,
|
|
SortingState,
|
|
getSortedRowModel,
|
|
ColumnFiltersState,
|
|
getFilteredRowModel
|
|
} from "@tanstack/react-table";
|
|
|
|
import {
|
|
Table,
|
|
TableBody,
|
|
TableCell,
|
|
TableContainer,
|
|
TableHead,
|
|
TableHeader,
|
|
TableRow
|
|
} from "@/components/ui/table";
|
|
import { Button } from "@app/components/ui/button";
|
|
import { useState } from "react";
|
|
import { Input } from "@app/components/ui/input";
|
|
import { DataTablePagination } from "@app/components/DataTablePagination";
|
|
import { Plus, Search } from "lucide-react";
|
|
import { DataTable } from "@app/components/ui/data-table";
|
|
import { useTranslations } from "next-intl";
|
|
|
|
interface DataTableProps<TData, TValue> {
|
|
columns: ColumnDef<TData, TValue>[];
|
|
data: TData[];
|
|
addApiKey?: () => void;
|
|
}
|
|
|
|
export function ApiKeysDataTable<TData, TValue>({
|
|
addApiKey,
|
|
columns,
|
|
data
|
|
}: DataTableProps<TData, TValue>) {
|
|
|
|
const t = useTranslations();
|
|
return (
|
|
<DataTable
|
|
columns={columns}
|
|
data={data}
|
|
title={t('apiKeys')}
|
|
searchPlaceholder={t('searchApiKeys')}
|
|
searchColumn="name"
|
|
onAdd={addApiKey}
|
|
addButtonText={t('apiKeysAdd')}
|
|
/>
|
|
);
|
|
}
|