= 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-fill', // @icon('timer-fill')
'pending' => 'pause-fill', // @icon('pause-fill')
'running' => 'loader-fill', // @icon('loader-fill')
'canceled' => 'forbid-fill', // @icon('forbid-fill')
'failed' => 'close-fill', // @icon('close-fill')
'passed' => 'check-fill', // @icon('check-fill')
];
$pillIconClassMap = [
'queued' => '',
'pending' => '',
'running' => 'animate-spin',
'canceled' => '',
'failed' => '',
'passed' => '',
];
$errorHint = $importTask->status === TaskStatus::Failed ? '
{$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 '