@props([ 'sections' => [], ]) @php $isActive = function (string $route): bool { return request()->routeIs($route) || request()->routeIs(str_replace('.index', '.*', $route)) || request()->routeIs(str_replace('.home', '.*', $route)); }; @endphp @foreach ($sections as $section) @php $collapsible = $section['collapsible'] ?? true; $items = $section['items'] ?? []; $visibleItems = collect($items)->filter(function ($item) { $permission = $item['permission'] ?? null; return $permission === null || auth()->user()?->can($permission); }); if ($visibleItems->isEmpty()) { continue; } $groupActive = $visibleItems->contains(fn ($item) => $isActive($item['route'])); $defaultOpen = $section['default_open'] ?? false; @endphp
@endforeach