@php $role = Auth::user()->role; $icDash = 'M3 12l9-9 9 9M5 10v10a1 1 0 001 1h4v-6h4v6h4a1 1 0 001-1V10'; $menu = []; $menu[] = ['label' => 'Dashboard', 'icon' => $icDash, 'route' => 'dashboard', 'active' => 'dashboard']; if ($role === 'admin') { $menu[] = ['section' => 'Data Master']; $menu[] = ['label' => 'Tingkat', 'icon' => 'M2 17l10 5 10-5M2 12l10 5 10-5M2 7l10 5 10-5-10-5L2 7z', 'route' => 'admin.tingkat.index', 'active' => 'admin.tingkat']; $menu[] = ['label' => 'Jurusan', 'icon' => 'M4 19.5A2.5 2.5 0 016.5 17H20V4H6.5A2.5 2.5 0 004 6.5v13zM4 19.5A2.5 2.5 0 016.5 17H20', 'route' => 'admin.jurusan.index', 'active' => 'admin.jurusan']; $menu[] = ['label' => 'Kelas', 'icon' => 'M22 10l-10-5-10 5 10 5 10-5zM6 12v5c0 1.7 2.7 3 6 3s6-1.3 6-3v-5', 'route' => 'admin.kelas.index', 'active' => 'admin.kelas']; $menu[] = ['label' => 'Siswa', 'icon' => 'M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2M9 11a4 4 0 100-8 4 4 0 000 8zM23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75', 'route' => 'admin.siswa.index', 'active' => 'admin.siswa']; $menu[] = ['label' => 'Jenis Pembayaran', 'icon' => 'M3 10h18M8 15h4M6 19h12a2 2 0 002-2V7a2 2 0 00-2-2H6a2 2 0 00-2 2v10a2 2 0 002 2z', 'route' => 'admin.jenis-pembayaran.index', 'active' => 'admin.jenis-pembayaran']; $menu[] = ['label' => 'Skema SPP', 'icon' => 'M20 12V8a2 2 0 00-2-2H7a2 2 0 00-2 2v4M15 22H9a2 2 0 01-2-2v-2h10v2a2 2 0 01-2 2zM7 4V2M17 4V2M5 14h14', 'route' => 'admin.skema-spp.index', 'active' => 'admin.skema-spp']; $menu[] = ['label' => 'Tahun Ajaran', 'icon' => 'M8 2v4M16 2v4M3 10h18M6 4h12a2 2 0 012 2v14H4V6a2 2 0 012-2z', 'route' => 'admin.tahun-ajaran.index', 'active' => 'admin.tahun-ajaran']; $menu[] = ['section' => 'Tagihan']; $menu[] = ['label' => 'Daftar Tagihan', 'icon' => 'M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6zM14 2v6h6M9 13h6M9 17h4', 'route' => 'tagihan.index', 'active' => 'tagihan.']; $menu[] = ['label' => 'Generate Tagihan', 'icon' => 'M12 8v8M16 12H8M12 4v16', 'route' => 'tagihan.create', 'active' => 'tagihan.create']; $menu[] = ['label' => 'Naik Kelas', 'icon' => 'M23 7l-7 7-4-4-7 7M17 7h6v6', 'route' => 'naik-kelas.index', 'active' => 'naik-kelas.']; $menu[] = ['section' => 'Pembayaran & Laporan']; $menu[] = ['label' => 'Pembayaran', 'icon' => 'M21 12v6a2 2 0 01-2 2H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v6zM3 10h18M16 14h2', 'route' => 'pembayaran.index', 'active' => 'pembayaran.']; $menu[] = ['label' => 'Riwayat Pembayaran', 'icon' => 'M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z', 'route' => 'pembayaran.riwayat', 'active' => 'pembayaran.riwayat']; $menu[] = ['label' => 'Laporan', 'icon' => 'M3 3v18h18M8 17v-5m4 5V8m4 9v-3', 'route' => 'laporan.index', 'active' => 'laporan.']; $menu[] = ['label' => 'Pengeluaran Dana', 'icon' => 'M12 1v22M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6', 'route' => 'pengeluaran-dana.index', 'active' => 'pengeluaran-dana.']; $menu[] = ['label' => 'Alumni', 'icon' => 'M12 4.5c1.7 0 3-.9 3-2.5S13.7 0 12 0 9 .9 9 2.5s1.3 2 3 2zM12 6c-3.2 0-6 1.6-6 4v2c0 .4.3.8.8 1L4 20v2h2v-1.4l3-4.6h6l3 4.6V22h2v-2l-2.8-7c.5-.2.8-.6.8-1V10c0-2.4-2.8-4-6-4z', 'route' => 'alumni.index', 'active' => 'alumni.']; $menu[] = ['section' => 'Pengaturan']; $menu[] = ['label' => 'Profil Sekolah', 'icon' => 'M8 14v3m4-3v3m4-3v3M3 21h18M3 10h18M5 6h14l-1-3H6L5 6zm14 4v11M5 10v11', 'route' => 'admin.sekolah.index', 'active' => 'admin.sekolah']; $menu[] = ['label' => 'Manajemen Pengguna', 'icon' => 'M17 21v-2a4 4 0 00-4-4H5a4 4 0 00-4 4v2M9 11a4 4 0 100-8 4 4 0 000 8zM23 21v-2a4 4 0 00-3-3.87M16 3.13a4 4 0 010 7.75', 'route' => 'admin.users.index', 'active' => 'admin.users']; $menu[] = ['label' => 'Database', 'icon' => 'M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065zM15 12a3 3 0 11-6 0 3 3 0 016 0z', 'route' => 'admin.settings.index', 'active' => 'admin.settings']; } if (in_array($role, ['bendahara_utama', 'bendahara_harian'])) { $menu[] = ['section' => 'Transaksi']; $menu[] = ['label' => 'Pembayaran', 'icon' => 'M21 12v6a2 2 0 01-2 2H5a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v6zM3 10h18M16 14h2', 'route' => 'pembayaran.index', 'active' => 'pembayaran.']; $menu[] = ['label' => 'Riwayat Pembayaran', 'icon' => 'M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z', 'route' => 'pembayaran.riwayat', 'active' => 'pembayaran.riwayat']; if ($role === 'bendahara_utama') { $menu[] = ['section' => 'Data Pembayaran']; $menu[] = ['label' => 'Jenis Pembayaran', 'icon' => 'M3 10h18M8 15h4M6 19h12a2 2 0 002-2V7a2 2 0 00-2-2H6a2 2 0 00-2 2v10a2 2 0 002 2z', 'route' => 'admin.jenis-pembayaran.index', 'active' => 'admin.jenis-pembayaran']; $menu[] = ['label' => 'Skema SPP', 'icon' => 'M20 12V8a2 2 0 00-2-2H7a2 2 0 00-2 2v4M15 22H9a2 2 0 01-2-2v-2h10v2a2 2 0 01-2 2zM7 4V2M17 4V2M5 14h14', 'route' => 'admin.skema-spp.index', 'active' => 'admin.skema-spp']; $menu[] = ['section' => 'Tagihan']; $menu[] = ['label' => 'Daftar Tagihan', 'icon' => 'M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8l-6-6zM14 2v6h6M9 13h6M9 17h4', 'route' => 'tagihan.index', 'active' => 'tagihan.index']; $menu[] = ['label' => 'Generate Tagihan', 'icon' => 'M12 8v8M16 12H8M12 4v16', 'route' => 'tagihan.create', 'active' => 'tagihan.create']; } $menu[] = ['section' => 'Laporan']; $menu[] = ['label' => 'Rekap & Laporan', 'icon' => 'M3 3v18h18M8 17v-5m4 5V8m4 9v-3', 'route' => 'laporan.index', 'active' => 'laporan.']; $menu[] = ['label' => 'Tunggakan', 'icon' => 'M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z', 'route' => 'laporan.tunggakan', 'active' => 'laporan.tunggakan']; $menu[] = ['label' => 'Alumni', 'icon' => 'M12 4.5c1.7 0 3-.9 3-2.5S13.7 0 12 0 9 .9 9 2.5s1.3 2 3 2zM12 6c-3.2 0-6 1.6-6 4v2c0 .4.3.8.8 1L4 20v2h2v-1.4l3-4.6h6l3 4.6V22h2v-2l-2.8-7c.5-.2.8-.6.8-1V10c0-2.4-2.8-4-6-4z', 'route' => 'alumni.index', 'active' => 'alumni.']; $menu[] = ['label' => 'Pengeluaran Dana', 'icon' => 'M12 1v22M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6', 'route' => 'pengeluaran-dana.index', 'active' => 'pengeluaran-dana.']; } if ($role === 'kepsek') { $menu[] = ['section' => 'Laporan']; $menu[] = ['label' => 'Rekap & Laporan', 'icon' => 'M3 3v18h18M8 17v-5m4 5V8m4 9v-3', 'route' => 'laporan.index', 'active' => 'laporan.']; $menu[] = ['label' => 'Tunggakan', 'icon' => 'M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z', 'route' => 'laporan.tunggakan', 'active' => 'laporan.tunggakan']; $menu[] = ['label' => 'Alumni', 'icon' => 'M12 4.5c1.7 0 3-.9 3-2.5S13.7 0 12 0 9 .9 9 2.5s1.3 2 3 2zM12 6c-3.2 0-6 1.6-6 4v2c0 .4.3.8.8 1L4 20v2h2v-1.4l3-4.6h6l3 4.6V22h2v-2l-2.8-7c.5-.2.8-.6.8-1V10c0-2.4-2.8-4-6-4z', 'route' => 'alumni.index', 'active' => 'alumni.']; $menu[] = ['label' => 'Pengeluaran Dana', 'icon' => 'M12 1v22M17 5H9.5a3.5 3.5 0 000 7h5a3.5 3.5 0 010 7H6', 'route' => 'pengeluaran-dana.index', 'active' => 'pengeluaran-dana.']; } if ($role === 'yayasan') { $menu[] = ['section' => 'Pembayaran']; $menu[] = ['label' => 'Riwayat Pembayaran', 'icon' => 'M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z', 'route' => 'pembayaran.riwayat', 'active' => 'pembayaran.riwayat']; $menu[] = ['section' => 'Laporan']; $menu[] = ['label' => 'Rekap & Laporan', 'icon' => 'M3 3v18h18M8 17v-5m4 5V8m4 9v-3', 'route' => 'laporan.index', 'active' => 'laporan.']; $menu[] = ['label' => 'Tunggakan', 'icon' => 'M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z', 'route' => 'laporan.tunggakan', 'active' => 'laporan.tunggakan']; } if ($role === 'siswa') { $menu[] = ['label' => 'Tagihan Saya', 'icon' => 'M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01', 'route' => 'tagihan.saya', 'active' => 'tagihan.']; } if ($role === 'walikelas') { $menu[] = ['label' => 'Tunggakan Siswa', 'icon' => 'M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z', 'route' => 'walikelas.index', 'active' => 'walikelas.']; $menu[] = ['section' => 'Laporan']; $menu[] = ['label' => 'Rekap & Laporan', 'icon' => 'M3 3v18h18M8 17v-5m4 5V8m4 9v-3', 'route' => 'laporan.index', 'active' => 'laporan.']; $menu[] = ['label' => 'Tunggakan', 'icon' => 'M12 9v4m0 4h.01M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z', 'route' => 'laporan.tunggakan', 'active' => 'laporan.tunggakan']; } $routeName = request()->route()?->getName() ?? ''; $activeKey = null; $bestLen = -1; foreach ($menu as $item) { $active = $item['active'] ?? null; if ($active === null || $active === '') { continue; } if (str_starts_with($routeName, $active) && strlen($active) > $bestLen) { $bestLen = strlen($active); $activeKey = $active; } } @endphp @foreach ($menu as $item) @if (isset($item['section']))