@php $active = $active ?? 'nodes'; $tabs = [ 'nodes' => ['label' => 'Nodes', 'route' => 'admin.firewallplus.nodes'], 'settings' => ['label' => 'Settings', 'route' => 'admin.firewallplus.settings'], 'presets' => ['label' => 'Presets', 'route' => 'admin.firewallplus.presets'], 'servers' => ['label' => 'Servers & SMART', 'route' => 'admin.firewallplus.servers'], 'server-rules' => ['label' => 'Server Rules', 'route' => 'admin.firewallplus.server-rules'], 'activity' => ['label' => 'Activity', 'route' => 'admin.firewallplus.activity'], 'operations' => ['label' => 'Queue & Cleanups', 'route' => 'admin.firewallplus.operations'], 'emergency' => ['label' => 'Incident Controls','route' => 'admin.firewallplus.emergency'], 'license' => ['label' => 'License', 'route' => 'admin.firewallplus.license'], ]; // Until the license is active, only the License tab is reachable, so the // rest of the navigation is hidden to match the gated routes. try { $licenseHealthy = app(\Pterodactyl\Services\FirewallPlus\Integrity\NodeIntegrityService::class)->healthy(); } catch (\Throwable $e) { $licenseHealthy = true; } if (!$licenseHealthy) { $tabs = ['license' => $tabs['license']]; $active = 'license'; } @endphp