@php $attendance = $attendanceDashboard ?? []; $summary = data_get($attendance, 'summary', []); $health = data_get($attendance, 'health', []); $formatDate = fn ($value) => $value ? \Carbon\Carbon::parse($value)->format('d M Y') : '-'; $formatTime = fn ($value) => $value ? \Carbon\Carbon::parse($value)->format('h:i A') : '-'; $duration = function ($roster) { if (!$roster?->class_start_time || !$roster?->class_end_time) { return '-'; } return \Carbon\Carbon::parse($roster->class_start_time)->diffForHumans( \Carbon\Carbon::parse($roster->class_end_time), true ); }; $instructors = fn ($roster) => collect([$roster?->instructor1?->title, $roster?->instructor2?->title, $roster?->instructor3?->title])->filter()->implode(', ') ?: '-'; @endphp
Student Attendance Dashboard
Attendance history, analytics, upcoming classes and attendance trends.
@can('attendance.view') View Full Attendance Report Export @endcan @can('attendance.create') Mark Attendance @endcan
Attendance %

{{ data_get($summary, 'attendance_percentage', 0) }}%

Overall Attendance
Total Classes

{{ data_get($summary, 'total_classes', 0) }}

Classes Scheduled
Present

{{ data_get($summary, 'present', 0) }}

Classes Attended
Absent

{{ data_get($summary, 'absent', 0) }}

Missed Classes
Current Streak

{{ data_get($summary, 'current_streak', 0) }}

Consecutive Attendances
Longest Streak

{{ data_get($summary, 'longest_streak', 0) }}

Best Performance
Last Attendance

{{ $formatDate(data_get($summary, 'last_attendance')) }}

Most Recent Visit
Attendance Health
{{ data_get($health, 'label', 'Average') }}

{{ data_get($health, 'message') }}

Monthly Attendance Summary
@foreach(data_get($attendance, 'monthly', []) as $month) @endforeach
Month Present
{{ data_get($month, 'month') }} {{ data_get($month, 'present', 0) }}
Attendance by Roster
@if(count(data_get($attendance, 'by_roster', []))) @foreach(data_get($attendance, 'by_roster', []) as $row) @endforeach @else @endif
Roster Present
{{ data_get($row, 'roster') }} {{ data_get($row, 'present') }}
No Roster Attendance Found
Recent Attendance
@foreach(data_get($attendance, 'recent', []) as $record) @endforeach
DateRosterInstructorCheck InCheck OutDurationStatusActions
{{ $formatDate($record->attendance_date) }} {{ $record->roster?->roster_name ?? '-' }} {{ $instructors($record->roster) }} {{ $formatTime($record->created_at) }} {{ $formatTime($record->roster?->class_end_time) }} {{ $duration($record->roster) }} Present @include('admin.attendance.reports.partials.action-button', ['attendance' => $record])
Upcoming Classes
@forelse(data_get($attendance, 'upcoming', []) as $class)
{{ data_get($class, 'roster.roster_name') }}{{ $instructors(data_get($class, 'roster')) }}
{{ $formatDate(data_get($class, 'date')) }}{{ $formatTime(data_get($class, 'roster.class_start_time')) }}
@empty

No upcoming roster bookings found.

@endforelse
Attendance Notes
@forelse(data_get($attendance, 'notes', []) as $note)
{{ $formatDate($note->attendance_date) }} - {{ $note->roster?->roster_name ?? '-' }}

{{ $note->notes }}

@empty

No instructor notes have been added for attendance.

@endforelse