'use client' import { Pencil } from 'lucide-react' import Link from 'next/link' import { DataTable } from '@/components/admin/data-table' import { Badge } from '@/components/ui/badge' import { Button } from '@/components/ui/button' import type { DataTableColumn, PaginatedResult } from '@/types' interface EventRow { id: number title: string typeName: string typeColor: string startsAt: Date endsAt: Date | null status: string hostUserId: number } const statusVariants: Record = { published: 'default', draft: 'secondary', cancelled: 'destructive', completed: 'outline', } function getColumns(): DataTableColumn[] { return [ { key: 'id', label: 'ID', sortable: true }, { key: 'title', label: 'Title', sortable: true, render: (value) => {String(value)}, }, { key: 'typeName', label: 'Type', sortable: false, render: (_, row) => ( {row.typeName} ), }, { key: 'startsAt', label: 'Starts', sortable: true, render: (value) => ( {new Date(value as unknown as string).toLocaleString()} ), }, { key: 'status', label: 'Status', sortable: true, render: (value) => ( {String(value)} ), }, { key: 'actions', label: 'Actions', render: (_, row) => ( ), }, ] } interface EventsTableProps { data: PaginatedResult } export function EventsTable({ data }: EventsTableProps) { return }