import { swrFetcher } from "@/api/api" import { Checkbox } from "@/components/ui/checkbox" import { ServiceCard } from "@/components/xui/service" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table" import { ModelService as Service } from "@/types" import { ColumnDef, flexRender, getCoreRowModel, useReactTable } from "@tanstack/react-table" import useSWR from "swr" export default function ServicePage() { const columns: ColumnDef[] = [ { id: "select", header: ({ table }) => ( table.toggleAllPageRowsSelected(!!value)} aria-label="Select all" /> ), cell: ({ row }) => ( row.toggleSelected(!!value)} aria-label="Select row" /> ), enableSorting: false, enableHiding: false, }, { header: "ID", accessorKey: "id", accessorFn: (row) => row.id, }, { header: "Name", accessorKey: "name", accessorFn: (row) => row.name, }, { header: "Type", accessorKey: "service.type", accessorFn: (row) => row.type, }, { id: "actions", header: "Actions", cell: ({ row }) => { const s = row.original return ( <>{s.id} ) }, }, ] const { data, error, isLoading } = useSWR('/api/v1/service', swrFetcher) const table = useReactTable({ data: data ?? [], columns, getCoreRowModel: getCoreRowModel(), }) return

Service

{table.getHeaderGroups().map((headerGroup) => ( {headerGroup.headers.map((header) => { return ( {header.isPlaceholder ? null : flexRender( header.column.columnDef.header, header.getContext() )} ) })} ))} {table.getRowModel().rows?.length ? ( table.getRowModel().rows.map((row) => ( {row.getVisibleCells().map((cell) => ( {flexRender(cell.column.columnDef.cell, cell.getContext())} ))} )) ) : ( No results. )}
}