@php $serverPageItems = [ [ 'label' => 'Configuration', 'route' => 'server.show', 'active' => request()->routeIs('server.show', 'server.advanced', 'server.private-key', 'server.cloud-provider-token', 'server.ca-certificate', 'server.cloudflare-tunnel', 'server.docker-cleanup', 'server.destinations', 'server.log-drains', 'server.metrics', 'server.swarm', 'server.delete'), ], [ 'label' => 'Proxy', 'route' => 'server.proxy', 'active' => request()->routeIs('server.proxy', 'server.proxy.*'), 'visible' => ! $server->isSwarmWorker() && ! $server->settings->is_build_server, ], [ 'label' => 'Sentinel', 'route' => 'server.sentinel', 'active' => request()->routeIs('server.sentinel', 'server.sentinel.*'), 'visible' => $server->isFunctional() && ! $server->isSwarm() && ! $server->settings->is_build_server && auth()->user()?->can('viewSentinel', $server), ], [ 'label' => 'Resources', 'route' => 'server.resources', 'active' => request()->routeIs('server.resources'), ], [ 'label' => 'Terminal', 'route' => 'server.command', 'active' => request()->routeIs('server.command'), 'navigate' => false, 'visible' => auth()->user()?->can('canAccessTerminal'), ], [ 'label' => 'Security', 'route' => 'server.security.patches', 'active' => request()->routeIs('server.security.patches'), 'visible' => auth()->user()?->can('update', $server), ], ]; $securityMenuItems = [ [ 'label' => 'Server Patching', 'route' => 'server.security.patches', 'active' => request()->routeIs('server.security.patches'), ], [ 'label' => 'Terminal Access', 'route' => 'server.security.terminal-access', 'active' => request()->routeIs('server.security.terminal-access'), 'navigate' => false, ], ]; $serverPageItems = array_values(array_filter( $serverPageItems, fn (array $item): bool => $item['visible'] ?? true, )); $activeSecurityMenuItem = collect($securityMenuItems)->firstWhere('active', true) ?? $securityMenuItems[0]; $activeSecurityMenuValue = (($activeSecurityMenuItem['navigate'] ?? true) ? 'navigate' : 'location').'|security|'.route($activeSecurityMenuItem['route'], $parameters); @endphp