artworks = $artworks; } public function index(Request $request) { $perPage = 39; $type = (int) ($request->query('type', 4)); $typeFilter = $type === 4 ? null : $type; $artworks = $this->artworks->getFeaturedArtworks($typeFilter, $perPage); $artworks->getCollection()->transform(function (Artwork $artwork) { $primaryCategory = $artwork->categories->sortBy('sort_order')->first(); $categoryName = $primaryCategory->name ?? ''; $gid = $primaryCategory ? ((int) $primaryCategory->id % 5) * 5 : 0; $present = \App\Services\ThumbnailPresenter::present($artwork, 'md'); return (object) [ 'id' => $artwork->id, 'name' => $artwork->title, 'category_name' => $categoryName, 'gid_num' => $gid, 'thumb_url' => $present['url'], 'thumb_srcset' => $present['srcset'] ?? $present['url'], 'uname' => $artwork->user->name ?? 'Skinbase', ]; }); $artworkTypes = [ 1 => 'Bronze Awards', 2 => 'Silver Awards', 3 => 'Gold Awards', 4 => 'Featured Artworks', ]; $pageTitle = $artworkTypes[$type] ?? 'Featured Artworks'; return view('legacy::featured-artworks', [ 'artworks' => $artworks, 'type' => $type, 'artworkTypes' => $artworkTypes, 'page_title' => $pageTitle, ]); } }