{{-- Índice de la galería de inspiración (paridad con gallery/index de Apex): hero de galería SIN categoría activa (tema pools por defecto), grid de cards una por categoría (links a las páginas show) y un carrusel Swiper con una muestra aleatoria de fotos reales ($inspiration, armado en routes/web.php). El SEO lo resuelve PageSeoService por nombre de vista (gallery.index). --}} @extends('layouts.landing') @php use App\Enums\GalleryCategory; // Palabra-gancho por card (mismo recurso que las gradient-cards de Apex: // MAJESTIC/STUNNING/...). Keyed por slug del enum — una simple variable. $cardHeaders = [ 'pools' => 'Majestic', 'patios' => 'Stunning', 'driveways' => 'Beautiful', 'concrete-overlays' => 'Unique', ]; @endphp @section('hero') {{-- active null: ningún ítem del nav marcado; tema/copy default (pools / "Inspiration Gallery"). La imagen reusa el hero de pools (default pactado). --}} @endsection @section('content') {{-- Cards por categoría: el grid sale del enum (fuente única) — agregar una categoría suma su card sola. Imagen = el mismo hero-{slug}.jpg de la show; acento por categoría vía --menu-accent (token del enum, patrón del item 05). --}}
{{-- Carrusel de inspiración: muestra aleatoria de fotos reales de storage (routes/web.php). Mismo patrón Swiper que reviews (autoplay + pausa offscreen — inspiration-carousel.js). Si storage está vacío, la sección no se renderiza (progressive: nada de placeholders rotos). --}} @if (count($inspiration) > 0)
Fresh Ideas

A Peek at Our Latest Work

@foreach ($inspiration as $item) @endforeach
@endif @endsection