@props([
'active' => null, // App\Enums\GalleryCategory — categoría activa (tipada) o
// null (índice de galería): ningún ítem del nav se marca y el
// tema/copy caen al default (pools / "Inspiration Gallery").
'image' => null,
'alt' => '',
'title' => null, // override del h1; default = label de la categoría activa
'subtitle' => null, // override del párrafo; default = copy por categoría
])
@php
use App\Enums\GalleryCategory;
// La lista de categorías sale de la ÚNICA fuente (el enum), no de literales.
$categories = GalleryCategory::all();
// Tema del tint: la categoría activa o, sin activa (índice), pools por defecto.
$theme = $active?->value ?? GalleryCategory::Pools->value;
$title ??= $active?->label() ?? 'Inspiration Gallery';
$subtitle ??= $active
? 'Real South Florida ' . strtolower($active->label()) . ' projects — designed and built to impress.'
: 'Dreams brought to life.';
@endphp
{{-- Hero de galería v2: MISMA estructura que heroes/home.blade.php (imagen
full-bleed + .hero-tint + bloque de contenido en container/flex-1/pb-12),
pero con imagen ESTÁTICA (sin Swiper) y, donde home tiene los bullets de
paginación, acá va el nav de categorías (reusado tal cual del hero de
galería anterior — heroes/gallery.blade.php, que se conserva intacto).
Color del tint por categoría: home decide el tema con CSS :has() porque
el slide activo lo mueve el DOM del Swiper en runtime; acá la categoría
activa ya la sabe PHP al renderizar, así que no hace falta :has() — la
sección lleva data-theme="{{ $active->value }}" y app.css setea
--hero-tint-color por ese atributo (ÚNICA fuente de color; el nav/select
de abajo, reusado del hero viejo, sigue leyendo --gallery-accent, que
dentro de [data-theme] es solo un alias de --hero-tint-color — ver
app.css, no hay valor duplicado). --}}
@if ($image)
@endif
{{-- Overlay de lectura + tinte por categoría (ver .hero-tint y el bloque
[data-theme] en app.css). Mismo elemento/mecanismo que home. --}}
Inspiration Gallery
{{ $title }}
{{ $subtitle }}
{{-- Nav de categorías (reusado del hero de galería original) en el lugar donde
home tiene la paginación del slider. z-20 para quedar sobre .hero-tint. --}}
@push('scripts')
@endpush