@extends('layouts.app') @section('title', 'Rekap Absensi Lengkap') @section('content')
DATA ABSENSI

Rekap Absensi Lengkap

Filter berdasarkan mata kuliah, pertemuan, atau nama mahasiswa

Kembali ke Dashboard
Reset
{{-- STATISTIK CARD (5 CARD: Hadir, Izin, Sakit, Alpha, Rata-rata) --}}
{{ number_format($statistik['total_hadir']) }}
Hadir
{{ number_format($statistik['total_izin']) }}
Izin
{{ number_format($statistik['total_sakit'] ?? 0) }}
Sakit
{{ number_format($statistik['total_alpha']) }}
Alpha
{{ $statistik['rata_kehadiran'] }}%
Rata-rata Kehadiran
{{-- TABEL DATA --}}
@forelse($absensis as $i => $item) @php // 🔥 Parse tanggal dengan aman try { $tanggalPertemuan = \Carbon\Carbon::parse($item->tanggal); } catch (\Exception $e) { $tanggalPertemuan = \Carbon\Carbon::now(); } $isFuture = $tanggalPertemuan->isFuture(); // 🔥 Badge untuk status (4 jenis) $badgeClasses = [ 'hadir' => 'badge-hadir', 'izin' => 'badge-izin', 'sakit' => 'badge-sakit', 'alpha' => 'badge-alpha' ]; $badgeTexts = [ 'hadir' => '✅ Hadir', 'izin' => '📝 Izin', 'sakit' => '🤒 Sakit', 'alpha' => '❌ Alpha' ]; $badgeClass = $badgeClasses[$item->status] ?? 'badge-alpha'; $badgeText = $badgeTexts[$item->status] ?? $item->status; @endphp @empty @endforelse
No Mata Kuliah Pertemuan Tanggal Jam NIM Nama Mahasiswa Status
{{ $absensis->firstItem() + $i }} {{ $item->matkul_nama }}
{{ $item->matkul_kode }}
{{ $item->pertemuan_ke }} {{ $tanggalPertemuan->format('Y-m-d') }} {{ substr($item->jam_mulai,0,5) }} - {{ substr($item->jam_selesai,0,5) }} {{ $item->nim }} {{ $item->nama_mahasiswa }} {{ $badgeText }}
Tidak ada data absensi yang ditemukan.
@if($absensis->hasPages())
@if($absensis->onFirstPage()) Sebelumnya @else Sebelumnya @endif @if($absensis->hasMorePages()) Selanjutnya @else Selanjutnya @endif
{{ $absensis->firstItem() }} - {{ $absensis->lastItem() }} dari {{ $absensis->total() }} data
@endif
@endsection