@extends('layouts.guru') @section('title', 'Riwayat Absensi') @section('page_title', 'Riwayat Absensi') @section('content')
{{-- Tombol Kembali --}}
Kembali ke Absensi Hari Ini
{{-- Header Section --}}
Presensi Mandiri

Riwayat Absensi

Rekam jejak kehadiran lengkap Anda pada sistem presensi.

{{-- Tombol Buka Modal Cetak Excel --}}
{{-- Form Filter Halaman --}}
{{-- List Card Container --}}
@forelse($riwayat as $row) @php $status = strtolower($row->status); switch ($status) { case 'hadir': $class = 'bg-emerald-50 dark:bg-emerald-950/20 text-emerald-700 dark:text-emerald-400 border-emerald-200 dark:border-emerald-900/40'; break; case 'terlambat': $class = 'bg-amber-50 dark:bg-amber-950/20 text-amber-700 dark:text-amber-400 border-amber-200 dark:border-amber-900/40'; break; case 'izin': $class = 'bg-blue-50 dark:bg-blue-950/20 text-blue-700 dark:text-blue-400 border-blue-200 dark:border-blue-900/40'; break; case 'sakit': $class = 'bg-indigo-50 dark:bg-indigo-950/20 text-indigo-700 dark:text-indigo-400 border-indigo-200 dark:border-indigo-900/40'; break; case 'cuti': $class = 'bg-purple-50 dark:bg-purple-950/20 text-purple-700 dark:text-purple-400 border-purple-200 dark:border-purple-900/40'; break; case 'tugas_luar': $class = 'bg-cyan-50 dark:bg-cyan-950/20 text-cyan-700 dark:text-cyan-400 border-cyan-200 dark:border-cyan-900/40'; break; case 'alpha': $class = 'bg-red-50 dark:bg-red-950/20 text-red-700 dark:text-red-400 border-red-200 dark:border-red-900/40'; break; default: $class = 'bg-gray-50 dark:bg-neutral-900 text-gray-700 dark:text-neutral-400 border-gray-200 dark:border-neutral-800'; } $statusText = ucwords(str_replace('_', ' ', $row->status)); $approval = strtolower($row->status_persetujuan ?? 'pending'); switch ($approval) { case 'disetujui': $approvalClass = 'bg-emerald-100 dark:bg-emerald-950/40 text-emerald-700 dark:text-emerald-400'; break; case 'ditolak': $approvalClass = 'bg-rose-100 dark:bg-rose-950/40 text-rose-700 dark:text-rose-400'; break; default: $approvalClass = 'bg-amber-100 dark:bg-amber-950/40 text-amber-700 dark:text-amber-400'; } $approvalText = ucfirst($approval); $isPermit = in_array($status, ['izin', 'sakit', 'cuti', 'tugas_luar']); @endphp {{-- Mobile Row Card --}}
{{ \Carbon\Carbon::parse($row->tanggal)->translatedFormat('l, d M Y') }}
{{ $isPermit ? '--:--' : ($row->jam_masuk ? \Carbon\Carbon::parse($row->jam_masuk)->format('H:i') : '--:--') }} {{ $isPermit ? '--:--' : ($row->jam_pulang ? \Carbon\Carbon::parse($row->jam_pulang)->format('H:i') : '--:--') }}
{{ $approvalText }}
{{ $statusText }}
@empty

Belum ada riwayat absensi pada periode ini.

@endforelse
{{-- Pagination --}} @if (method_exists($riwayat, 'links'))
{{ $riwayat->links() }}
@endif
{{-- MODAL CETAK EXCEL --}} {{-- MODAL DETAIL DATA ABSEN --}} @endsection