@php // Normalize link for comparison $menuLink = trim($menu['link'], '/'); $isActive = request()->is($menuLink) || url($menu['link']) == url()->current(); $hasChildren = isset($menu['child']) && is_array($menu['child']) && count($menu['child']) > 0; // Check if any child is active $isChildActive = false; if ($hasChildren) { foreach ($menu['child'] as $child) { $childLink = trim($child['link'], '/'); if (request()->is($childLink) || url($child['link']) == url()->full()) { $isChildActive = true; break; } } } // Parent should be active if either it or any child is active $isActive = $isActive || $isChildActive; @endphp