@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), ], ]; $sentinelMenuItems = [ [ 'label' => 'Configuration', 'route' => 'server.sentinel', 'active' => request()->routeIs('server.sentinel'), ], [ 'label' => 'Logs', 'route' => 'server.sentinel.logs', 'active' => request()->routeIs('server.sentinel.logs'), ], ]; $serverPageItems = array_values(array_filter( $serverPageItems, fn (array $item): bool => $item['visible'] ?? true, )); $activeSentinelMenuItem = collect($sentinelMenuItems)->firstWhere('active', true) ?? $sentinelMenuItems[0]; $activeSentinelMenuValue = 'navigate|sentinel|'.route($activeSentinelMenuItem['route'], $parameters); @endphp
@can('viewSentinel', $server)
@endcan