@php
$summary = is_array($summary ?? null) ? $summary : [];
$buckets = is_array($buckets ?? null) ? $buckets : [];
$detailState = is_string($summary['detail_state'] ?? null) ? $summary['detail_state'] : 'no_gaps';
$structuralCount = is_numeric($summary['structural_count'] ?? null) ? (int) $summary['structural_count'] : 0;
$operationalCount = is_numeric($summary['operational_count'] ?? null) ? (int) $summary['operational_count'] : 0;
$transientCount = is_numeric($summary['transient_count'] ?? null) ? (int) $summary['transient_count'] : 0;
$tableContext = is_string($searchId ?? null) && $searchId !== '' ? $searchId : 'evidence-gap-search';
@endphp
@if ($detailState === 'legacy_broad_reason')
@if ($detailState === 'structured_details_recorded' && ($structuralCount > 0 || $operationalCount > 0 || $transientCount > 0))
{{ __('baseline-compare.evidence_gap_structural', ['count' => $structuralCount]) }}
{{ __('baseline-compare.evidence_gap_operational', ['count' => $operationalCount]) }}
{{ __('baseline-compare.evidence_gap_transient', ['count' => $transientCount]) }}
@endif
@if ($detailState === 'details_not_recorded')
{{ __('baseline-compare.evidence_gap_missing_details_title') }}
{{ __('baseline-compare.evidence_gap_missing_details_body') }}
@endif
@foreach ($buckets as $bucket)
@php
$reasonLabel = is_string($bucket['reason_label'] ?? null) ? $bucket['reason_label'] : 'Evidence gap';
$count = is_numeric($bucket['count'] ?? null) ? (int) $bucket['count'] : 0;
$recordedCount = is_numeric($bucket['recorded_count'] ?? null) ? (int) $bucket['recorded_count'] : 0;
$missingDetailCount = is_numeric($bucket['missing_detail_count'] ?? null) ? (int) $bucket['missing_detail_count'] : 0;
@endphp
{{ $reasonLabel }}
{{ __('baseline-compare.evidence_gap_bucket_help') }}
{{ __('baseline-compare.evidence_gap_reason_affected', ['count' => $count]) }}
{{ __('baseline-compare.evidence_gap_reason_recorded', ['count' => $recordedCount]) }}
@if ($missingDetailCount > 0)
{{ __('baseline-compare.evidence_gap_reason_missing_detail', ['count' => $missingDetailCount]) }}
@endif
@if ((int) ($bucket['structural_count'] ?? 0) > 0)
{{ __('baseline-compare.evidence_gap_bucket_structural', ['count' => (int) $bucket['structural_count']]) }}
@endif
@if ((int) ($bucket['operational_count'] ?? 0) > 0)
{{ __('baseline-compare.evidence_gap_bucket_operational', ['count' => (int) $bucket['operational_count']]) }}
@endif
@if ((int) ($bucket['transient_count'] ?? 0) > 0)
{{ __('baseline-compare.evidence_gap_bucket_transient', ['count' => (int) $bucket['transient_count']]) }}
@endif
@if ($missingDetailCount > 0)
{{ __('baseline-compare.evidence_gap_missing_reason_body', ['count' => $missingDetailCount]) }}
@endif
@endforeach
{{ __('baseline-compare.evidence_gap_search_label') }}
{{ __('baseline-compare.evidence_gap_search_help') }}
@livewire(
\App\Livewire\BaselineCompareEvidenceGapTable::class,
[
'buckets' => $buckets,
'context' => $tableContext,
],
key('baseline-compare-evidence-gap-table-'.$tableContext)
)
@endif