AI & workflows
Ai Loop Status Badge code
Copy the implementation or inspect every file that belongs to this component unit.
resources/views/components/ui/ai-loop-status-badge.blade.php
@props([
'status' => 'idle',
'size' => 'sm',
'count' => null,
'summary' => false,
])
@php
/*
| Status pill for agent loops and iteration timelines.
|
| Variants are chosen so adjacent states read clearly: blue = active,
| amber = waiting, green = finished, red = failed, gray = idle.
|
| Usage:
| <x-ui.ai-loop-status-badge status="running" />
| <x-ui.ai-loop-status-badge status="completed" :count="2" summary />
*/
$statuses = [
'idle' => ['label' => 'Idle', 'summary' => 'Idle', 'plural' => 'idle', 'variant' => 'gray'],
'pending' => ['label' => 'Pending', 'summary' => 'Pending', 'plural' => 'pending', 'variant' => 'gray'],
'running' => ['label' => 'Running', 'summary' => 'Running', 'plural' => 'running', 'variant' => 'blue'],
'paused' => ['label' => 'Paused', 'summary' => 'Paused', 'plural' => 'paused', 'variant' => 'amber'],
'partial' => ['label' => 'Partial', 'summary' => 'Partial', 'plural' => 'partial', 'variant' => 'brand'],
'completed' => ['label' => 'Completed', 'summary' => 'Done', 'plural' => 'done', 'variant' => 'green'],
'complete' => ['label' => 'Complete', 'summary' => 'Done', 'plural' => 'done', 'variant' => 'green'],
'failed' => ['label' => 'Failed', 'summary' => 'Failed', 'plural' => 'failed', 'variant' => 'red'],
];
$config = $statuses[$status] ?? $statuses['idle'];
$label = match (true) {
$count !== null && $count > 1 => $count.' '.$config['plural'],
$summary => $config['summary'],
default => $config['label'],
};
@endphp
<x-ui.badge :variant="$config['variant']" :size="$size" {{ $attributes }}>
{{ $label }}
</x-ui.badge>