Laporan Absensi Relawan

Periode: {{ $dateFrom ? \Carbon\Carbon::parse($dateFrom)->format('d/m/Y') : 'Awal' }} s/d {{ $dateTo ? \Carbon\Carbon::parse($dateTo)->format('d/m/Y') : 'Akhir' }}
Relawan: {{ $user ? $user->name : 'Semua Relawan' }}

Keterangan Tabel:
08:00 : Jam Masuk (Tepat Waktu)   |   08:15 : Jam Masuk (Terlambat)   |   17:00 : Jam Pulang (Warna Abu-abu)
@if($dateChunks->isEmpty())
Tidak ada data absensi pada periode ini.
@else @foreach($dateChunks as $chunkIndex => $chunkDates)
Halaman {{ $loop->iteration }} - Menampilkan Tanggal: {{ \Carbon\Carbon::parse($chunkDates->first())->format('d/m/Y') }} s/d {{ \Carbon\Carbon::parse($chunkDates->last())->format('d/m/Y') }}
@foreach($chunkDates as $dateStr) @endforeach @php $no = 1; @endphp @foreach($groupedVolunteers as $groupName => $groupVolunteers) @php $displayName = $groupName === 'Z_Belum ditugaskan' ? 'Belum ditugaskan' : $groupName; @endphp @foreach($groupVolunteers as $vol) @foreach($chunkDates as $dateStr) @php $att = $attendanceMap[$vol->id][$dateStr] ?? null; @endphp @endforeach @endforeach @endforeach
No Nama Relawan{{ \Carbon\Carbon::parse($dateStr)->format('d/m') }}
{{ \Carbon\Carbon::parse($dateStr)->locale('id')->isoFormat('ddd') }}
Bagian Kerja: {{ $displayName }}
{{ $no++ }} {{ $vol->name }} @if($att) @php $inTime = $att->check_in_time ? \Carbon\Carbon::parse($att->check_in_time)->format('H:i') : '-'; $outTime = $att->check_out_time ? \Carbon\Carbon::parse($att->check_out_time)->format('H:i') : '-'; $inColor = $att->status_in === 'late' ? 'text-danger' : 'text-success'; @endphp {{ $inTime }}
{{ $outTime }} @else - @endif
@endforeach @endif