{{-- Overview --}}
  • {{ __('Overview') }}
    • {{ __('Dashboard') }}
        @foreach($dashboards as $dashboard)
      • {{ $dashboard->dashboard_name }}
      • @endforeach
      • @if ($hide_dashboard_editor) {{ __('Show Dashboard Editor') }} @else {{ __('Hide Dashboard Editor') }}@endif
    • @if(Gate::allows('plugin.admin') || $has_v1_plugins || $has_v2_plugins)
    • {{ __('Plugins') }}
        {!! $v1_plugin_menu !!} @foreach($menu_hooks as [$view, $data])
      • @include($view, $data)
      • @endforeach @can('plugin.admin') @if($has_v1_plugins || $has_v2_plugins)
      • @endif
      • {{ __('Plugin Admin') }}
      • @endcan
    • @endif
    • {{ __('Tools') }}
        @can('tools.ripe')
      • {{ __('RIPE NCC API') }}
      • @endcan @config('smokeping.integration')
      • {{ __('Smokeping') }}
      • @endconfig @config('mac_oui.enabled') @can('tools.oui')
      • {{ __('tools.oui.title') }}
      • @endcan @endconfig @config('oxidized.enabled')
      • {{ __('Oxidized') }}
      • @endconfig @can('viewAny', \App\Models\SslCertificate::class)
      • {{ __('SSL Certificates') }}
      • @endcan
    • {{ __('Eventlog') }}
    • @config('enable_syslog')
    • {{ __('syslog.title') }}
    • @endconfig @config('graylog.server')
    • {{ __('Graylog') }}
    • @endconfig
    • {{ __('Inventory') }}
    • @if($package_count)
    • {{ __('Packages') }}
    • @endif
    • {{ __('IPv4 Address') }}
    • {{ __('IPv6 Address') }}
    • {{ __('MAC Address') }}
    • {{ __('ARP Tables') }}
    • {{ __('FDB Tables') }}
  • {{-- Devices --}} @if(! $no_devices_added || Gate::allows('create', \App\Models\Device::class))
  • {{ __('Devices') }}
      @if($no_devices_added)
    • {{ __('No Devices') }} @else
    • $device_types->isNotEmpty()])> {{ __('All Devices') }} @if($device_types->isNotEmpty())
        @foreach($device_types as $type => $icon)
      • {{ ucfirst($type) }}
      • @endforeach
      @endif
    • @endif @if($device_groups->isNotEmpty())
    • {{ __('Device Groups') }}
        @foreach($device_groups as $group)
      • {{ ucfirst($group->name) }}
      • @endforeach
    • @endif @can('viewAny', \App\Models\Location::class) @if($locations->isNotEmpty())
    • {{ __('Geo Locations') }}
      • {{ __('All Locations') }}
      • @foreach($locations as $location)
      • {{ $location->display() }}
      • @endforeach
    • @endif @endcan @can('viewAny', \App\Models\DeviceOutage::class)
    • {{ __('Outages') }}
    • @endcan @if($show_device_extra_divider)
    • @endif @can('viewAny', \App\Models\DeviceGroup::class)
    • {{ __('Manage Groups') }}
    • @endcan @can('device.update')
    • {{ __('Device Dependencies') }}
    • @endcan @if($show_vmwinfo)
    • {{ __('Virtual Machines') }}
    • @endif @canany(['device.create', 'device.delete'])
    • @endcanany @can('device.create')
    • {{ __('Add Device') }}
    • @endcan @can('device.delete')
    • {{ __('Delete Device') }}
    • @endcan
  • @endif {{-- Maps --}}
  • {{ __('Maps') }}
    • {{ __('Availability') }}
    • @if($device_dependencies)
    • {{ __('Device Dependency') }}
    • @endif @if($device_group_dependencies)
    • {{ __('Device Groups Dependencies') }}
        @foreach($device_groups as $group)
      • id") }}" title="{{ $group->desc }}"> {{ ucfirst($group->name) }}
      • @endforeach
    • @endif @if($links)
    • {{ __('Network') }}
    • @endif
    • {{ __('Geographical') }}
    • @if($device_groups->isNotEmpty())
    • {{ __('Device Groups Maps') }}
        @foreach($device_groups as $group)
      • id") }}" title="{{ $group->desc }}"> {{ ucfirst($group->name) }}
      • @endforeach
    • @endif @if($custommaps_groups->isNotEmpty() || $custommaps->isNotEmpty())
    • @foreach($custommaps as $map)
    • {{ $map->name }}
    • @endforeach @if($custommaps_groups->count() < 20) @foreach($custommaps_groups as $map_group => $group_maps)
    • {{ $map_group }}
        @foreach($group_maps as $map)
      • {{ $map->name }}
      • @endforeach
    • @endforeach @else
    • {{__('Custom Map Groups') }}
        @foreach($custommaps_groups as $map_group => $group_maps)
      • {{ $map_group }}
      • @endforeach
    • @endif @endif @can('custom-map.update')
    • {{ __('Custom Map Editor') }}
    • @if(Route::is('maps.custom.show'))
    • {{ __('Edit Current Map') }}
    • @endif
    • {{ __('Custom Node Image Manager') }}
    • @endcan
  • {{-- Ports --}} @if($show_ports_menu)
  • {{ __('Ports') }}
      @can('viewAny', \App\Models\Port::class)
    • {{ __('All Ports') }}
    • @if($port_counts['errored'] > 0)
    • {{ __('Errored :port_count', ['port_count' => $port_counts['errored']]) }}
    • @endif @if($port_counts['ignored'] > 0)
    • {{ __('Ignored :port_count', ['port_count' => $port_counts['ignored']]) }}
    • @endif @endcan @can('viewAny', \App\Models\Vlan::class)
    • {{ __('VLANs') }}
    • @endcan @can('viewAny', \App\Models\Bill::class)
    • {{ __('Traffic Bills') }}
    • @endCan @if($port_counts['pseudowire'] > 0)
    • {{ __('Pseudowires') }}
    • @endif @can('viewAny', \App\Models\Port::class)
    • {{ __('Port Security') }}
    • @if($port_nac)
    • NAC
    • @endif @if($port_groups_exist)
    • @config('int_customers')
    • {{ __('Customers') }}
    • @endconfig @config('int_l2tp')
    • {{ __('L2TP') }}
    • @endconfig @config('int_transit')
    • {{ __('Transit') }}
    • @endconfig @config('int_peering')
    • {{ __('Peering') }}
    • @endconfig @if(\App\Facades\LibrenmsConfig::get('int_peering') && \App\Facades\LibrenmsConfig::get('int_transit'))
    • {{ __('Peering + Transit') }}
    • @endif @config('int_core')
    • {{ __('Core') }}
    • @endconfig @foreach($custom_port_descr as $custom_descr)
    • {{ ucwords($custom_descr['name']) }}
    • @endforeach @endif
    • @can('manage', \App\Models\PortGroup::class)
    • {{ __('Manage Groups') }}
    • @endcan @if($port_groups->isNotEmpty())
    • {{ __('Port Groups') }}
        @foreach($port_groups as $group)
      • {{ ucfirst($group->name) }}
      • @endforeach
    • @endif
    • @if($port_counts['alerted'])
    • {{ __('Alerts :port_count', ['port_count' => $port_counts['alerted']]) }}
    • @endif
    • {{ __('Down :port_count', ['port_count' => $port_counts['down']]) }}
    • {{ __('Disabled :port_count', ['port_count' => $port_counts['shutdown']]) }}
    • @can('port.delete') @if($port_counts['deleted'])
    • {{ __('Deleted :port_count', ['port_count' => $port_counts['deleted']]) }}
    • @endif @endcan @endcan
  • @endif {{-- Sensors --}} @if($show_health_menu)
  • {{ __('Health') }}
      @can('viewAny', \App\Models\Sensor::class)
    • {{ __('Alerts') }}
    • @endcan @can('viewAny', \App\Models\Mempool::class)
    • {{ __('Memory') }}
    • @endcan @can('viewAny', \App\Models\Processor::class)
    • {{ __('Processor') }}
    • @endcan @can('viewAny', \App\Models\Storage::class)
    • {{ __('Storage') }}
    • @endcan @can('viewAny', \App\Models\Sensor::class) @foreach($sensor_menu as $sensor_menu_group) @foreach($sensor_menu_group as $sensor_menu_entry) @if($loop->first)
    • @endif
    • {{ $sensor_menu_entry['descr'] }}
    • @endforeach @endforeach @endcan
  • @endif {{-- Wireless --}} @can('viewAny', \App\Models\WirelessSensor::class) @if($wireless_menu->isNotEmpty())
  • {{ __('wireless.title') }}
      @foreach($wireless_menu as $wireless_menu_entry)
    • {{ $wireless_menu_entry->classDescr() }}
    • @endforeach
  • @endif @endcan {{-- Services --}} @config('show_services') @can('viewAny', \App\Models\Service::class)
  • {{ __('Services') }}
    • {{ __('All Services') }}
    • @can('viewAny', \App\Models\ServiceTemplate::class)
    • {{ __('Services Templates') }}
    • @endcan @if($service_counts['warning'] || $service_counts['critical'])
    • @if($service_counts['warning'])
    • {{ __('Warning :service_count', ['service_count' => $service_counts['warning']]) }}
    • @endif @if($service_counts['critical'])
    • {{ __('Critical :service_count', ['service_count' => $service_counts['critical']]) }}
    • @endif @endif @can('service.create')
    • {{ __('Add Service') }}
    • @endcan
  • @endcan @endconfig {{-- App --}} @if(Gate::allows('viewAny', \App\Models\Application::class) && $app_menu->isNotEmpty())
  • {{ __('Apps') }}
    • {{ __('Overview') }}
    • @foreach($app_menu as $app_type => $app_instances) @if($app_instances->filter->app_instance->isNotEmpty())
    • {{ $app_instances->first()->displayName() }}
        @foreach($app_instances as $app_instance)
      • app_instance") }}"> {{ ucfirst($app_instance->app_instance) }}
      • @endforeach
    • @else
    • {{ $app_instances->first()->displayName() }}
    • @endif @endforeach
  • @endif {{-- Routing --}} @if($routing_menu)
  • {{ __('Routing') }}
      @foreach($routing_menu as $routing_menu_group) @if(!$loop->first)
    • @endif @foreach($routing_menu_group as $routing_menu_entry)
    • {{ $routing_menu_entry['text'] }}
    • @endforeach @endforeach @if($bgp_alerts)
    • {{ __('Alerted BGP :alert_count', ['alert_count' => $bgp_alerts]) }}
    • @endif @can('peering-db.view') @if($show_peeringdb)
    • {{ __('PeeringDB') }}
    • @endif @endcan
  • @endif {{-- Alerts --}}
  • {{ __('Alerts') }}
    • {{ __('Notifications') }}
    • {{ __('Alert History') }}
    • {{ __('Statistics') }}
    • @if($show_alert_divider)
    • @endif @can('viewAny', \App\Models\AlertRule::class)
    • {{ __('Alert Rules') }}
    • @endcan @can('viewAny', \App\Models\AlertOperation::class)
    • {{ __('Operations') }}
    • @endcan @can('viewAny', \App\Models\AlertSchedule::class)
    • {{ __('Scheduled Maintenance') }}
    • @endcan @can('viewAny', \App\Models\AlertTemplate::class)
    • {{ __('Alert Templates') }}
    • @endcan @can('viewAny', \App\Models\AlertTransport::class)
    • {{ __('Alert Transports') }}
    • @endcan
  • @includeIf('menu.custom')
{{-- User --}}
@csrf
  • {{ $notification_count ?: '' }} {{ Auth::user()->username }} {{ __('User') }}
    • {{ $notification_count }} {{ __('Notifications') }}
    • {{ __('My Settings') }}
    • {{ __('Logout') }}
      {{ csrf_field() }}
  • {{ __('settings.title') }}
      @canany(['settings.view', 'settings.update'])
    • {{ __('Global Settings') }}
    • {{ __('Validate Config') }}
    • @endcanany @can('viewAny', \App\Models\User::class)
    • {{ __('Manage Users') }}
    • @endcan @can('auth-log.view')
    • {{ __('Auth History') }}
    • @endcan @if(Gate::allows('viewAny', \App\Models\PollerCluster::class) || Gate::allows('viewAny', \App\Models\PollerGroup::class))
    • {{ __('Poller') }}
        @can('viewAny', \App\Models\PollerCluster::class)
      • {{ __('Poller') }}
      • @endcan @can('viewAny', \App\Models\PollerGroup::class)
      • {{ __('Groups') }}
      • @endcan @can('poller.update')
      • {{ __('Settings') }}
      • @endcan @can('viewAny', \App\Models\PollerCluster::class)
      • {{ __('Performance') }}
      • {{ __('Log') }}
      • @endcan
    • @endif @can('api.access')
    • {{ __('API') }}
      • {{ __('API Tokens') }}
      • {{ __('API Docs') }}
    • @endcan
      • {{ __('Pause') }}
      • {{ __('Refresh') }}
    • {{ __('About :project_name', ['project_name' => $project_name]) }}