@php $cal = $calendarioData; $primerDiaSemana = $cal['primerDia']->dayOfWeek; // 0 = Domingo, 1 = Lunes, etc. $diasEnMes = $cal['ultimoDia']->day; $mesAnterior = $cal['primerDia']->copy()->subMonth(); $mesSiguiente = $cal['primerDia']->copy()->addMonth(); $paramsBase = request()->except(['mes', 'anio', 'vista']); $paramsBase['vista'] = 'calendario'; @endphp

{{ $cal['nombreMes'] }}

{{-- Encabezados de días de la semana --}}
Dom
Lun
Mar
Mié
Jue
Vie
Sáb
{{-- Celdas vacías antes del primer día --}} @for($i = 0; $i < $primerDiaSemana; $i++)
@endfor {{-- Días del mes --}} @for($dia = 1; $dia <= $diasEnMes; $dia++) @php $reunionesDia = $cal['reunionesPorDia'][$dia] ?? []; $esHoy = $dia == now()->day && $cal['mes'] == now()->month && $cal['anio'] == now()->year; @endphp
{{ $dia }}
@if(count($reunionesDia) > 0)
@foreach($reunionesDia as $reunion) @php $horaInicio = \Carbon\Carbon::parse($reunion->hora_inicio)->format('H:i'); $estadoClass = match($reunion->estado) { 'Agendada' => 'bg-info', 'Realizada' => 'bg-success', 'Cancelada' => 'bg-danger', 'Reprogramada' => 'bg-warning', default => 'bg-secondary' }; @endphp {{ $horaInicio }} {{ $reunion->contacto->user->nombre }} @endforeach
@endif
@endfor