@php $storeLocked = \App\Support\StoreGate::isLocked(); $sidebarBadges = \App\Support\ProduksiBadgeCounter::counts(); $menuGroups = [ [ 'label' => 'Utama', 'items' => [ ['route' => 'produksi.dashboard', 'icon' => 'space_dashboard', 'text' => 'Dashboard Produksi'], ], ], [ 'label' => 'Proses Produksi', 'items' => [ ['route' => 'produksi.data-produksi', 'icon' => 'precision_manufacturing', 'text' => 'Data Produksi', 'badge' => 'produksi'], ['route' => 'produksi.pemeriksaan-kualitas', 'icon' => 'fact_check', 'text' => 'Pemeriksaan Kualitas', 'badge' => 'qc'], ['route' => 'produksi.produk-selesai', 'icon' => 'task_alt', 'text' => 'Produk Selesai', 'badge' => 'siap_kirim'], ['route' => 'produksi.pelaporan-produksi', 'icon' => 'summarize', 'text' => 'Pelaporan Produksi'], ['route' => 'produksi.riwayat-produksi', 'icon' => 'history', 'text' => 'Riwayat Produksi'], ], ], [ 'label' => 'Bahan & Transaksi', 'items' => [ ['route' => 'produksi.bahan-produksi', 'icon' => 'inventory', 'text' => 'Bahan Produksi'], ['route' => 'produksi.permintaan', 'icon' => 'send', 'text' => 'Permintaan', 'badge' => 'permintaan'], ['route' => 'produksi.notifikasi', 'icon' => 'notifications', 'text' => 'Notifikasi', 'badge' => 'notifikasi'], ], ], [ 'label' => 'Akun', 'items' => [ ['route' => 'produksi.profil', 'icon' => 'person', 'text' => 'Profil'], ], ], ]; @endphp
@foreach ($menuGroups as $group) @php $collapsible = count($group['items']) >= 3; $isActive = collect($group['items'])->contains(fn ($item) => request()->routeIs($item['route'])); $groupBadgeKeys = collect($group['items'])->filter(fn ($item) => ! empty($item['badge']))->pluck('badge')->values(); $groupHasBadges = $groupBadgeKeys->contains(fn ($key) => ($sidebarBadges[$key] ?? 0) > 0); @endphp
@if ($collapsible) @else
{{ $group['label'] }}
@endif
@foreach ($group['items'] as $item) @php $locked = $storeLocked && ! in_array($item['route'], ['produksi.dashboard', 'produksi.profil'], true); $isActive = request()->routeIs($item['route']); @endphp @if ($locked)
{{ $item['icon'] }} {{ $item['text'] }} lock
@else {{ $item['icon'] }} {{ $item['text'] }} {{ $item['text'] }} @if (! empty($item['badge']) && (($sidebarBadges[$item['badge']] ?? 0) > 0)) {{ min(99, $sidebarBadges[$item['badge']]) }} @elseif (! empty($item['badge'])) @endif @endif @endforeach
@endforeach