GLOBEAU ADMIN
@foreach(config('admin_menu.main_menu') as $index => $menu) @if(isset($menu['children'])) {{-- 1. 하위 메뉴(서브)가 있는 경우 --}} @php $isActive = isset($menu['pattern']) && request()->routeIs($menu['pattern']); $collapseId = 'mainSubmenu' . $index; // 🌟 핵심: 하위 메뉴들 중 배지 카운트가 0보다 큰 항목이 하나라도 있는지 확인 $hasChildBadge = false; foreach($menu['children'] as $child) { if (isset($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 = ($child['route'] !== '#') ? route($child['route']) : '#'; $childBadgeCount = isset($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 = ($menu['route'] !== '#') ? route($menu['route']) : '#'; $badgeCount = isset($menu['badge']) ? call_user_func($menu['badge']) : 0; @endphp
{{ $menu['title'] }} @if($badgeCount > 0) {{ $badgeCount }} @endif
@endif @endforeach
@foreach(config('admin_menu.footer_menu') as $index => $menu) @if(isset($menu['children'])) @php $isActive = isset($menu['pattern']) && request()->routeIs($menu['pattern']); $collapseId = 'footerSubmenu' . $index; // 푸터 서브메뉴 내 배지 존재 여부 체크 $hasChildBadge = false; foreach($menu['children'] as $child) { if (isset($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 = ($child['route'] !== '#') ? route($child['route']) : '#'; $childBadgeCount = isset($child['badge']) ? call_user_func($child['badge']) : 0; @endphp
  • {{ $child['title'] }} @if($childBadgeCount > 0) {{ $childBadgeCount }} @endif
  • @endforeach
@else @php $isActive = isset($menu['pattern']) && request()->routeIs($menu['pattern']); $menuUrl = ($menu['route'] !== '#') ? route($menu['route']) : '#'; $badgeCount = isset($menu['badge']) ? call_user_func($menu['badge']) : 0; @endphp
{{ $menu['title'] }} @if($badgeCount > 0) {{ $badgeCount }} @endif
@endif @endforeach