{{-- 404 (PRD ยง33): CMS-editable heading and message via the "not found" system page, with links to Home, Projects and Contact (labels are those pages' own titles). Falls back to static copy if the CMS is unreachable. --}} @php try { $resolver = app(\App\Domain\Content\Queries\PageResolver::class); $notFound = $resolver->system(\App\Domain\Content\Enums\SystemPage::NotFound); $links = collect([ [$resolver->homepage()?->title, route('home')], [$resolver->system(\App\Domain\Content\Enums\SystemPage::ProjectsIndex)?->title, route('projects.index')], [$resolver->system(\App\Domain\Content\Enums\SystemPage::Contact)?->title, route('contact')], ]); $heading = $notFound?->title ?: __('portfolio.fallback.not_found_heading'); $message = $notFound?->intro ?: __('portfolio.fallback.not_found_message'); $seo = app(\App\Domain\Site\Seo\SeoResolver::class)->resolve($heading, $message)->noindex(); $chrome = true; } catch (\Throwable) { $chrome = false; } $fallbackLabels = [__('portfolio.fallback.home'), __('portfolio.fallback.projects'), __('portfolio.fallback.contact')]; @endphp @if ($chrome)

404

{{ $heading }}

{{ $message }}

@else @include('errors.static', ['code' => 404, 'heading' => __('portfolio.fallback.not_found_heading'), 'message' => __('portfolio.fallback.not_found_message'), 'withLinks' => true]) @endif