@extends('layouts.app') @section('title', 'Leave Calendar') @php use Carbon\Carbon; @endphp @section('content')
Leave Calendar - {{ Carbon::create($year, $month, 1)->format('F Y') }}
Clear
Sun
Mon
Tue
Wed
Thu
Fri
Sat
@php $firstDay = Carbon::create($year, $month, 1); $lastDay = Carbon::create($year, $month, 1)->endOfMonth(); $daysInMonth = $lastDay->day; $startingDayOfWeek = $firstDay->dayOfWeek; // Group leave requests by date $leavesByDate = []; foreach($leaveRequests as $leave) { $currentDate = $leave->from_date->copy(); while($currentDate <= $leave->to_date) { $dateKey = $currentDate->format('Y-m-d'); if(!isset($leavesByDate[$dateKey])) { $leavesByDate[$dateKey] = []; } $leavesByDate[$dateKey][] = $leave; $currentDate->addDay(); } } @endphp @for($i = 0; $i < $startingDayOfWeek; $i++)
@endfor @for($day = 1; $day <= $daysInMonth; $day++) @php $currentDate = Carbon::create($year, $month, $day); $dateKey = $currentDate->format('Y-m-d'); $isToday = $currentDate->isToday(); $leavesForDay = $leavesByDate[$dateKey] ?? []; @endphp
{{ $day }}
@if(!empty($leavesForDay))
@foreach($leavesForDay as $leave)
{{ $leave->user->full_name }}
@endforeach
@endif
@endfor @php $totalCells = $startingDayOfWeek + $daysInMonth; $remainingCells = 7 - ($totalCells % 7); @endphp @if($remainingCells < 7) @for($i = 0; $i < $remainingCells; $i++)
@endfor @endif
Approved Leave
Today
@endsection @section('scripts') @endsection