@extends('portal.layouts.app') @section('content')
{{ trans('portal.attendance.cards.present') }}
{{ $stats['present'] }}
{{ trans('portal.attendance.cards.absent') }}
{{ $stats['absent'] }}
{{ trans('portal.attendance.cards.late') }}
{{ $stats['late'] }}
{{ trans('portal.attendance.cards.overtime') }}
{{ $stats['overtime'] }}

{{ trans('portal.attendance.filter.heading') }}

{{ trans('portal.attendance.filter.reset') }}

{{ trans('portal.attendance.table.title') }}

@if ($records->isEmpty())

{{ trans('portal.attendance.empty_title') }}

{{ trans('portal.attendance.empty_description') }}

@else
@foreach ($records as $record) @php $statusBadge = match ($record->status) { 'present' => 'approved', 'absent' => 'rejected', default => 'pending', }; @endphp @endforeach
{{ trans('portal.attendance.table.date') }} {{ trans('portal.attendance.table.status') }} {{ trans('portal.attendance.table.check_in') }} {{ trans('portal.attendance.table.check_out') }} {{ trans('portal.attendance.table.worked') }} {{ trans('portal.attendance.table.late') }} {{ trans('portal.attendance.table.overtime') }}
{{ $record->attendance_date?->format('Y-m-d') }} {{ ucfirst(str_replace('_', ' ', $record->status ?? '')) }} {{ $record->check_in_at?->format('H:i') ?? '—' }} {{ $record->check_out_at?->format('H:i') ?? '—' }} {{ $service->formatMinutes($record->worked_minutes) }} {{ $record->late_minutes > 0 ? $service->formatMinutes($record->late_minutes) : '—' }} {{ $record->overtime_minutes > 0 ? $service->formatMinutes($record->overtime_minutes) : '—' }}
{{ trans('portal.attendance.pagination_summary', [ 'from' => $records->firstItem(), 'to' => $records->lastItem(), 'total' => $records->total(), ]) }}
@if ($records->previousPageUrl()) {{ trans('portal.requests.pagination_previous') }} @endif @if ($records->nextPageUrl()) {{ trans('portal.requests.pagination_next') }} @endif
@endif
@endsection