Employee Login & Activity Report

Period: {{ $from->format('d M Y') }} — {{ $to->format('d M Y') }}  |  Generated: {{ now()->format('d M Y, h:i A') }}
{{ $totalSessions }}
Total Sessions
{{ $totalTasksDone }}
Tasks Done
{{ number_format($totalHours, 2) }}h
Hours Worked
${{ number_format($totalAmount, 2) }}
Total Amount
@forelse($reportRows as $row)
{{ $row['employee_name'] }}
{{ $row['employee_role'] }}
Login: {{ $row['login_at']?->format('d M Y, h:i A') ?? '—' }}
Logout: {{ $row['logout_at']?->format('h:i A') ?? 'Still Active' }}
Duration: {{ $row['duration_label'] }}
Tasks: {{ $row['task_count'] }}
Hours: {{ number_format($row['total_hours'], 2) }}h
Amount: ${{ number_format($row['total_amount'], 2) }}
@if($row['tasks']->isNotEmpty()) @foreach($row['tasks'] as $task) @endforeach
Job Client Task Started Ended Hours Rate Amount Status
{{ $task['job_number'] }} {{ $task['client'] }} {{ $task['task_name'] }} {{ $task['started_at']?->format('h:i A') ?? '—' }} {{ $task['stopped_at']?->format('h:i A') ?? ($task['status'] === 'running' ? 'Still Running' : '—') }} {{ number_format($task['hours'], 2) }}h ${{ number_format($task['rate'], 2) }}/h ${{ number_format($task['amount'], 2) }} {{ ucfirst($task['status']) }}
Session Total {{ number_format($row['total_hours'], 2) }}h ${{ number_format($row['total_amount'], 2) }}
@else
No tasks logged during this session.
@endif
@empty

No login sessions found for the selected period.

@endforelse