@extends('layouts.app') @section('title', 'Dashboard Santri') @section('content') @php $initials = strtoupper(substr($data['nama_santri'], 0, 1)); $poin = $data['poin_pelanggaran']; $avgCap = round(($data['progres_quran'] + $data['progres_hadist'] + $data['progres_materi_tambahan']) / 3, 1); $kpTotalHari = $statistikKepulangan['total_hari'] ?? 0; $kpSisa = $statistikKepulangan['sisa_kuota'] ?? 12; $kpPersen = $statistikKepulangan['persen_kuota'] ?? 0; $kpDisetujui = $statistikKepulangan['disetujui'] ?? 0; $kpMenunggu = $statistikKepulangan['menunggu'] ?? 0; $kpOver = $statistikKepulangan['over_limit'] ?? false; // Grouped Bar Kehadiran per Kategori // Bar kehadiran — bulan ini $barKategori = $absensiPerKategori['labels'] ?? []; $barHadir = $absensiPerKategori['hadir'] ?? []; $barAlpa = $absensiPerKategori['alpa'] ?? []; $barIzin = $absensiPerKategori['izin'] ?? []; $barSakit = $absensiPerKategori['sakit'] ?? []; // Bar kehadiran — minggu ini $barKatMgg = $absensiPerKategoriMinggu['labels'] ?? $barKategori; $barHadirMgg = $absensiPerKategoriMinggu['hadir'] ?? []; $barAlpaMgg = $absensiPerKategoriMinggu['alpa'] ?? []; $barIzinMgg = $absensiPerKategoriMinggu['izin'] ?? []; $barSakitMgg = $absensiPerKategoriMinggu['sakit'] ?? []; $bulanNama = now()->locale('id')->isoFormat('MMMM YYYY'); $mingguLabel = 'Minggu ini (' . now()->startOfWeek(\Carbon\Carbon::MONDAY)->locale('id')->isoFormat('D MMM') . ')'; // Status Input Capaian $ciIsOpen = $statusInputCapaian['is_open'] ?? false; $ciDeadline = $statusInputCapaian['deadline'] ?? null; $ciSudah = $statusInputCapaian['sudah_input'] ?? 0; $ciTotal = $statusInputCapaian['total_materi'] ?? 0; $ciPersen = $ciTotal > 0 ? round($ciSudah / $ciTotal * 100) : 0; $ciSegera = $ciIsOpen && $ciDeadline && \Carbon\Carbon::parse($ciDeadline)->isFuture() && \Carbon\Carbon::parse($ciDeadline)->diffInDays(now()) <= 7; $ciBadge = $ciIsOpen ? ($ciSegera ? 'ci-segera' : 'ci-buka') : 'ci-tutup'; $ciBLabel = $ciIsOpen ? ($ciSegera ? '⚠ Segera Tutup' : '✓ Input Dibuka') : '✕ Input Ditutup'; // Capaian per kategori (progress bar kecil di kartu input) $capKat = [ ["Al-Qur'an", $data['progres_quran'], '#22C97E'], ['Hadist', $data['progres_hadist'], '#3B82F6'], ['Tambahan', $data['progres_materi_tambahan'], '#F59E0B'], ]; @endphp
Kelas {{ $data['kelas'] }} @if($semesterAktif) {{ $semesterAktif->nama_semester }} @endif
| Tanggal | Pelanggaran | Poin |
|---|---|---|
| {{ \Carbon\Carbon::parse($pel->tanggal)->locale('id')->isoFormat('D MMM YY') }} | {{ $pel->kategori->nama_pelanggaran ?? ($pel->keterangan ?? '-') }} | {{ $pel->poin }} |
| Tidak ada data | ||