@extends('admin.layout') @section('title', 'Dashboard') @section('subtitle', 'Ringkasan absensi relawan hari ini') @section('content') {{-- Link Absen SPPG --}} @php $sppg = auth()->user()->sppg; @endphp @if($sppg && $sppg->slug)

Link Absen Relawan

Bagikan link ini ke relawan untuk login & absen.

@endif {{-- Stats Cards --}}

Total Relawan

{{ $totalVolunteers }}

Sudah Masuk

{{ $checkedInToday }}

Sudah Pulang

{{ $checkedOutToday }}

Terlambat

{{ $lateToday }}

{{-- Status Absensi Per Bagian Kerja --}}

Status Absensi Hari Ini

@if ($todaySchedule)

{{ $todaySchedule->shift->name }}

@else Belum ada jadwal master shift @endif
@if (isset($groupedVolunteers) && count($groupedVolunteers) > 0)
@foreach ($groupedVolunteers as $groupName => $groupVolunteers) @php $isBelumDitugaskan = $groupName === 'Z_Belum ditugaskan'; $displayName = $isBelumDitugaskan ? 'Belum ditugaskan' : $groupName; $groupId = 'dash-group-' . $loop->index; // Hitung status absensi $tepatWaktu = []; $terlambat = []; $belumAbsen = []; foreach ($groupVolunteers as $vol) { $att = $vol->attendances->first(); // karena diload with filter date = today, pasti max 1 if ($att) { if ($att->status_in === 'late') { $terlambat[] = ['user' => $vol, 'att' => $att]; } else { $tepatWaktu[] = ['user' => $vol, 'att' => $att]; } } else { $belumAbsen[] = $vol; } } // Cari jadwal jam kerja spesifik bagian ini hari ini $sectionShift = null; if (!$isBelumDitugaskan && $todaySchedule && $todaySchedule->shift->sectionSchedules->count()) { $sectionShift = $todaySchedule->shift->sectionSchedules->first(function ($ss) use ($groupName) { return $ss->workSection->name === $groupName; }); } @endphp
{{-- Header / Toggle Button --}} {{-- Accordion Content --}}
@endforeach
@else
Belum ada data relawan yang bisa ditampilkan.
@endif @endsection