@extends('layouts.admin') @section('title', 'Statistik — ' . $program->title) @section('header', 'Statistik Program') @section('breadcrumb') @endsection @section('header-actions')
Export CSV Kembali
@endsection @section('content') {{-- Summary Cards --}}
{{ $summary['total_attendances'] }}
Jumlah Hadir
{{ $summary['generated_certs'] }}
Sijil Dijana
{{ $summary['downloaded_certs'] }}
Sijil Dimuat Turun
{{ $summary['total_responses'] }}
Respons Soalselidik
{{-- Attendance by Session --}}
Kehadiran Mengikut Sesi
@if(! empty($bySession)) @else
Tiada data kehadiran.
@endif
{{-- Attendance by Source --}}
Kehadiran Mengikut Jenis
@if(! empty($bySource)) @else
Tiada data kehadiran.
@endif
{{-- Certificate Status --}}
Status Sijil
@if(! empty($certStats)) @php $labels = ['pending' => 'Menunggu', 'generating' => 'Sedang Jana', 'generated' => 'Dijana', 'emailed' => 'Diemailkan', 'downloaded' => 'Dimuat Turun', 'failed' => 'Gagal']; $colors = ['pending' => 'warning', 'generating' => 'secondary', 'generated' => 'success', 'emailed' => 'info', 'downloaded' => 'primary', 'failed' => 'danger']; @endphp @foreach($certStats as $status => $count) @endforeach
{{ $labels[$status] ?? $status }} {{ $count }}
@else
Tiada sijil dijana lagi.
@endif
{{-- Response Rate --}} @if($responseRate !== null)
Kadar Respons Soalselidik
{{ $responseRate }}%
{{ $summary['total_responses'] }} daripada {{ $summary['total_attendances'] }} peserta hadir
@endif {{-- Question Stats --}} @foreach($questionStats as $qs)
{{ $qs['text'] }}
@if($qs['type'] === 'rating')
{{ $qs['average'] ?? '—' }}
Purata daripada {{ $qs['count'] }} respons
@php $pct = $qs['average'] ? round($qs['average'] / 5 * 100) : 0; @endphp
{{ $pct }}% daripada 5
@elseif(in_array($qs['type'], ['single_choice', 'multiple_choice'])) @foreach($qs['options'] as $opt) @php $c = $qs['counts'][$opt] ?? 0; $pct = $qs['total'] > 0 ? round($c / $qs['total'] * 100) : 0; @endphp @endforeach
{{ $opt }} {{ $c }}
{{ $pct }}%
@endif
@endforeach
@endsection @push('scripts') @endpush