@extends('layouts/layoutMaster') @section('title', __('Compensatory Off Details')) @section('vendor-style') @vite([ 'resources/assets/vendor/libs/sweetalert2/sweetalert2.scss' ]) @endsection @section('vendor-script') @vite([ 'resources/assets/vendor/libs/sweetalert2/sweetalert2.js' ]) @endsection @section('content')
{{-- Breadcrumb Component --}} @if($compOff->status === 'pending' && ($compOff->user_id === auth()->id() || auth()->user()->can('hrcore.edit-comp-off'))) {{ __('Edit Request') }} @endif
{{-- Main Content --}}
{{-- Compensatory Off Details Card --}}
{{ __('Compensatory Off Request #:id', ['id' => $compOff->id]) }}
{{ __('Submitted on') }} {{ \Carbon\Carbon::parse($compOff->created_at)->format('M d, Y H:i') }}
@php $statusColors = [ 'pending' => 'warning', 'approved' => 'success', 'rejected' => 'danger' ]; $color = $statusColors[$compOff->status] ?? 'secondary'; @endphp {{ __(ucfirst($compOff->status)) }}
{{-- Employee Information --}}
{{ __('Employee Information') }}
@if($compOff->user->avatar) Avatar @else
{{ substr($compOff->user->first_name, 0, 1) }}{{ substr($compOff->user->last_name, 0, 1) }}
@endif
{{ $compOff->user->first_name }} {{ $compOff->user->last_name }}
{{ $compOff->user->code }} | {{ $compOff->user->designation->name ?? __('N/A') }}
{{ $compOff->user->department->name ?? __('N/A') }}
{{-- Work Information --}}
{{ __('Work Information') }}
{{ __('Worked Date') }}: {{ \Carbon\Carbon::parse($compOff->worked_date)->format('M d, Y') }}
{{ __('Hours Worked') }}: {{ $compOff->hours_worked }} {{ __('hours') }}
{{ __('Comp Off Days') }}: {{ $compOff->comp_off_days }} {{ __('days') }}
{{ __('Expiry Date') }}: @php $expiryDate = \Carbon\Carbon::parse($compOff->expiry_date); $isExpired = $expiryDate->isPast() && !$compOff->is_used; $isExpiringSoon = $expiryDate->diffInDays(now()) <= 7 && !$compOff->is_used; $badgeColor = $isExpired ? 'danger' : ($isExpiringSoon ? 'warning' : 'secondary'); @endphp {{ $expiryDate->format('M d, Y') }} @if($isExpired) ({{ __('Expired') }}) @elseif($isExpiringSoon) ({{ __('Expiring Soon') }}) @endif
{{-- Reason --}}
{{ __('Reason for Extra Hours') }}

{{ $compOff->reason }}

{{-- Usage Information --}}
{{ __('Usage Information') }}
{{ __('Current Status') }} @if($compOff->is_used) {{ __('Used') }} @elseif($compOff->status === 'approved' && $expiryDate->isPast()) {{ __('Expired') }} @elseif($compOff->status === 'approved') {{ __('Available') }} @else {{ __('Not Available') }} @endif
@if($compOff->is_used)
{{ __('Used Date') }} {{ \Carbon\Carbon::parse($compOff->used_date)->format('M d, Y') }}
@endif @if($compOff->leaveRequest) @endif
{{-- Calculation Info --}}
{{ __('Calculation Details') }}
{{ __('Hours to Days Ratio') }}
{{ $compOff->hours_worked }} {{ __('hours') }} รท {{ $compOff->comp_off_days }} {{ __('days') }} = {{ round($compOff->hours_worked / $compOff->comp_off_days, 1) }} {{ __('hours/day') }}
{{ __('Efficiency Rating') }}
@php $ratio = $compOff->hours_worked / $compOff->comp_off_days; if ($ratio >= 8) { $rating = 'Standard'; $ratingColor = 'success'; } elseif ($ratio >= 6) { $rating = 'Good'; $ratingColor = 'primary'; } else { $rating = 'High'; $ratingColor = 'warning'; } @endphp {{ __($rating) }}
{{-- Approval Information --}} @if($compOff->approved_by_id || $compOff->rejected_by_id)
{{ __('Approval Information') }}
@if($compOff->approved_by_id)
{{ __('Approved by') }} {{ $compOff->approvedBy->first_name }} {{ $compOff->approvedBy->last_name }}
{{ \Carbon\Carbon::parse($compOff->approved_at)->format('M d, Y H:i') }}
@endif @if($compOff->rejected_by_id)
{{ __('Rejected by') }} {{ $compOff->rejectedBy->first_name }} {{ $compOff->rejectedBy->last_name }}
{{ \Carbon\Carbon::parse($compOff->rejected_at)->format('M d, Y H:i') }}
@endif @if($compOff->approval_notes)
{{ __('Notes') }}

