@if ($qualityEvaluation) @php($dashboard = $qualityEvaluation['dashboard'])

Authoring Quality Dashboard

Panel operasional untuk mengecek kesiapan paket sebelum dikirim review atau dipublish.

{{ $qualityEvaluation['canPublish'] ? 'Ready' : $qualityEvaluation['summary']['blocking'] . ' blocker' }}

Tanpa Kunci

{{ $dashboard['issue_counts']['without_correct_answer'] }}

Opsi Tidak Lengkap

{{ $dashboard['issue_counts']['without_four_options'] }}

Soal Audio Tanpa Cue

{{ $dashboard['issue_counts']['listening_questions_without_cue'] }}

Group Tanpa Cue

{{ $dashboard['issue_counts']['listening_groups_without_cue'] }}

Jumlah Soal per Section

@foreach ($dashboard['sections'] as $sectionMetric)

{{ $sectionMetric['name'] }}

{{ $sectionMetric['actual'] }}/{{ $sectionMetric['expected'] }}

{{ $sectionMetric['note'] }}

@endforeach

Listening Part A/B/C

@foreach ($dashboard['listening_parts'] as $partMetric)

{{ $partMetric['part'] }}

{{ $partMetric['actual'] }}/{{ $partMetric['expected'] }}

{{ $partMetric['groups'] }} audio group, {{ $partMetric['groups_without_cue'] }} group dan {{ $partMetric['questions_without_cue'] }} soal belum punya cue lengkap.

@endforeach

Duplicate Order

@forelse ($dashboard['duplicate_orders'] as $duplicate)

{{ $duplicate['section'] }}

Nomor {{ $duplicate['order'] }} dipakai {{ $duplicate['count'] }} kali.

@empty

Nomor soal aman

Tidak ada nomor ganda dalam section.

@endforelse

Reading Passage Coverage

{{ $dashboard['reading_passages']->count() }} passage
@forelse ($dashboard['reading_passages'] as $passageMetric)

{{ $passageMetric['title'] }}

{{ $passageMetric['questions'] }} soal terkait passage ini.

{{ str($passageMetric['status'])->title() }}
@foreach ($passageMetric['distribution'] as $label => $count) {{ $label }}: {{ $count }} @endforeach
@if ($passageMetric['missing_core']->isNotEmpty())

Belum ada: {{ $passageMetric['missing_core']->implode(', ') }}.

@endif
@empty
Belum ada passage reading pada paket ini.
@endforelse
@endif