import { DataTable } from "@/src/components/table/data-table"; import { type LangfuseColumnDef } from "@/src/components/table/types"; import { api } from "@/src/utils/api"; import { safeExtract } from "@/src/utils/map-utils"; import { type BatchExport } from "@langfuse/shared"; import { StatusBadge } from "@/src/components/layouts/status-badge"; import { NumberParam, useQueryParams, withDefault } from "use-query-params"; import { ActionButton } from "@/src/components/ActionButton"; import { DownloadIcon, InfoIcon } from "lucide-react"; import { Avatar, AvatarImage } from "@/src/components/ui/avatar"; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, } from "@/src/components/ui/tooltip"; export function BatchExportsTable(props: { projectId: string }) { const [paginationState, setPaginationState] = useQueryParams({ pageIndex: withDefault(NumberParam, 0), pageSize: withDefault(NumberParam, 10), }); const batchExports = api.batchExport.all.useQuery({ projectId: props.projectId, limit: paginationState.pageSize, page: paginationState.pageIndex, }); const columns = [ { accessorKey: "name", id: "name", header: "Name", size: 200, cell: ({ row }) => { const name = row.getValue("name") as string; const { createdAt, finishedAt } = row.original; return (