This commit is contained in:
Saufi
2026-05-19 09:53:36 +08:00
parent f39eca4b1c
commit b0eec13d5b
22 changed files with 1166 additions and 238 deletions

View File

@@ -10,9 +10,17 @@
@endsection
@section('header-actions')
<a href="{{ route('admin.programs.show', $program) }}#tab-questionnaire" class="btn btn-sm btn-outline-secondary">
<i class="bi bi-arrow-left me-1"></i> Kembali
</a>
<div class="d-flex gap-2">
@if($pq && $pq->questionnaireSet)
<a href="{{ route('admin.programs.questionnaire.preview', $program) }}" target="_blank"
class="btn btn-sm btn-outline-primary">
<i class="bi bi-eye me-1"></i> Pratonton
</a>
@endif
<a href="{{ route('admin.programs.show', $program) }}#tab-questionnaire" class="btn btn-sm btn-outline-secondary">
<i class="bi bi-arrow-left me-1"></i> Kembali
</a>
</div>
@endsection
@section('content')
@@ -68,25 +76,48 @@
{{-- List Questions --}}
<div class="border rounded p-3 bg-light">
<div class="small fw-medium text-muted mb-2">Senarai Soalan:</div>
@foreach($pq->questionnaireSet->questions as $q)
<div class="d-flex align-items-start gap-2 mb-2">
<span class="badge bg-secondary flex-shrink-0">{{ $loop->iteration }}</span>
<div>
<div class="small">{{ $q->question_text }}</div>
<span class="badge bg-light text-dark border" style="font-size:0.65rem;">
{{ match($q->question_type) {
'rating' => 'Rating',
'single_choice' => 'Pilihan Tunggal',
'multiple_choice' => 'Pilihan Berganda',
'short_text' => 'Teks Pendek',
'long_text' => 'Teks Panjang',
} }}
</span>
@if($q->is_required)
<span class="badge bg-danger bg-opacity-10 text-danger" style="font-size:0.65rem;">Wajib</span>
@endif
@php
$allQs = $pq->questionnaireSet->questions->sortBy('sort_order');
$topQs = $allQs->whereNull('parent_id');
$qNum = 0;
@endphp
@foreach($topQs as $q)
@if($q->question_type === 'tajuk')
<div class="d-flex align-items-center gap-2 mt-2 mb-1">
<span class="badge bg-dark" style="font-size:0.6rem;">Tajuk</span>
<div class="small fw-semibold text-dark">{{ $q->question_text }}</div>
</div>
</div>
@foreach($allQs->where('parent_id', $q->id)->sortBy('sort_order') as $child)
@php $qNum++ @endphp
<div class="d-flex align-items-start gap-2 mb-1 ps-3">
<span class="badge bg-secondary flex-shrink-0" style="min-width:22px;font-size:0.65rem;">{{ $qNum }}</span>
<div>
<div class="small">{{ $child->question_text }}</div>
<span class="badge bg-light text-dark border" style="font-size:0.6rem;">Rating 15</span>
@if($child->is_required)<span class="badge bg-danger bg-opacity-10 text-danger" style="font-size:0.6rem;">Wajib</span>@endif
</div>
</div>
@endforeach
@else
@php $qNum++ @endphp
<div class="d-flex align-items-start gap-2 mb-2">
<span class="badge bg-secondary flex-shrink-0" style="min-width:22px;font-size:0.65rem;">{{ $qNum }}</span>
<div>
<div class="small">{{ $q->question_text }}</div>
<span class="badge bg-light text-dark border" style="font-size:0.65rem;">
{{ match($q->question_type) {
'rating' => 'Rating 15',
'single_choice' => 'Pilihan Tunggal',
'multiple_choice' => 'Pilihan Berganda',
'short_text' => 'Teks Pendek',
'long_text' => 'Teks Panjang',
default => $q->question_type,
} }}
</span>
@if($q->is_required)<span class="badge bg-danger bg-opacity-10 text-danger" style="font-size:0.65rem;">Wajib</span>@endif
</div>
</div>
@endif
@endforeach
</div>