{{ __('pdf.page_results.main_errors') }}
@if(count($page['groupedIssues']) > 0)-
@php
// Riordina gli errori per gravità e occorrenze prima di visualizzarli
// Questo garantisce l'ordinamento corretto anche per dati dal database
$sortedIssues = $page['groupedIssues'];
uasort($sortedIssues, function($a, $b) {
// Prima per gravità
$severityOrder = [
'alta' => 1, 'high' => 1,
'media' => 2, 'medium' => 2,
'bassa' => 3, 'low' => 3,
'trascurabile' => 4, 'negligible' => 4
];
$aSeverity = strtolower($a['severity'] ?? 'bassa');
$bSeverity = strtolower($b['severity'] ?? 'bassa');
$aOrder = isset($severityOrder[$aSeverity]) ? $severityOrder[$aSeverity] : 5;
$bOrder = isset($severityOrder[$bSeverity]) ? $severityOrder[$bSeverity] : 5;
if ($aOrder !== $bOrder) {
return $aOrder <=> $bOrder;
}
// Poi per conteggio (dal più frequente al meno frequente)
return ($b['count'] ?? 0) <=> ($a['count'] ?? 0);
});
$displayCount = min(8, count($sortedIssues));
$remainingCount = count($sortedIssues) - $displayCount;
@endphp
@foreach(array_slice($sortedIssues, 0, $displayCount, true) as $issue => $data)
@php
$severityLower = strtolower($data['severity']);
$severityClass = 'error-low';
if (strpos($severityLower, 'alta') !== false || strpos($severityLower, 'high') !== false) {
$severityClass = 'error-high';
} elseif (strpos($severityLower, 'media') !== false || strpos($severityLower, 'medium') !== false) {
$severityClass = 'error-medium';
} elseif (strpos($severityLower, 'bassa') !== false || strpos($severityLower, 'low') !== false) {
$severityClass = 'error-low';
} elseif (strpos($severityLower, 'trascurabile') !== false || strpos($severityLower, 'negligible') !== false) {
$severityClass = 'error-negligible';
}
@endphp
- {{ stripslashes(html_entity_decode($data['detail'])) }} @if($data['count'] > 1) x{{ $data['count'] }} @endif @endforeach @if($remainingCount > 0)
- {{ __('pdf.page_results.more_errors', ['count' => $remainingCount]) }} @endif
{{ __('pdf.page_results.no_issues') }}
@endif