@php /** @var array|null $summaryAssessment */ $summary = is_array($summaryAssessment ?? null) ? $summaryAssessment : null; $summaryState = (string) ($summary['stateFamily'] ?? 'unavailable'); $summaryTone = (string) ($summary['tone'] ?? 'gray'); $findingsCount = (int) ($summary['findingsVisibleCount'] ?? 0); $highSeverityCount = (int) ($summary['highSeverityCount'] ?? 0); $nextAction = is_array($summary['nextAction'] ?? null) ? $summary['nextAction'] : ['label' => 'Review baseline compare', 'target' => 'none']; $summaryLabel = match ($summaryState) { 'positive' => 'Aligned', 'caution' => 'Needs review', 'stale' => 'Refresh recommended', 'action_required' => 'Action required', 'in_progress' => 'In progress', default => 'Unavailable', }; [$cardClasses, $iconClasses, $textClasses] = match ($summaryTone) { 'success' => [ 'rounded-lg border border-success-300 bg-success-50 p-4 dark:border-success-700 dark:bg-success-950/40', 'h-5 w-5 shrink-0 text-success-600 dark:text-success-400', 'text-success-900 dark:text-success-100', ], 'danger' => [ 'rounded-lg border border-danger-300 bg-danger-50 p-4 dark:border-danger-700 dark:bg-danger-950/40', 'h-5 w-5 shrink-0 text-danger-600 dark:text-danger-400', 'text-danger-900 dark:text-danger-100', ], 'info' => [ 'rounded-lg border border-info-300 bg-info-50 p-4 dark:border-info-700 dark:bg-info-950/40', 'h-5 w-5 shrink-0 text-info-600 dark:text-info-400', 'text-info-900 dark:text-info-100', ], 'warning' => [ 'rounded-lg border border-warning-300 bg-warning-50 p-4 dark:border-warning-700 dark:bg-warning-950/40', 'h-5 w-5 shrink-0 text-warning-600 dark:text-warning-400', 'text-warning-900 dark:text-warning-100', ], default => [ 'rounded-lg border border-gray-200 bg-gray-50 p-4 dark:border-gray-800 dark:bg-white/5', 'h-5 w-5 shrink-0 text-gray-500 dark:text-gray-400', 'text-gray-900 dark:text-white', ], }; $summaryIcon = match ($summaryState) { 'positive' => 'heroicon-o-check-circle', 'action_required' => 'heroicon-o-exclamation-triangle', 'in_progress' => 'heroicon-o-arrow-path', 'stale' => 'heroicon-o-clock', default => 'heroicon-o-information-circle', }; @endphp @if ($landingUrl) Details @endif @if (! $hasAssignment)
No Baseline Assigned
Assign a baseline profile to start monitoring drift.
@elseif ($summary)
Baseline: {{ $profileName }}
@if ($lastComparedAt)
{{ $lastComparedAt }}
@endif
{{ $summaryLabel }} @if ($findingsCount > 0) {{ $findingsCount }} {{ Str::plural('finding', $findingsCount) }} @endif @if ($highSeverityCount > 0) {{ $highSeverityCount }} high severity @endif
{{ $summary['headline'] }}
@if (filled($summary['supportingMessage'] ?? null))
{{ $summary['supportingMessage'] }}
@endif
@if (filled($nextActionUrl)) {{ $nextAction['label'] }} @elseif (filled($nextAction['label'] ?? null))
{{ $nextAction['label'] }}
@endif
@endif