{{ $compOff->approval_notes }}

@endif
@endif {{-- Action Buttons --}} @if($compOff->status === 'pending')
{{ __('Actions') }}
{{-- Approve Button --}} @if(auth()->user()->can('hrcore.approve-comp-off') || ($compOff->user->reporting_to_id === auth()->id())) @endif {{-- Reject Button --}} @if(auth()->user()->can('hrcore.approve-comp-off') || ($compOff->user->reporting_to_id === auth()->id())) @endif {{-- Edit Button --}} @if($compOff->user_id === auth()->id() || auth()->user()->can('hrcore.edit-comp-off')) {{ __('Edit') }} @endif {{-- Delete Button --}} @if(auth()->user()->can('hrcore.delete-comp-off')) @endif
@endif
{{-- Sidebar --}}
{{-- Quick Stats --}}
{{ __('Quick Stats') }}
{{ __('Request ID') }} #{{ $compOff->id }}
{{ __('Hours Worked') }} {{ $compOff->hours_worked }}
{{ __('Days Earned') }} {{ $compOff->comp_off_days }}
{{ __('Submitted') }} {{ \Carbon\Carbon::parse($compOff->created_at)->diffForHumans() }}
{{ __('Days Until Expiry') }} @if($compOff->is_used) {{ __('Used') }} @elseif($expiryDate->isPast()) {{ __('Expired') }} @else {{ $expiryDate->diffForHumans() }} @endif
{{-- Timeline --}}
{{ __('Timeline') }}
{{-- Created --}}
{{ __('Request Created') }}
{{ \Carbon\Carbon::parse($compOff->created_at)->format('M d, Y H:i') }}
{{-- Updated --}} @if($compOff->updated_at != $compOff->created_at)
{{ __('Request Updated') }}
{{ \Carbon\Carbon::parse($compOff->updated_at)->format('M d, Y H:i') }}
@endif {{-- Approved --}} @if($compOff->approved_at)
{{ __('Request Approved') }}
{{ \Carbon\Carbon::parse($compOff->approved_at)->format('M d, Y H:i') }}
@endif {{-- Used --}} @if($compOff->is_used)
{{ __('Compensatory Off Used') }}
{{ \Carbon\Carbon::parse($compOff->used_date)->format('M d, Y') }}
@endif {{-- Expired --}} @if($compOff->status === 'approved' && !$compOff->is_used && $expiryDate->isPast())
{{ __('Compensatory Off Expired') }}
{{ $expiryDate->format('M d, Y') }}
@endif
{{-- Related Information --}} @if($compOff->leaveRequest)
{{ __('Related Leave Request') }}
{{ __('Leave Request #:id', ['id' => $compOff->leaveRequest->id]) }}
{{ \Carbon\Carbon::parse($compOff->leaveRequest->from_date)->format('M d') }} - {{ \Carbon\Carbon::parse($compOff->leaveRequest->to_date)->format('M d, Y') }}
@endif
@endsection