"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 ; }