Step 1

{{ $editingPassageId ? 'Edit Passage / Audio Group' : 'Passage & Audio Group Builder' }}

Buat bacaan reading atau blok audio listening pendukung kelompok soal. Untuk Listening, satu file audio master bisa dipakai beberapa group dengan cue waktu berbeda.

@if ($editingPassageId) @endif
@php($activePassageSection = collect($sections)->firstWhere('id', (int) $passage_section_id))
@error('passage_section_id')

{{ $message }}

@enderror
@error('passage_title')

{{ $message }}

@enderror
@if ($selectedPackage) @php($existingComponents = $selectedPackage->passages->where('section_id', (int) $passage_section_id)->sortBy('order')->values())

Gunakan ini jika komponen sudah pernah dibuat. Setelah dipilih, Question Builder otomatis terhubung ke komponen tersebut.

@if ($selected_existing_passage_id !== '') @endif
@if ($existingComponents->isEmpty())
Belum ada komponen untuk section ini. Isi judul dan konten di bawah untuk membuat komponen pertama.
@endif
@endif @if ($activePassageSection?->code === 'listening')
Label ini membuat listening group resmi untuk engine TOEFL. Judul akan disimpan dengan format Part A/B/C - Judul Anda.
@error('passage_group_type')

{{ $message }}

@enderror
@error('passage_directions')

{{ $message }}

@enderror
@error('passage_target_question_count')

{{ $message }}

@enderror
@error('passage_media')

{{ $message }}

@enderror

Cue Audio Master

Jika satu file MP3 berisi Part A, Part B, dan Part C sekaligus, isi rentang waktu group ini. Format boleh detik, MM:SS, atau HH:MM:SS.

@error('passage_audio_start')

{{ $message }}

@enderror
@error('passage_audio_end')

{{ $message }}

@enderror
@error('passage_audio_cue_label')

{{ $message }}

@enderror
@endif @if (in_array($activePassageSection?->code, ['listening', 'reading'], true))
@error('passage_content')

{{ $message }}

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

Transcript ini hanya untuk author/reviewer, tidak ditampilkan kepada peserta.

@endif
@else
Untuk Structure/Written Expression, komponen cukup berupa judul/group editorial. Isi passage dan media tidak diperlukan.
@endif @if ($activePassageSection?->code === 'reading')
@error('passage_media')

{{ $message }}

@enderror
@endif @if ($editingPassageId) @php($editingPassage = $passages->firstWhere('id', $editingPassageId)) @if ($editingPassage?->media_path)

Media tersimpan

@if ($activePassageSection?->code === 'listening') @else Buka media passage @endif
@endif @endif

Simpan komponen ini dulu, lalu hubungkan soal di Question Builder.