@php use App\Enums\LeaveRequestStatus; @endphp
{{-- Leave Balance Card --}}
{{ __('Leave Balance') }}
@if ($leaveTypes->isEmpty())
{{ __('No leave types configured') }}
@else
@foreach ($leaveTypes as $leaveType) @php // Get user's leave balance from users_available_leaves table $availableLeave = \App\Models\UserAvailableLeave::where('user_id', $user->id) ->where('leave_type_id', $leaveType->id) ->where('year', now()->year) ->first(); if ($availableLeave) { // Use actual allocated balance from database $totalLeaves = $availableLeave->entitled_leaves + $availableLeave->carried_forward_leaves + $availableLeave->additional_leaves; $usedLeaves = $availableLeave->used_leaves; $remainingLeaves = $availableLeave->available_leaves; } else { // Fallback to leave type defaults if no allocation exists $totalLeaves = $leaveType->default_days ?? 0; $usedLeaves = 0; $remainingLeaves = $totalLeaves; } // Calculate usage percentage (how much has been used) $usagePercentage = $totalLeaves > 0 ? ($usedLeaves / $totalLeaves) * 100 : 0; @endphp
{{ number_format($remainingLeaves, 1) }}
{{ $leaveType->name }}
{{ __('Used') }}: {{ number_format($usedLeaves, 1) }} / {{ number_format($totalLeaves, 1) }}
@endforeach
@endif
{{-- Leave History Table --}}
{{ __('Leave History') }}
@forelse ($user->leaveRequests()->with('leaveType')->orderBy('created_at', 'desc')->get() as $leave) @empty @endforelse
{{ __('Leave Type') }} {{ __('From Date') }} {{ __('To Date') }} {{ __('Days') }} {{ __('Status') }} {{ __('Reason') }} {{ __('Applied On') }}
{{ $leave->leaveType->name ?? __('N/A') }} {{ $leave->from_date ? \Carbon\Carbon::parse($leave->from_date)->format('d M Y') : __('N/A') }} {{ $leave->to_date ? \Carbon\Carbon::parse($leave->to_date)->format('d M Y') : __('N/A') }} {{ number_format($leave->total_days, 1) }} @if($leave->status instanceof \App\Enums\LeaveRequestStatus) {!! $leave->status->badge() !!} @else {{ is_string($leave->status) ? ucfirst($leave->status) : __('N/A') }} @endif {{ $leave->user_notes ?? __('N/A') }} {{ $leave->created_at ? $leave->created_at->format('d M Y') : __('N/A') }}
{{ __('No leave records found') }}
@push('page-scripts') @endpush