Step 2

{{ $editingQuestionId ? 'Edit Soal' : 'Question Builder' }}

Lengkapi soal, pilih passage/audio group terkait, tentukan opsi, dan biarkan urutan kosong jika ingin nomor otomatis.

@if ($editingQuestionId) @endif
@error('question_section_id')

{{ $message }}

@enderror
@error('question_passage_id')

{{ $message }}

@enderror
@php($activeQuestionSection = collect($sections)->firstWhere('id', (int) $question_section_id))
@error('question_text')

{{ $message }}

@enderror @if ($activeQuestionSection?->code === 'listening')

Untuk official test, prompt ini disimpan untuk author/reviewer tetapi tidak ditampilkan ke peserta.

@endif
@if ($activeQuestionSection?->code === 'reading')
@error('question_type')

{{ $message }}

@enderror
@endif

Nomor harus unik dalam section. Kosongkan agar sistem memakai nomor berikutnya.

@error('question_order')

{{ $message }}

@enderror
@error('correct_option_label')

{{ $message }}

@enderror

Opsional. Untuk audio master, cukup hubungkan ke Passage/Audio Group.

@error('question_audio')

{{ $message }}

@enderror
@if ($activeQuestionSection?->code === 'listening')

Cue Audio Soal

Isi waktu mulai dan akhir sesuai timeline audio paket ini.

MM:SS / HH:MM:SS
@error('question_audio_start')

{{ $message }}

@enderror
@error('question_audio_end')

{{ $message }}

@enderror
@error('question_audio_cue_label')

{{ $message }}

@enderror

Listening Editorial Guidance

Part Aktif

{{ $listeningEditorialGuidance['label'] }}

Fokus

{{ $listeningEditorialGuidance['focus'] }}

Target Soal

{{ $listeningEditorialGuidance['recommended_range'] }}

{{ $listeningEditorialGuidance['note'] }}

@endif @if ($activeQuestionSection?->code === 'reading')

Reading Editorial Guidance

Kategori

{{ $readingEditorialGuidance['label'] }}

Fokus

{{ $readingEditorialGuidance['focus'] }}

Target

{{ $readingEditorialGuidance['recommended_range'] }}

{{ $readingEditorialGuidance['note'] }}

@endif

Pilihan Jawaban

Isi opsi A-D dengan distraktor yang wajar dan satu jawaban benar.

Correct: {{ $correct_option_label }}
@foreach (['A', 'B', 'C', 'D'] as $label)
@error("option_contents.$label")

{{ $message }}

@enderror
@endforeach

Pastikan passage/audio group sudah dipilih sebelum menyimpan soal Listening atau Reading.