{{-- Left Side: Administration Dropdown + Create Ticket --}}
{{-- Administration Dropdown on Left --}}
{{ __('Administration') }}
{{ __('Admin') }}
{{-- Core System Items (always visible) --}}
{{ __('System Health') }}
{{ __('General Settings') }}
@if(auth()->user()->hasRole('superadmin'))
{{ __('Extensions') }}
@endif
{{-- Extension-provided Administration Menu Items (via hooks) --}}
@php
$hookManager = app(\App\Extensions\Hooks\HookManager::class);
$collectedNavItems = $hookManager->collect(\App\Extensions\Hooks\Hooks::UI_NAVIGATION_MENU);
// Flatten the collected items (extensions return arrays of items)
$allNavItems = [];
foreach ($collectedNavItems as $items) {
if (is_array($items)) {
// Check if it's a single item or array of items
if (isset($items['label'])) {
// Single item (wrapped in array)
$allNavItems[] = $items;
} else {
// Array of items (like Knowledgebase returning multiple items)
$allNavItems = array_merge($allNavItems, $items);
}
}
}
// Filter for administration section items
$adminNavItems = array_filter($allNavItems, fn($item) =>
isset($item['section']) && $item['section'] === 'administration'
);
// Sort by sort_order
usort($adminNavItems, fn($a, $b) => ($a['sort_order'] ?? 999) <=> ($b['sort_order'] ?? 999));
@endphp
{{-- Render extension-provided admin menu items (no permission checks like sidebar) --}}
@foreach($adminNavItems as $navItem)
{{ __($navItem['label']) }}
@endforeach
{{-- Create Ticket Button --}}
@livewire('tickets.create-universal')
{{-- Right Side: Universal Search --}}
@hasanyrole('superadmin|admin|employee')
@livewire('search.universal-search')
@endhasanyrole