@extends('layouts.nova') @php use App\Banner; use App\Models\Category; use Illuminate\Pagination\LengthAwarePaginator; // Determine a sensible category/context for this artwork so the // legacy layout (sidebar + hero) can be rendered similarly to // category listing pages. $category = $artwork->categories->first() ?? null; $contentType = $category ? $category->contentType : null; if ($contentType) { $rootCategories = Category::where('content_type_id', $contentType->id) ->whereNull('parent_id') ->orderBy('sort_order') ->get(); } else { $rootCategories = collect(); } $subcategories = $category ? $category->children()->orderBy('sort_order')->get() : collect(); // Provide an empty paginator to satisfy any shared pagination partials $artworks = new LengthAwarePaginator([], 0, 24, 1, ['path' => request()->url()]); @endphp @section('content')
@php Banner::ShowResponsiveAd(); @endphp
@if($contentType) {{ $contentType->name }} @endif @if($category) @foreach ($category->breadcrumbs as $crumb) {{ $crumb->name }} @endforeach @endif
@php $breadcrumbs = $category ? (is_array($category->breadcrumbs) ? $category->breadcrumbs : [$category]) : []; $headerCategory = !empty($breadcrumbs) ? end($breadcrumbs) : ($category ?? null); @endphp

{{ $headerCategory->name ?? $artwork->title }}

{{ $artwork->title }}

{!! $artwork->description ?? ($headerCategory->description ?? ($contentType->name ?? 'Artwork')) !!}

{{ $artwork->title }}
@if(isset($similarItems) && $similarItems->isNotEmpty())

Similar artworks

@endif
@php $jsonLdType = str_starts_with((string) ($artwork->mime_type ?? ''), 'image/') ? 'ImageObject' : 'CreativeWork'; $keywords = $artwork->tags()->pluck('name')->values()->all(); $jsonLd = [ '@context' => 'https://schema.org', '@type' => $jsonLdType, 'name' => (string) $artwork->title, 'description' => trim(strip_tags((string) ($artwork->description ?? ''))), 'author' => [ '@type' => 'Person', 'name' => (string) optional($artwork->user)->name, ], 'datePublished' => optional($artwork->published_at)->toAtomString(), 'url' => request()->url(), 'image' => (string) ($artwork->thumbnail_url ?? ''), 'keywords' => $keywords, ]; @endphp @if(isset($similarItems) && $similarItems->isNotEmpty()) @endif @endsection @push('styles') @endpush