@php $configData = Helper::appClasses(); @endphp @extends('layouts/layoutMaster') @section('title', __('Team Leave Calendar')) @section('vendor-style') @vite([ 'resources/assets/vendor/libs/fullcalendar/fullcalendar.scss', 'resources/assets/vendor/libs/select2/select2.scss' ]) @endsection @section('vendor-script') @vite([ 'resources/assets/vendor/libs/fullcalendar/fullcalendar.js', 'resources/assets/vendor/libs/select2/select2.js' ]) @endsection @section('page-script') @vite(['resources/assets/js/app/hrcore-team-calendar.js']) @endsection @section('content')
{{-- Breadcrumb --}} {{-- Filters Card --}}
{{ __('Filters') }}
{{-- Designation Filter --}}
{{-- Leave Type Filter --}}
{{-- Status Filter --}}
{{-- Filter Buttons --}}
{{-- Calendar Section --}}
{{ __('Team Leave Schedule') }}
{{ now()->format('F Y') }}
{{-- Sidebar --}}
{{-- Team Members on Leave Today --}}
{{ __('On Leave Today') }}
{{ now()->format('F d, Y') }}
@php $todayLeaves = $leaves->filter(function($leave) { return $leave->from_date <= now() && $leave->to_date >= now(); }); @endphp @if($todayLeaves->count() > 0)
@foreach($todayLeaves as $leave)
@if($leave->user->profile_photo_path) {{ $leave->user->name }} @else {{ substr($leave->user->name, 0, 2) }} @endif
{{ $leave->user->name }}
{{ $leave->leaveType->name }}
@if($leave->is_half_day) {{ __('Half Day') }} @endif
@endforeach
@else

{{ __('No team members on leave today') }}

@endif
{{-- Leave Statistics --}}
{{ __('Team Statistics') }}
@php $currentMonth = now()->month; $currentYear = now()->year; $monthlyLeaves = $leaves->filter(function($leave) use ($currentMonth, $currentYear) { return $leave->from_date->month == $currentMonth && $leave->from_date->year == $currentYear; }); @endphp
{{ __('This Month') }} {{ $monthlyLeaves->count() }} {{ __('leaves') }}
{{ __('Team Size') }} {{ $teamMembers->count() }} {{ __('members') }}
{{ __('Avg. Leave/Person') }} {{ $teamMembers->count() > 0 ? round($monthlyLeaves->count() / $teamMembers->count(), 1) : 0 }}
{{-- Prepare data for JavaScript --}} @php $leavesData = $leaves->map(function($leave) { return [ 'id' => $leave->id, 'title' => $leave->user->name . ' - ' . $leave->leaveType->name, 'start' => $leave->from_date->format('Y-m-d'), 'end' => $leave->to_date->addDay()->format('Y-m-d'), 'color' => $leave->leaveType->color, 'user' => $leave->user->name, 'userId' => $leave->user_id, 'leaveType' => $leave->leaveType->name, 'leaveTypeId' => $leave->leave_type_id, 'designationId' => $leave->user->designation_id, 'status' => $leave->status instanceof \BackedEnum ? $leave->status->value : $leave->status, 'isHalfDay' => $leave->is_half_day, 'halfDayType' => $leave->half_day_type, 'totalDays' => $leave->total_days, 'reason' => $leave->user_notes ]; })->toArray(); $leaveTypesData = $leaveTypes->map(function($type) { return [ 'id' => $type->id, 'name' => $type->name, 'color' => $type->color ]; })->toArray(); @endphp {{-- Pass data to JavaScript --}} @endsection