@extends('layouts.public') @section('content') @php /** * Modern blog archive — creative subheader + dense two-sidebar layout + rich cards. * Pairs with the blog-modern-sidebar-left / blog-modern-sidebar-right partials. * * @var array $posts archive rows (+ tags[], author_avatar) * @var array $pager paginate() array * @var array $popularPosts 4 rows (+ tags[]) for the left sidebar * @var array $tagCloud [['label'=>..,'url'=>..], ..] deduped * @var array $categories [['name'=>..,'slug'=>..,'post_count'=>..], ..] * @var array $featuredRestaurants restaurant rows for the left sidebar * @var array|null $featured most-viewed post row (or null) for the right sidebar * @var string $activeCat selected category slug * @var string $catName selected category display name * @var string $activeTag selected tag slug * @var string $tagName selected tag display name * @var string $searchTerm current search query */ $posts = $posts ?? []; $activeCat = $activeCat ?? ''; $catName = $catName ?? ''; $activeTag = $activeTag ?? ''; $tagName = $tagName ?? ''; $searchTerm = $searchTerm ?? ''; $categories = $categories ?? []; $popularPosts = $popularPosts ?? []; $tagCloud = $tagCloud ?? []; $featuredRestaurants = $featuredRestaurants ?? []; $featured = $featured ?? null; $two = $twoSidebars ?? true; // admin: two sidebars (default) or one (right only) $isFiltered = ($activeCat !== '' || $activeTag !== '' || $searchTerm !== ''); @endphp @partial('subheader', [ 'type' => 'post', 'title' => t_raw('blog.modern_title'), 'description' => t_raw('blog.modern_lead'), 'eyebrow' => t_raw('blog.eyebrow_from_kitchen'), 'crumbs' => [['label' => t_raw('common.home'), 'url' => route('home')], ['label' => t_raw('footer.blog')]], ])
@if ($two) @endif
@if ($isFiltered) @php $postCount = count($posts); if ($searchTerm !== '' && $catName !== '') { $filterMsg = t_raw($postCount === 1 ? 'blog.filter_result_one_in_cat' : 'blog.filter_result_many_in_cat', [':n' => $postCount, ':term' => e($searchTerm), ':cat' => '' . e($catName) . '']); } elseif ($searchTerm !== '' && $tagName !== '') { $filterMsg = t_raw($postCount === 1 ? 'blog.filter_result_one_in_tag' : 'blog.filter_result_many_in_tag', [':n' => $postCount, ':term' => e($searchTerm), ':tag' => '' . e($tagName) . '']); } elseif ($searchTerm !== '') { $filterMsg = t_raw($postCount === 1 ? 'blog.filter_result_one' : 'blog.filter_result_many', [':n' => $postCount, ':term' => e($searchTerm)]); } elseif ($activeTag !== '') { $filterMsg = t_raw('blog.showing_posts_tagged', [':tag' => '' . e($tagName !== '' ? $tagName : $activeTag) . '']); } else { $filterMsg = t_raw('blog.showing_posts_in', [':cat' => '' . e($catName !== '' ? $catName : $activeCat) . '']); }; @endphp @endif @if ($posts)
@foreach ($posts as $p)
@if (!empty($p['category_name'])) {{ $p['category_name'] }} @endif

{{ $p['title'] }}

{{ str_excerpt((string) $p['excerpt'], 24) }}

@php $cardTags = $p['tags'] ?? []; @endphp @if ($cardTags)
@foreach ($cardTags as $t) {{ $t['label'] }} @endforeach
@endif
{!! ($p['author_name'] ?? '') !== '' ? e($p['author_name']) : t('blog.admin_fallback_name') !!} @if (!empty($p['published_at'])) @endif {{ t_raw('blog.read_more') }}
@endforeach
@else
@if ($isFiltered)

{{ t_raw('blog.no_posts_match_filter') }}

{{ t_raw('blog.view_all_posts_btn') }} @else

{{ t_raw('blog.no_posts_published') }}

@endif
@endif @partial('pagination', ['pager' => $pager ?? [], 'base' => '/blog'])
@endsection