@php /** Left utility sidebar — browse by ESTABLISHMENT / store type (Bakery, Cafe & * Coffee, Ice Cream & Gelato, Patisserie, Diner & Grill, Fine Dining, Bistro). * Dish types / dietary / protein live in the "Browse by food type" strip, not here. * Page/quick links live in the header "Pages" mega-menu + the account dropdown. */ $tags = (new \App\Models\Tag())->withCounts('store_type'); // Baseline taxonomy ships with the schema — the rail only advertises store types // that have a live restaurant, and says so plainly when none do yet. $tags = collect($tags ?? []) ->filter(static fn ($row): bool => (int) ($row['restaurant_count'] ?? 0) > 0) ->values()->all(); // Polished 3D icons (one webp per store-type slug); FA glyph fallback when absent. $has3d = []; foreach (glob(public_path() . '/assets/client/icons3d/*.png') ?: [] as $p) { $has3d[basename($p, '.png')] = true; } @endphp