@props([ 'post' => null, 'href' => null, 'category' => 'Guía', ]) @php /* | Blog tile for an OLDER audience: cover photo on top, copy below on the | light card, and an EXPLICIT "Leer más →" TEXT LINK — the arrow is | decoration, never the sole affordance. The whole card is still tappable | (cover + title are links) but the action is clearly labelled as an | accent-coloured link with an underline offset, matching the section-level | "Ver todo el blog" link, so it never competes with the page's CTA. */ $title = data_get($post, 'title', 'Artículo'); $slug = data_get($post, 'slug'); $excerpt = data_get($post, 'excerpt'); $photo = data_get($post, 'image'); $webp = data_get($post, 'image_webp'); $readingTime = data_get($post, 'reading_time'); $publishedAt = data_get($post, 'published_at'); $date = $publishedAt instanceof \Carbon\CarbonInterface ? $publishedAt->format('d/m/Y') : null; $meta = collect([ filled($readingTime) ? $readingTime.' min de lectura' : null, $date, ])->filter()->implode(' · '); $link = $href ?? ($slug ? route('posts.show', ['post' => $slug]) : '#'); $categoryLabel = filled(data_get($post, 'category')) ? data_get($post, 'category') : $category; @endphp
merge(['class' => 'group flex h-full flex-col overflow-hidden border border-line bg-surface-raised shadow-soft']) }}> {{-- Cover photo, 16:9, full card width, image-first but never carrying text. --}}
{{-- Category label: primary-accent text only, no background. --}} {{ $categoryLabel }}

{{ $title }}

@if (filled($excerpt))

{{ $excerpt }}

@endif @if (filled($meta))

{{ $meta }}

@endif {{-- Explicit action: a labelled text link (≥44px, accent text with an underline offset) so the older audience always sees a clear affordance without a competing button box. --}} Leer más