@php
$total = $answers->count();
$correct = $answers->filter(fn($q) => $q->is_correct)->count();
$wrong = $answers->filter(fn($q) => !$q->is_correct && $q->selected_answer)->count();
$unattempted = $answers->filter(fn($q) => empty($q->selected_answer))->count();
@endphp
@foreach(['A', 'B', 'C', 'D'] as $letter)
@php
$optionText = $q->{"option_" . strtolower($letter)};
$isCorrect = $q->correct_answer == $letter;
$isSelectedWrong = $q->selected_answer == $letter && !$q->is_correct;
$highlightClass = $isCorrect ? 'highlight-correct' : ($isSelectedWrong ? 'highlight-wrong' : '');
@endphp
{{ $letter }}.
{{ $optionText }}
@if($isCorrect)
✓
@elseif($isSelectedWrong)
✗
@endif
@endforeach
@if($q->selected_answer)
🎯 Your Answer:
{{ $q->selected_answer }}
@else
⚠️ Your Answer: Not Attempted
@endif
✅ Correct Answer: {{ $q->correct_answer ?? 'N/A' }}
📝 Marks:
{{ $q->selected_answer ? $q->marks_obtained : '0.00' }}
@if($q->explanation)
@php
$explanation = $q->explanation;
// Format steps with numbers
$explanation = preg_replace('/Step(\s*\d+)/', '$1', $explanation);
// Format formulas between ** **
$explanation = preg_replace('/\*\*(.*?)\*\*/', '$1', $explanation);
// Highlight key terms
$explanation = preg_replace('/\b(Level\d+|Base address|Row-major|dimensions|offset|address)\b/', '$1', $explanation);
// Convert line breaks to paragraphs
$explanation = nl2br($explanation);
@endphp
{!! $explanation !!}
@else
No explanation provided
@endif