Automated PR provided by Codex via Gitea API. Co-authored-by: Ahmed Darrazi <ahmed.darrazi@live.de> Reviewed-on: #485
107 lines
5.2 KiB
PHP
107 lines
5.2 KiB
PHP
<x-filament-panels::page>
|
|
@php
|
|
$environment = $this->environment();
|
|
$summary = $this->readinessSummary();
|
|
$readiness = \App\Support\Badges\BadgeRenderer::spec(
|
|
\App\Support\Badges\BadgeDomain::CoverageV2Readiness,
|
|
$summary['readiness_state'] ?? 'unknown',
|
|
);
|
|
$summaryCounts = [
|
|
'Resource types' => $summary['resource_types_total'] ?? 0,
|
|
'Resources' => $summary['resources_total'] ?? 0,
|
|
'Content backed' => $summary['content_backed_count'] ?? 0,
|
|
'Activation blockers' => $summary['activation_blocker_count'] ?? 0,
|
|
];
|
|
$hasResourceInstances = ((int) ($summary['resources_total'] ?? 0)) > 0;
|
|
@endphp
|
|
|
|
<x-filament::section>
|
|
<div class="min-w-0 space-y-5">
|
|
<div class="flex flex-col gap-4 border-l-4 border-gray-300 pl-4 dark:border-white/20 sm:flex-row sm:items-start sm:justify-between">
|
|
<div class="min-w-0 space-y-1">
|
|
<div class="text-sm font-semibold text-gray-950 dark:text-white">
|
|
Activation readiness
|
|
</div>
|
|
<div class="text-xs text-gray-500 dark:text-gray-400">
|
|
Internal operator-only view for {{ $environment->name }} in {{ $environment->workspace?->name ?? 'Workspace' }}. No customer-facing Coverage v2 proof is activated.
|
|
</div>
|
|
</div>
|
|
|
|
<x-filament::badge :color="$readiness->color" :icon="$readiness->icon">
|
|
{{ $readiness->label }}
|
|
</x-filament::badge>
|
|
</div>
|
|
|
|
<dl class="grid gap-3 md:grid-cols-2">
|
|
<div class="min-w-0 border-l border-gray-200 pl-3 dark:border-white/10">
|
|
<dt class="text-xs font-medium text-gray-500 dark:text-gray-400">
|
|
Reason
|
|
</dt>
|
|
<dd class="mt-1 break-words text-sm text-gray-950 dark:text-white">
|
|
{{ $summary['readiness_reason'] ?? 'Coverage v2 readiness has not been evaluated.' }}
|
|
</dd>
|
|
</div>
|
|
|
|
<div class="min-w-0 border-l border-gray-200 pl-3 dark:border-white/10">
|
|
<dt class="text-xs font-medium text-gray-500 dark:text-gray-400">
|
|
Next step
|
|
</dt>
|
|
<dd class="mt-1 break-words text-sm text-gray-950 dark:text-white">
|
|
{{ $summary['readiness_next_step'] ?? 'Inspect Coverage v2 readiness details before cutover planning.' }}
|
|
</dd>
|
|
</div>
|
|
</dl>
|
|
|
|
<div class="grid gap-3 sm:grid-cols-2 xl:grid-cols-4">
|
|
@foreach ($summaryCounts as $label => $value)
|
|
<div class="min-w-0 border-l border-gray-200 pl-3 dark:border-white/10">
|
|
<div class="break-words text-xs font-medium text-gray-500 dark:text-gray-400">
|
|
{{ $label }}
|
|
</div>
|
|
<div class="mt-1 text-xl font-semibold text-gray-950 dark:text-white">
|
|
{{ $value }}
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
|
|
@if (($summary['top_blockers'] ?? []) !== [])
|
|
<div class="space-y-2">
|
|
<div class="text-xs font-medium text-gray-500 dark:text-gray-400">
|
|
Top activation blockers
|
|
</div>
|
|
<div class="flex flex-wrap gap-2">
|
|
@foreach ($summary['top_blockers'] as $blocker)
|
|
<x-filament::badge color="warning" icon="heroicon-m-exclamation-triangle">
|
|
{{ $blocker['label'] }}: {{ $blocker['count'] }}
|
|
</x-filament::badge>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
@endif
|
|
</div>
|
|
</x-filament::section>
|
|
|
|
@if ($hasResourceInstances)
|
|
<div class="min-w-0 overflow-x-auto pb-1">
|
|
@livewire(\App\Filament\Widgets\TenantConfiguration\CoverageV2ResourceTypesTable::class, [], key('coverage-v2-resource-types-' . ($this->environmentId ?? 'none')))
|
|
</div>
|
|
|
|
<div class="min-w-0 overflow-x-auto pb-1">
|
|
@livewire(\App\Filament\Widgets\TenantConfiguration\CoverageV2ResourceInstancesTable::class, [
|
|
'environmentId' => $this->environmentId,
|
|
], key('coverage-v2-resource-instances-' . ($this->environmentId ?? 'none')))
|
|
</div>
|
|
@else
|
|
<div class="min-w-0 overflow-x-auto pb-1">
|
|
@livewire(\App\Filament\Widgets\TenantConfiguration\CoverageV2ResourceInstancesTable::class, [
|
|
'environmentId' => $this->environmentId,
|
|
], key('coverage-v2-resource-instances-' . ($this->environmentId ?? 'none')))
|
|
</div>
|
|
|
|
<div class="min-w-0 overflow-x-auto pb-1">
|
|
@livewire(\App\Filament\Widgets\TenantConfiguration\CoverageV2ResourceTypesTable::class, [], key('coverage-v2-resource-types-' . ($this->environmentId ?? 'none')))
|
|
</div>
|
|
@endif
|
|
</x-filament-panels::page>
|