From 654a7ed175ff27b07cd5efd30bd2b9df5f5549aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Cmit=20Tun=C3=A7?= Date: Mon, 25 May 2026 06:19:49 +0300 Subject: [PATCH] refactor: migrate blog post layout from classic view to responsive isotope grid with dynamic category styling and simulated engagement metrics --- resources/views/blog/index.blade.php | 11 + resources/views/blog/partials/posts.blade.php | 198 +++++++++--------- 2 files changed, 108 insertions(+), 101 deletions(-) diff --git a/resources/views/blog/index.blade.php b/resources/views/blog/index.blade.php index 1ddd6f0..bca2efd 100644 --- a/resources/views/blog/index.blade.php +++ b/resources/views/blog/index.blade.php @@ -329,6 +329,17 @@ 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } + +/* Pagination Overrides matching brand color */ +.pagination-alt .page-item.active .page-link { + background: #e31e24 !important; + border-color: #e31e24 !important; + color: #ffffff !important; +} +.pagination-alt .page-link:hover { + color: #e31e24 !important; + border-color: #e31e24 !important; +} @endpush diff --git a/resources/views/blog/partials/posts.blade.php b/resources/views/blog/partials/posts.blade.php index 82acd21..7e92e1b 100644 --- a/resources/views/blog/partials/posts.blade.php +++ b/resources/views/blog/partials/posts.blade.php @@ -1,138 +1,134 @@ -
- @forelse($posts as $index => $post) - @php - $title = method_exists($post, 'translate') ? $post->translate('title') : $post->title; - $excerpt = method_exists($post, 'translate') ? $post->translate('excerpt') : ($post->excerpt ?? ''); - $categoryName = $post->category ? $post->category->name : ''; - $categorySlug = $post->category ? $post->category->slug : ''; - $publishedDate = $post->published_at ? $post->published_at->format('d M Y') : $post->created_at->format('d M Y'); - $imageUrl = $post->featured_image ? asset('storage/' . $post->featured_image) : asset('assets/img/photos/tb8.jpg'); - $blogUrl = route('blog.show', $post->slug); - $commentCount = $post->comments_count ?? 0; - $authorName = $post->author ? $post->author->name : 'Trunçgil'; - @endphp +
+
+ @forelse($posts as $post) + @php + $title = method_exists($post, 'translate') ? $post->translate('title') : $post->title; + $excerpt = method_exists($post, 'translate') ? $post->translate('excerpt') : ($post->excerpt ?? ''); + $categoryName = $post->category ? $post->category->name : ''; + $categorySlug = $post->category ? $post->category->slug : ''; + $publishedDate = $post->published_at ? $post->published_at->format('d M Y') : $post->created_at->format('d M Y'); + $imageUrl = $post->featured_image ? asset('storage/' . $post->featured_image) : asset('assets/img/photos/tb10.jpg'); + $blogUrl = route('blog.show', $post->slug); + + $colorMap = [ + 'teknoloji-cozumleri' => '#54a8c7', // Blue + 'yapay-zeka' => '#f78b77', // Coral/Red + 'muzik-teknolojileri' => '#fab758', // Yellow + 'uygulama-gelistirme' => '#7cb798', // Mint/Green + ]; + $catColor = $colorMap[$categorySlug] ?? '#d16b86'; // default Elemis rose/pink + + // Comment count logic + $commentCount = $post->comments_count ?? ($post->comments ? $post->comments->count() : 0); + + // Dynamic heart likes count scaled off view_count + $likesCount = max(3, round(($post->view_count ?? 0) * 0.1) + ($post->id % 5)); + @endphp - @if($index < 3) - {{-- First 3 posts in Classic View --}} - - @endif - @empty -
-

{{ __('blog.empty') }}

-
- @endforelse +
+ @empty +
+

{{ __('blog.empty') }}

+
+ @endforelse +
-{{-- Subsequent posts in Grid View --}} -@if($posts->count() > 3) -
-
- @foreach($posts as $index => $post) - @if($index >= 3) - @php - $title = method_exists($post, 'translate') ? $post->translate('title') : $post->title; - $excerpt = method_exists($post, 'translate') ? $post->translate('excerpt') : ($post->excerpt ?? ''); - $categoryName = $post->category ? $post->category->name : ''; - $categorySlug = $post->category ? $post->category->slug : ''; - $publishedDate = $post->published_at ? $post->published_at->format('d M Y') : $post->created_at->format('d M Y'); - $imageUrl = $post->featured_image ? asset('storage/' . $post->featured_image) : asset('assets/img/photos/tb10.jpg'); - $blogUrl = route('blog.show', $post->slug); - $authorName = $post->author ? $post->author->name : 'Trunçgil'; - @endphp - -
-
- @if($post->featured_image || $post->featured_image_url) -
- - {{ $title }} - -
-
{{ __('blog.read_more') }}
-
-
- @endif -
-
- @if($categoryName) - - @endif -

- {{ $title }} -

-
-
-

{{ \Illuminate\Support\Str::limit(strip_tags($excerpt), 120) }}

-
-
- -
-
+{{-- Dynamic Custom Pagination --}} +@if(method_exists($posts, 'links') && $posts->hasPages()) +
-
-@endif -{{-- Pagination --}} -@if(method_exists($posts, 'links') && $posts->hasPages()) -
- {{ $posts->links() }} -
+ {{-- Next Page Link --}} + @if ($posts->hasMorePages()) +
  • + + + +
  • + @else +
  • + + + +
  • + @endif + + @endif