import { ColumnDef } from '@tanstack/react-table'; import { Server } from '@/types/server'; import { Link } from '@inertiajs/react'; import DateTime from '@/components/date-time'; import { Site } from '@/types/site'; import { Badge } from '@/components/ui/badge'; import { Button } from '@/components/ui/button'; import { EyeIcon } from 'lucide-react'; export default function getColumns(server?: Server): ColumnDef[] { let columns: ColumnDef[] = [ { accessorKey: 'id', header: 'ID', enableColumnFilter: true, enableSorting: true, enableHiding: true, }, { accessorKey: 'domain', header: 'Domain', enableColumnFilter: true, enableSorting: true, }, { accessorKey: 'type', header: 'Type', enableColumnFilter: true, enableSorting: true, cell: ({ row }) => { return {row.original.type}; }, }, { accessorKey: 'created_at', header: 'Created at', enableColumnFilter: true, enableSorting: true, cell: ({ row }) => { return ; }, }, { accessorKey: 'status', header: 'Status', enableColumnFilter: true, enableSorting: true, cell: ({ row }) => { return {row.original.status}; }, }, { id: 'actions', enableColumnFilter: false, enableSorting: false, cell: ({ row }) => { return (
); }, }, ]; if (!server) { // add column to the first columns = [ { id: 'server', header: 'Server', cell: ({ row }) => { return ( {row.original.server?.name} ); }, }, ...columns, ]; } return columns; }