@php $user = auth()->user(); //LMS mobile top navbar menu structure $menuConfig = [ [ 'title' => 'Home', 'icon' => 'ki-outline ki-home-2', 'link' => '/', 'active-url' => 'home', ], [ 'title' => 'Courses', 'icon' => 'ki-outline ki-book', 'submenu' => [ ['title' => 'All Courses', 'link' => '/courses'], ['title' => 'Course Categories', 'link' => '/categories'], ['title' => 'Featured Courses', 'link' => '/featured-courses'], ], 'showMore' => false, 'maxShownEntries' => 3, ], [ 'title' => 'About', 'icon' => 'ki-outline ki-information-5', 'link' => '/about', 'active-url' => 'about', ], [ 'title' => 'Resources', 'icon' => 'ki-outline ki-folder', 'submenu' => [ ['title' => 'Blog', 'link' => '/blog'], ['title' => 'FAQ', 'link' => '/faq'], ['title' => 'Help Center', 'link' => '/help'], ], 'showMore' => false, 'maxShownEntries' => 3, ], [ 'title' => 'Contact', 'icon' => 'ki-outline ki-message-text-2', 'link' => '/contact', 'active-url' => 'contact', ], ]; $secondaryMenuConfig = [ 'title' => 'Labels', 'items' => [ ['title' => 'Google Ads', 'color' => 'primary', 'badge' => 6], ['title' => 'AirStoke App', 'color' => 'success', 'badge' => 2], ['title' => 'Internal Tasks', 'color' => 'warning', 'badge' => 37], ['title' => 'Fitnes App', 'color' => 'danger', 'badge' => 4], ], 'showMore' => true, 'maxShownEntries' => 4, 'moreText' => 'Show more', 'lessText' => 'Show less', 'collapsibleItems' => [ ['title' => 'Oppo CRM', 'color' => 'info', 'badge' => 12], ['title' => 'Finance Dispatch', 'color' => 'warning', 'badge' => 25], ], ]; function generateMenu($menuItems, $level = 0) { $html = ''; foreach ($menuItems as $item) { $hasSubmenu = !empty($item['submenu']); $menuItemClass = 'menu-item fs-6' . ($hasSubmenu ? ' menu-accordion' : ''); $menuTitleClass = ''; // Check if the current item or any of its children is active $isActive = false; if (!empty($item['link'])) { $itemPath = ltrim($item['link'], '/'); // Remove leading slash $isActive = Request::path() === $itemPath; } if (!$isActive && $hasSubmenu) { $isActive = checkActiveSubmenu($item['submenu']); } if ($isActive) { $menuItemClass .= ' hover show'; // $menuTitleClass .= ' text-primary'; } $menuItemClass .= $hasSubmenu ? ' menu-accordion' : ''; $html .= '
'; } return $html; } function checkActiveSubmenu($submenu) { foreach ($submenu as $item) { if (!empty($item['link'])) { $itemPath = ltrim($item['link'], '/'); // Remove leading slash if (Request::path() === $itemPath) { return true; } } if (!empty($item['submenu'])) { if (checkActiveSubmenu($item['submenu'])) { return true; } } } return false; } function generateSecondaryMenu($config) { $html = ' '; return $html; } function generateSecondaryMenuItem($item) { $html = ' '; return $html; } @endphp