mirror of
https://github.com/fosrl/pangolin.git
synced 2025-08-03 01:24:58 +02:00
59 lines
1.4 KiB
TypeScript
59 lines
1.4 KiB
TypeScript
|
// This file is licensed under the Fossorial Commercial License.
|
||
|
// Unauthorized use, copying, modification, or distribution is strictly prohibited.
|
||
|
//
|
||
|
// Copyright (c) 2025 Fossorial LLC. All rights reserved.
|
||
|
|
||
|
"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";
|
||
|
|
||
|
interface DataTableProps<TData, TValue> {
|
||
|
columns: ColumnDef<TData, TValue>[];
|
||
|
data: TData[];
|
||
|
addApiKey?: () => void;
|
||
|
}
|
||
|
|
||
|
export function ApiKeysDataTable<TData, TValue>({
|
||
|
addApiKey,
|
||
|
columns,
|
||
|
data
|
||
|
}: DataTableProps<TData, TValue>) {
|
||
|
return (
|
||
|
<DataTable
|
||
|
columns={columns}
|
||
|
data={data}
|
||
|
title="API Keys"
|
||
|
searchPlaceholder="Search API keys..."
|
||
|
searchColumn="name"
|
||
|
onAdd={addApiKey}
|
||
|
addButtonText="Generate API Key"
|
||
|
/>
|
||
|
);
|
||
|
}
|