@props([ 'title' => null, 'heading' => null, ]) @php $admin = auth('admin')->user(); /* | Nav is filtered by permission, so an operator is never shown a link that | would 403. Only implemented destinations are listed; the rest arrive | with their phases. */ $nav = collect([ ['label' => 'Dashboard', 'route' => 'admin.dashboard', 'pattern' => 'admin.dashboard', 'permission' => 'dashboard.view', 'icon' => 'M4 13h6V4H4v9Zm10 7h6v-9h-6v9ZM4 20h6v-4H4v4Zm10-11h6V4h-6v5Z'], ['label' => 'VPN Servers', 'route' => 'admin.servers.index', 'pattern' => 'admin.servers.*', 'permission' => 'vpn_servers.view', 'icon' => 'M4 5h16v6H4zM4 13h16v6H4zM7.5 8h.01M7.5 16h.01'], ['label' => 'Locations', 'route' => 'admin.locations.index', 'pattern' => 'admin.locations.*', 'permission' => 'vpn_locations.view', 'icon' => 'M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18ZM3.5 9h17m-17 6h17M12 3c2.5 2.7 3.8 5.7 3.8 9S14.5 18.3 12 21c-2.5-2.7-3.8-5.7-3.8-9S9.5 5.7 12 3Z'], ['label' => 'Plans', 'route' => 'admin.plans.index', 'pattern' => 'admin.plans.*', 'permission' => 'plans.view', 'icon' => 'M3 7h18v10H3zM3 11h18M7 15h3'], ['label' => 'Support', 'route' => 'admin.tickets.index', 'pattern' => 'admin.tickets.*', 'permission' => 'tickets.view', 'icon' => 'M21 12a9 9 0 1 1-3.2-6.9M21 4v5h-5'], ['label' => 'Monitoring', 'route' => 'admin.monitoring.index', 'pattern' => 'admin.monitoring.*', 'permission' => 'monitoring.view', 'icon' => 'M3 17l6-6 4 4 8-8M21 7v5h-5'], ['label' => 'Email templates', 'route' => 'admin.templates.index', 'pattern' => 'admin.templates.*', 'permission' => 'email_templates.manage', 'icon' => 'm3 7 9 6 9-6M3 5h18v14H3z'], ])->filter(fn ($item) => $admin?->hasPermission($item['permission'])); @endphp
@if ($heading)

{{ $heading }}

@endif
@if (session('status')) {{ session('status') }} @endif @if (session('error')) {{ session('error') }} @endif {{-- Shown once, immediately after issue or rotation. The plaintext exists nowhere else — only its hash is stored. --}} @if (session('agent_token'))

This is the only time it will be shown. If you lose it, rotate to get a new one.

{{ session('agent_token') }} Copy
@endif {{ $slot }}
@livewireScriptConfig