{{-- Componente compartido: Navegación del Header Props: $dropdowns (bool, default true) — mostrar dropdowns con categorías $classes (string, default '') — clases extra para
  • items $linkClasses (string, default '') — clases extra para links --}} @props([ 'dropdowns' => true, 'classes' => '', 'linkClasses' => '', ]) @php $navigation = get_dynamic_navigation('header'); // Componentes anónimos no heredan el scope del view padre. Cargamos // dropdowns inline si no fueron pasados explícitamente al componente. if (!isset($serviceCategories) && is_module_active('services')) { $serviceCategories = \App\Modules\Services\Models\ServiceCategory::withCount(['services' => function($q){ $q->where('is_active', true); }])->orderBy('name')->get(); } if (!isset($headerServices) && is_module_active('services')) { $headerServices = \App\Modules\Services\Models\Service::where('is_active', true)->orderBy('sort_order')->orderBy('title')->get(); } if (!isset($projectCategories) && is_module_active('projects')) { $projectCategories = \App\Modules\Projects\Models\ProjectCategory::withCount(['projects' => function($q){ $q->where('is_active', true)->whereNull('deleted_at'); }])->orderBy('name')->get(); } if (!isset($productCategories) && is_module_active('products')) { $productCategories = \App\Modules\Products\Models\ProductCategory::withCount(['products' => function($q){ $q->where('is_active', true)->whereNull('deleted_at'); }])->orderBy('name')->get(); } @endphp @foreach($navigation as $key => $item) @if($item['active']) @php $isActive = is_nav_item_active($item['url']); $showDropdown = $dropdowns && isset($item['dropdown']) && $item['dropdown']; @endphp @if($showDropdown)
  • @else
  • {{ $item['title'] }}
  • @endif @endif @endforeach