@php $report = isset($getState) ? $getState() : ($report ?? null); $report = is_array($report) ? $report : null; $run = $run ?? null; $run = is_array($run) ? $run : null; $fingerprint = $fingerprint ?? null; $fingerprint = is_string($fingerprint) && trim($fingerprint) !== '' ? trim($fingerprint) : null; $changeIndicator = $changeIndicator ?? null; $changeIndicator = is_array($changeIndicator) ? $changeIndicator : null; $previousRunUrl = $previousRunUrl ?? null; $previousRunUrl = is_string($previousRunUrl) && $previousRunUrl !== '' ? $previousRunUrl : null; $acknowledgements = $acknowledgements ?? []; $acknowledgements = is_array($acknowledgements) ? $acknowledgements : []; $summary = $report['summary'] ?? null; $summary = is_array($summary) ? $summary : null; $counts = is_array($summary['counts'] ?? null) ? $summary['counts'] : []; $checks = $report['checks'] ?? null; $checks = is_array($checks) ? $checks : []; $ackByKey = []; foreach ($acknowledgements as $checkKey => $ack) { if (! is_string($checkKey) || $checkKey === '' || ! is_array($ack)) { continue; } $ackByKey[$checkKey] = $ack; } $blockers = []; $failures = []; $warnings = []; $acknowledgedIssues = []; $passed = []; foreach ($checks as $check) { $check = is_array($check) ? $check : []; $key = $check['key'] ?? null; $key = is_string($key) ? trim($key) : ''; if ($key === '') { continue; } $statusValue = $check['status'] ?? null; $statusValue = is_string($statusValue) ? strtolower(trim($statusValue)) : ''; $blocking = $check['blocking'] ?? false; $blocking = is_bool($blocking) ? $blocking : false; if (array_key_exists($key, $ackByKey)) { $acknowledgedIssues[] = $check; continue; } if ($statusValue === 'pass') { $passed[] = $check; continue; } if ($statusValue === 'fail' && $blocking) { $blockers[] = $check; continue; } if ($statusValue === 'fail') { $failures[] = $check; continue; } if ($statusValue === 'warn') { $warnings[] = $check; } } $sortChecks = static function (array $a, array $b): int { return strcmp((string) ($a['key'] ?? ''), (string) ($b['key'] ?? '')); }; usort($blockers, $sortChecks); usort($failures, $sortChecks); usort($warnings, $sortChecks); usort($acknowledgedIssues, $sortChecks); usort($passed, $sortChecks); @endphp