{{-- Frontend Menu Item Partial Expects: - $item: A Modules\LandingPage\Entities\MenuItem instance - $page: The current LpPage instance (optional) - $isMobile: Boolean, true if rendering for mobile menu (optional) --}} @props(['item', 'page' => null, 'isMobile' => false]) @php $hasChildren = $item->childrenRecursive && $item->childrenRecursive->isNotEmpty(); $link = $item->link; // Uses the getLinkAttribute() accessor from MenuItem model // Base classes $linkBaseClasses = 'flex items-center px-3 py-2 rounded-md transition-colors duration-150 ease-in-out'; $linkDesktopClasses = 'text-sm font-medium'; $linkMobileClasses = 'text-base font-medium w-full'; // Mobile links might be wider $activeClasses = 'bg-sky-100 text-sky-700 dark:bg-sky-700 dark:text-sky-100 font-semibold'; $inactiveClasses = 'text-slate-700 hover:bg-slate-100 hover:text-slate-900 dark:text-slate-300 dark:hover:bg-slate-700 dark:hover:text-slate-100'; // Determine if the current item is active // Check against current page slug if item type is 'page' $isCurrentItemActive = request()->fullUrlIs($link . '*'); if (!$isCurrentItemActive && $item->type === 'page' && $item->page_id && $page && $item->page_id === $page->id) { $isCurrentItemActive = true; } @endphp