SHOP ADMIN
@foreach(config('admin_menu_shop.main_menu', []) as $index => $menu) @if(isset($menu['children'])) {{-- 1. 하위 메뉴(아코디언)가 있는 경우 --}} @php $isActive = isset($menu['pattern']) && request()->routeIs($menu['pattern']); $collapseId = 'shopSubmenu' . $index; // 하위 메뉴에 배지 카운트(신규 예약 등)가 존재하는지 확인 $hasChildBadge = false; foreach($menu['children'] as $child) { if (isset($child['badge']) && is_callable($child['badge']) && call_user_func($child['badge']) > 0) { $hasChildBadge = true; break; } } @endphp
{{ $menu['title'] }} @if($hasChildBadge) @endif
    @foreach($menu['children'] as $child) @php $isChildActive = isset($child['pattern']) && request()->routeIs($child['pattern']); $childUrl = (isset($child['route']) && $child['route'] !== '#') ? route($child['route']) : '#'; $childBadgeCount = (isset($child['badge']) && is_callable($child['badge'])) ? call_user_func($child['badge']) : 0; @endphp
  • {{ $child['title'] }} @if($childBadgeCount > 0) {{ $childBadgeCount }} @endif
  • @endforeach
@else {{-- 2. 단일 메뉴인 경우 --}} @php $isActive = isset($menu['pattern']) && request()->routeIs($menu['pattern']); $menuUrl = (isset($menu['route']) && $menu['route'] !== '#') ? route($menu['route']) : '#'; $badgeCount = (isset($menu['badge']) && is_callable($menu['badge'])) ? call_user_func($menu['badge']) : 0; @endphp
{{ $menu['title'] }} @if($badgeCount > 0) {{ $badgeCount }} @endif
@endif @endforeach