@php
    /** @var ?\App\Models\ManagedEnvironment $tenant */
    /** @var \Illuminate\Support\Collection<int, \App\Models\OperationRun> $runs */
    /** @var string $operationsIndexUrl */
    /** @var string $operationsIndexLabel */
    /** @var string $operationsIndexDescription */
@endphp

<x-filament::section heading="Recent operations">
    @if ($runs->isEmpty())
        <div class="text-sm text-gray-500 dark:text-gray-400">
            No operations yet.
        </div>
    @else
        <ul class="divide-y divide-gray-100 dark:divide-gray-800">
            @foreach ($runs as $run)
                @php
                    $statusSpec = \App\Support\Badges\BadgeRenderer::spec(
                        \App\Support\Badges\BadgeDomain::OperationRunStatus,
                        [
                            'status' => (string) $run->status,
                            'freshness_state' => $run->freshnessState()->value,
                        ],
                    );
                    $outcomeSpec = \App\Support\Badges\BadgeRenderer::spec(
                        \App\Support\Badges\BadgeDomain::OperationRunOutcome,
                        [
                            'outcome' => (string) $run->outcome,
                            'status' => (string) $run->status,
                            'freshness_state' => $run->freshnessState()->value,
                        ],
                    );
                    $lifecycleAttention = \App\Support\OpsUx\OperationUxPresenter::lifecycleAttentionSummary($run);
                    $guidance = \App\Support\OpsUx\OperationUxPresenter::surfaceGuidance($run);
                @endphp
                <li class="flex items-center justify-between gap-3 py-2">
                    <div class="min-w-0">
                        <div class="truncate text-sm font-medium">
                            {{ \App\Support\OperationCatalog::label((string) $run->type) }}
                        </div>

                        <div class="mt-1 flex flex-wrap items-center gap-2">
                            <x-filament::badge :color="$statusSpec->color" size="sm">
                                {{ $statusSpec->label }}
                            </x-filament::badge>
                            <x-filament::badge :color="$outcomeSpec->color" size="sm">
                                {{ $outcomeSpec->label }}
                            </x-filament::badge>
                            @if ($lifecycleAttention)
                                <span class="inline-flex items-center rounded-full border border-warning-200 bg-warning-50 px-2 py-0.5 text-xs font-medium text-warning-800 dark:border-warning-600/40 dark:bg-warning-500/10 dark:text-warning-100">
                                    {{ $lifecycleAttention }}
                                </span>
                            @endif
                        </div>

                        <div class="mt-1 text-xs text-gray-500 dark:text-gray-400">
                            {{ $run->created_at?->diffForHumans() ?? '—' }}
                        </div>

                        @if ($guidance)
                            <div class="mt-1 text-xs text-gray-600 dark:text-gray-300">
                                {{ $guidance }}
                            </div>
                        @endif
                    </div>

                    <div class="shrink-0">
                        <a
                            href="{{ \App\Support\OperationRunLinks::tenantlessView($run) }}"
                            class="text-sm font-medium text-primary-600 hover:text-primary-500 dark:text-primary-400 dark:hover:text-primary-300"
                        >
                            Open operation
                        </a>
                    </div>
                </li>
            @endforeach
        </ul>

        @if (! empty($operationsIndexUrl))
            <div class="mt-4 border-t border-gray-200 pt-3 dark:border-gray-800">
                <div class="text-xs text-gray-500 dark:text-gray-400">
                    {{ $operationsIndexDescription }}
                </div>

                <a
                    href="{{ $operationsIndexUrl }}"
                    class="mt-2 inline-flex items-center gap-2 text-xs font-medium text-primary-600 hover:text-primary-500 dark:text-primary-400 dark:hover:text-primary-300"
                >
                    {{ $operationsIndexLabel }}
                </a>
            </div>
        @endif
    @endif
</x-filament::section>
