= data_table( [ [ 'header' => lang('PodcastImport.queue.status.label'), 'cell' => function (PodcastImportTask $importTask) { $pillVariantMap = [ 'queued' => 'default', 'pending' => 'warning', 'running' => 'primary', 'canceled' => 'default', 'failed' => 'danger', 'passed' => 'success', ]; $pillIconMap = [ 'queued' => 'timer', 'pending' => 'pause', 'running' => 'loader', 'canceled' => 'forbid', 'failed' => 'close', 'passed' => 'check', ]; $pillIconClassMap = [ 'queued' => '', 'pending' => '', 'running' => 'animate-spin', 'canceled' => '', 'failed' => '', 'passed' => '', ]; $errorHint = $importTask->status === TaskStatus::Failed ? hint_tooltip($importTask->error, 'ml-1') : ''; return '
{$importTask->episodes_imported} out of {$importTask->episodes_count} {$moreInfoHelper}
HTML; } return '-'; }, ], [ 'header' => lang('Common.list.actions'), 'cell' => function (PodcastImportTask $importTask) { $menuItems = [ [ 'type' => 'separator', ], [ 'type' => 'link', 'title' => lang('PodcastImport.queue.actions.delete'), 'uri' => route_to('podcast-imports-task-action', $importTask->id, 'delete'), 'class' => 'font-semibold text-red-600', ], ]; if ($importTask->status === TaskStatus::Running || $importTask->status === TaskStatus::Queued) { array_unshift($menuItems, [ 'type' => 'link', 'title' => lang('PodcastImport.queue.actions.cancel'), 'uri' => route_to('podcast-imports-task-action', $importTask->id, 'cancel'), ]); } else { array_unshift($menuItems, [ 'type' => 'link', 'title' => lang('PodcastImport.queue.actions.retry'), 'uri' => route_to('podcast-imports-task-action', $importTask->id, 'retry'), ], ); } return '