@php $useCategoryRoute = $useCategoryRoute ?? false; $selectedCategory = $selectedCategory ?? null; $shopFilterUrl = function (array $overrides = []) { $category = array_key_exists('category', $overrides) ? $overrides['category'] : request('category'); $brand = array_key_exists('brand', $overrides) ? $overrides['brand'] : request('brand'); $params = array_filter([ 'category' => $category, 'brand' => $brand, 'min_price' => request('min_price'), 'max_price' => request('max_price'), ], fn ($value) => $value !== null && $value !== ''); return route('shop', $params); }; $categoryUrl = function ($category) use ($useCategoryRoute, $shopFilterUrl) { if (! $category->slug) { return '#'; } if ($useCategoryRoute) { return route('shop.category', $category->slug); } return $shopFilterUrl(['category' => $category->slug]); }; @endphp