query('q', '')); $sort = $request->query('sort', 'latest'); $sortMap = [ 'popular' => 'views:desc', 'likes' => 'likes:desc', 'latest' => 'created_at:desc', 'downloads' => 'downloads:desc', ]; $artworks = null; $popular = collect(); if ($q !== '') { $artworks = $this->search->search($q, [ 'sort' => ($sortMap[$sort] ?? 'created_at:desc'), ]); } else { $popular = $this->search->popular(16)->getCollection(); } return view('search.index', [ 'q' => $q, 'sort' => $sort, 'artworks' => $artworks ?? collect()->paginate(0), 'popular' => $popular, 'page_title' => $q !== '' ? 'Search: ' . $q . ' — Skinbase' : 'Search — Skinbase', 'page_meta_description' => 'Search Skinbase for artworks, photography, wallpapers and skins.', 'page_robots' => 'noindex,follow', ]); } }