@php $gridV2 = request()->query('grid') === 'v2'; $seoPage = (int) request()->query('page', 1); $seoBase = url()->current(); $seoCanonical = $seoPage > 1 ? $seoBase . '?page=' . $seoPage : $seoBase; $seoPrev = $seoPage > 1 ? ($seoPage === 2 ? $seoBase : $seoBase . '?page=' . ($seoPage - 1)) : null; $seoNext = (isset($latestUploads) && method_exists($latestUploads, 'hasMorePages') && $latestUploads->hasMorePages()) ? $seoBase . '?page=' . ($seoPage + 1) : null; $homeUploadsItems = collect(method_exists($latestUploads ?? null, 'items') ? $latestUploads->items() : ($latestUploads ?? [])); $homeGalleryArtworks = $homeUploadsItems->map(fn ($upload) => [ 'id' => $upload->id ?? null, 'name' => $upload->name ?? $upload->title ?? null, 'slug' => $upload->slug ?? \Illuminate\Support\Str::slug($upload->name ?? $upload->title ?? 'artwork'), 'url' => $upload->url ?? ((isset($upload->id) && $upload->id) ? '/art/' . $upload->id . '/' . ($upload->slug ?? \Illuminate\Support\Str::slug($upload->name ?? $upload->title ?? 'artwork')) : '#'), 'thumb' => $upload->thumb ?? $upload->thumb_url ?? null, 'thumb_url' => $upload->thumb_url ?? $upload->thumb ?? null, 'thumb_srcset' => $upload->thumb_srcset ?? null, 'uname' => $upload->uname ?? $upload->author_name ?? '', 'username' => $upload->username ?? $upload->uname ?? '', 'avatar_url' => $upload->avatar_url ?? null, 'content_type_name' => $upload->content_type_name ?? '', 'content_type_slug' => $upload->content_type_slug ?? '', 'category_name' => $upload->category_name ?? '', 'category_slug' => $upload->category_slug ?? '', 'width' => $upload->width ?? null, 'height' => $upload->height ?? null, 'published_at' => !empty($upload->published_at) ? (method_exists($upload->published_at, 'toIsoString') ? $upload->published_at->toIsoString() : (string) $upload->published_at) : null, ]); $homeGalleryNextPageUrl = method_exists($latestUploads ?? null, 'nextPageUrl') ? $latestUploads->nextPageUrl() : null; @endphp @push('head') @if(!empty($seoPrev ?? null))@endif @if(!empty($seoNext ?? null))@endif @endpush {{-- Latest uploads grid — use same Nova gallery layout as /browse --}}
@push('styles') @if(! ($gridV2 ?? false)) @endif @endpush @push('scripts') @vite('resources/js/entry-masonry-gallery.jsx') @endpush