@props(['vaccine', 'tipo', 'rut']) @php // Determinar el estado para Influenza $estadoInfluenza = null; $iconoEstado = '❌'; $textoEstado = 'No subido'; $claseEstado = 'text-muted'; if ($vaccine && $vaccine['preview'] !== null) { if ($tipo === 'Influenza' && isset($vaccine['date'])) { try { $fechaVacuna = \Carbon\Carbon::parse($vaccine['date']); $lastYearJanuary1 = \Carbon\Carbon::create(now()->year - 1, 1, 1); $currentYearMarch31 = \Carbon\Carbon::create(now()->year, 3, 31); // Si la fecha es posterior al 1 de enero del año pasado // Y menor o igual al 31 de marzo del año actual if ($fechaVacuna->greaterThan($lastYearJanuary1) && $fechaVacuna->lessThanOrEqualTo($currentYearMarch31)) { $estadoInfluenza = 'warning'; $iconoEstado = '⏰'; $textoEstado = 'Próx. a vencer'; $claseEstado = 'text-warning'; } // Si la fecha es anterior al 1 de enero del año pasado elseif ($fechaVacuna->lessThan($lastYearJanuary1)) { $estadoInfluenza = 'expired'; $iconoEstado = '⚠️'; $textoEstado = 'Vencido'; $claseEstado = 'text-danger'; } // Si la fecha es posterior al 31 de marzo del año actual else { $estadoInfluenza = 'success'; $iconoEstado = '✅'; $textoEstado = 'Vigente'; // Cambiado de "Subido" a "Vigente" $claseEstado = 'text-success'; } } catch (\Exception $e) { $iconoEstado = '✅'; $textoEstado = 'Subido'; $claseEstado = 'text-success'; } } else { $iconoEstado = '✅'; $textoEstado = 'Subido'; $claseEstado = 'text-success'; } } @endphp @if (!$vaccine || $vaccine['preview'] === null)
No subido
S/I
@else
{{-- Icono de estado --}}
{{ $iconoEstado }}
{{ $textoEstado }}
{{-- Botones --}}
@if ($vaccine['preview']) Ver @endif
{{-- Mostrar fechas según el tipo --}} @if (isset($vaccine['date']))
@if ($tipo === 'Hepatitis B' && isset($vaccine['fecha_2']) && isset($vaccine['fecha_3'])) {{-- Diseño compacto para Hepatitis B con tooltip --}}
@php $fecha1 = \Carbon\Carbon::parse($vaccine['fecha_3']); $fecha2 = \Carbon\Carbon::parse($vaccine['fecha_2']); $fecha3 = \Carbon\Carbon::parse($vaccine['date']); @endphp {{-- Mostrar solo la última fecha con ícono --}} {{ $fecha3->format('d/m/Y') }}
(3 dosis)
@elseif ($tipo === 'Influenza') {{-- Para Influenza, mostrar fecha con indicador de estado --}}
@php try { $fechaFormateada = \Carbon\Carbon::parse($vaccine['date'])->format('d/m/Y'); } catch (\Exception $e) { $fechaFormateada = 'Fecha inválida'; } @endphp {{ $fechaFormateada }} {{-- Mostrar estado adicional para Influenza --}} @if ($estadoInfluenza === 'expired') Vencida @endif
@else {{-- Para Covid y Fotografía --}} @php try { $fechaFormateada = \Carbon\Carbon::parse($vaccine['date'])->format('d/m/Y'); } catch (\Exception $e) { $fechaFormateada = 'Fecha inválida'; } @endphp {{ $fechaFormateada }} {{-- Indicador para fotografía --}} @if ($tipo === 'Fotografía') Foto @endif @endif
@endif
@endif {{-- Script para inicializar tooltips --}} @push('scripts') @endpush