@php $menuInstance = $menuInstance ?? 'vertical'; $children = collect($menuItem->children ?? [])->filter(fn ($child) => empty($child->permission) || staff_has_permission($child->permission)); $hasChildren = $children->isNotEmpty(); $isActive = !$hasChildren && is_subroute(route($menuItem->route, [], false)); $isGroupActive = $hasChildren && $children->contains(function ($child) { if (empty($child->children)) { return is_subroute(route($child->route, [], false)); } return collect($child->children) ->filter(fn ($grandChild) => empty($grandChild->permission) || staff_has_permission($grandChild->permission)) ->contains(fn ($grandChild) => is_subroute(route($grandChild->route, [], false))); }); @endphp