import useJobsList from '@/hooks/useJobsList'; import Link from 'next/link'; import UniversalTable, { TableColumn } from '@/components/UniversalTable'; import { JobConfig } from '@/types'; import { Eye, Trash2, Pen, Play, Pause } from 'lucide-react'; import { Button } from '@headlessui/react'; import { openConfirm } from '@/components/ConfirmModal'; import { startJob, stopJob, deleteJob, getAvaliableJobActions } from '@/utils/jobs'; import JobActionBar from './JobActionBar'; interface JobsTableProps {} export default function JobsTable(props: JobsTableProps) { const { jobs, status, refreshJobs } = useJobsList(); const isLoading = status === 'loading'; const columns: TableColumn[] = [ { title: 'Name', key: 'name', render: row => ( {row.name} ), }, { title: 'Steps', key: 'steps', render: row => { const jobConfig: JobConfig = JSON.parse(row.job_config); const totalSteps = jobConfig.config.process[0].train.steps; return (