@php $summary = Str::limit(trim(preg_replace('/\s+/', ' ', strip_tags($event->descriptionHtml())) ?? ''), 160); $cancelled = $event->is_cancelled; $past = ! $cancelled && $event->isPast(); $label = $cancelled || $past ? null : $event->timeLabel(); $canJoin = $event->allowsParticipation() && ($event->registration_url || $event->meeting_url); $primary = 'inline-flex min-h-12 w-full items-center justify-center gap-2 rounded-lg bg-accent px-5 font-bold text-accent-ink hover:brightness-105'; $secondary = 'inline-flex min-h-12 w-full items-center justify-center gap-2 rounded-lg px-5 font-bold ring-1 ring-line hover:bg-bg'; @endphp @push('head') @if ($event->coverUrl()) @endif @if ($preview) @endif @endpush @if ($preview)

Vista previa: el público todavía no ve este evento.

@endif
{{-- Hoja de calendario: el mismo rasgo que identifica a un evento en la agenda. --}}

@if ($cancelled) Cancelado @elseif ($past) Finalizado @elseif ($label) {{ $label }} @endif {{ $event->type->name }}

{{ $event->title }}

{{-- Ficha: en celular va antes que la descripción; en escritorio acompaña la lectura. --}}
@if ($relatedNews) Así se vivió {{ $relatedNews->title }} @endif @if ($event->coverUrl()) {{-- Sin recorte: un afiche vertical se ve completo. --}}
{{ $event->cover_alt }}
@endif
{!! $event->descriptionHtml() !!}