@foreach ($datapresensi as $index => $d)
@php
$namahari = [
'Sun' => 'Minggu', 'Mon' => 'Senin', 'Tue' => 'Selasa', 'Wed' => 'Rabu',
'Thu' => 'Kamis', 'Fri' => 'Jumat', 'Sat' => 'Sabtu'
];
$day_eng = date('D', strtotime($d->tanggal));
$day_indo = $namahari[$day_eng] ?? $day_eng;
$day_short = strtoupper(substr($day_indo, 0, 3));
$tgl = date('d', strtotime($d->tanggal));
$bulan_indo = getNamabulan((int)date('m', strtotime($d->tanggal)));
$tahun = date('Y', strtotime($d->tanggal));
$statusStyles = [
'h' => ['label' => 'Hadir', 'color' => $t['primary'], 'rgb' => '50, 116, 94'],
'i' => ['label' => 'Izin', 'color' => '#1e90ff', 'rgb' => '30, 144, 255'],
's' => ['label' => 'Sakit', 'color' => '#ff6384', 'rgb' => '255, 99, 132'],
'c' => ['label' => 'Cuti', 'color' => '#ff9f40', 'rgb' => '255, 159, 64'],
'a' => ['label' => 'Alpha', 'color' => '#e74c3c', 'rgb' => '231, 76, 60'],
];
$st = $statusStyles[$d->status] ?? $statusStyles['a'];
$bgColor = "rgba({$st['rgb']}, 0.1)";
$is_late = false;
$denda_display = 0;
$pulangcepat = 0;
if ($d->status == 'h') {
$jam_in_ts = strtotime($d->jam_in);
$jam_masuk_ts = strtotime($d->tanggal . ' ' . $d->jam_masuk);
$is_late = $jam_in_ts > $jam_masuk_ts;
if ($is_late && $d->jam_in) {
$terlambat_selisih = $jam_in_ts - $jam_masuk_ts;
$menit_telat = floor(($terlambat_selisih % 3600) / 60);
$denda_display = !empty($d->denda) ? $d->denda : hitungdenda($denda_list, $menit_telat);
}
$pulangcepat = hitungpulangcepat($d->tanggal, $d->jam_out, $d->jam_pulang, $d->istirahat, $d->jam_awal_istirahat, $d->jam_akhir_istirahat, $d->lintashari);
}
@endphp
{{-- Date Badge --}}
{{ $day_short }}
{{-- Info --}}
{{ DateToIndo($d->tanggal) }}
{{ $d->nama_jam_kerja }}
@if ($d->status == 'h')
{{ $d->jam_in ? date('H:i', strtotime($d->jam_in)) : '__:__' }}
-
{{ $d->jam_out ? date('H:i', strtotime($d->jam_out)) : '__:__' }}
@if ($is_late)
TELAT
@else
TEPAT WAKTU
@endif
@if ($denda_display > 0)
Denda Rp. {{ number_format($denda_display) }}
@endif
@if ($pulangcepat > 0)
PULANG CEPAT
@endif
@elseif ($d->status == 'i')
Izin: {{ $d->keterangan_izin }}
@elseif ($d->status == 's')
Sakit: {{ $d->keterangan_izin_sakit }}
@elseif ($d->status == 'c')
Cuti: {{ $d->keterangan_izin_cuti }}
@else
Alpha: Tanpa Keterangan
@endif
@endforeach
@if ($datapresensi->isEmpty())
Tidak Ada Data
Pilih rentang tanggal untuk melihat histori presensi Anda.
@endif