@extends('layouts.app') @section('content')

Attendance for {{ $student->user->name }} ({{ $student->user->username }})

Overall Attendance: {{ $stats['percentage'] }}% Total: {{ $stats['total'] }} Sessions
Filter Attendance
Clear
@if($startDate || $endDate)
Active Filter:
@if($startDate) From: {{ \Carbon\Carbon::parse($startDate)->format('M d, Y') }} @endif @if($endDate) To: {{ \Carbon\Carbon::parse($endDate)->format('M d, Y') }} @endif
@endif
@if($batchSummary->count() > 0)
Batch-wise Attendance Summary
@foreach($batchSummary as $batch) @php $attendanceColor = $batch->attendance_percentage >= 90 ? 'success' : ($batch->attendance_percentage >= 75 ? 'info' : ($batch->attendance_percentage >= 50 ? 'warning' : 'danger')); @endphp @endforeach
Batch Total Classes Present Absent Late Excused Attendance % Status
{{ $batch->name }} {{ $batch->total_classes }} {{ $batch->present_count }} ({{ $batch->present_percentage }}%) {{ $batch->absent_count }} ({{ $batch->absent_percentage }}%) {{ $batch->late_count }} ({{ $batch->late_percentage }}%) {{ $batch->excused_count }} ({{ $batch->excused_percentage }}%)
{{ $batch->attendance_percentage }}%
@if($batch->attendance_percentage >= 90) Excellent @elseif($batch->attendance_percentage >= 75) Good @elseif($batch->attendance_percentage >= 50) Average @else Poor @endif
@endif
Overall Statistics
@php $statusColors = [ 'present' => 'success', 'absent' => 'danger', 'late' => 'warning', 'excused' => 'info' ]; $statusIcons = [ 'present' => 'fa-check-circle', 'absent' => 'fa-times-circle', 'late' => 'fa-clock', 'excused' => 'fa-calendar-check' ]; @endphp @foreach(['present','absent','late','excused'] as $status)
{{ ucfirst($status) }}

{{ $stats[$status] ?? 0 }}

@if($stats['total'] > 0)
{{ round(($stats[$status] / $stats['total']) * 100, 1) }}% of total @endif
@endforeach
Total Sessions
{{ $stats['total'] }}
Attendance Rate
{{ $stats['percentage'] }}%
Effective Attendance
{{ $stats['present'] + $stats['excused'] }}
(Present + Excused)
Attendance Details
@forelse($attendanceEntries as $index => $entry) @php $session = $entry->attendanceSession; $badgeColors = [ 'present' => 'success', 'absent' => 'danger', 'late' => 'warning', 'excused' => 'info' ]; @endphp @empty @endforelse
# Date Day Batch Subject Time Status Remark Marked At
{{ $index + 1 }} {{ $session->session_date->format('Y-m-d') ?? 'N/A' }} {{ $session->session_date->format('l') }} @if($session->class && $session->class->batch) {{ $session->class->batch->name ?? 'N/A' }} @else N/A @endif @if($session->class && $session->class->subject) {{ $session->class->subject->title ?? $session->class->subject->name ?? 'N/A' }}
Code: {{ $session->class->subject->code ?? 'N/A' }} @else N/A @endif
@if($session->start_time && $session->end_time) {{ \Carbon\Carbon::parse($session->start_time)->format('h:i A') }} - {{ \Carbon\Carbon::parse($session->end_time)->format('h:i A') }} @else Full Day @endif {{ ucfirst($entry->status) }} @if($entry->remark) {{ Str::limit($entry->remark, 30) }} @else - @endif {{ $entry->created_at->format('Y-m-d h:i A') }}
No attendance records found
@if($startDate || $endDate)

Try changing your filter criteria

Clear Filters @endif
@if($attendanceEntries->hasPages())
{{ $attendanceEntries->links() }}
@endif
@endsection