64 lines
3.2 KiB
PHP
64 lines
3.2 KiB
PHP
<div class="app-sidebar">
|
|
<!-- Sidebar Logo -->
|
|
<div class="logo-box">
|
|
<a href="{{ route('dashboard.home') }}" class="logo-dark">
|
|
<img src="/images/dputr-kab-bandung.png" class="logo-sm" alt="logo sm">
|
|
<img src="/images/dputr-kab-bandung.png" class="logo-lg" alt="logo dark">
|
|
</a>
|
|
|
|
<a href="{{ route('dashboard.home') }}" class="logo-light">
|
|
<img src="/images/dputr-kab-bandung.png" class="logo-sm" alt="logo sm">
|
|
<img src="/images/dputr-kab-bandung.png" class="logo-lg" alt="logo light">
|
|
</a>
|
|
</div>
|
|
|
|
<div class="scrollbar" data-simplebar>
|
|
<ul class="navbar-nav" id="navbar-nav">
|
|
<li class="menu-title">Menu</li>
|
|
|
|
@php
|
|
// Fungsi rekursif untuk menampilkan menu bertingkat dengan indentasi
|
|
function renderMenu($menus, $depth = 0) {
|
|
foreach ($menus as $menu) {
|
|
$collapseId = "sidebar-" . $menu->id; // Unique ID untuk Bootstrap Collapse
|
|
$hasChildren = $menu->children->count() > 0; // Cek apakah punya anak
|
|
$marginLeft = $depth * 10; // Set jarak margin berdasarkan level
|
|
|
|
echo '<li class="nav-item" style="margin-left: ' . $marginLeft . 'px;">';
|
|
|
|
// Menu utama / anak (dengan dropdown jika punya anak)
|
|
echo '<a class="nav-link ' . ($hasChildren ? 'menu-arrow' : '') . '"
|
|
href="' . ($hasChildren ? "#$collapseId" : ($menu->url ? (Route::has($menu->url) ? route($menu->url, ['menu_id' => $menu->id]) : $menu->url . '?menu_id=' . $menu->id) : '#')) . '"
|
|
' . ($hasChildren ? 'data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="' . $collapseId . '"' : '') . '>
|
|
<span class="nav-icon">
|
|
<iconify-icon icon="' . $menu->icon . '"></iconify-icon>
|
|
</span>
|
|
<span class="nav-text">' . $menu->name . '</span>
|
|
</a>';
|
|
// Jika menu punya anak, buat sub-menu
|
|
if ($hasChildren) {
|
|
echo '<div class="collapse" id="' . $collapseId . '">
|
|
<ul class="nav sub-navbar-nav">';
|
|
renderMenu($menu->children, $depth + 1); // Rekursi dengan level lebih dalam
|
|
echo '</ul></div>';
|
|
}
|
|
|
|
echo '</li>';
|
|
}
|
|
}
|
|
@endphp
|
|
|
|
@php
|
|
// Tampilkan hanya menu dengan parent_id NULL (menu utama)
|
|
renderMenu($menus->where('parent_id', null));
|
|
@endphp
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Efek Bintang -->
|
|
<div class="animated-stars">
|
|
@for ($i = 0; $i < 20; $i++)
|
|
<div class="shooting-star"></div>
|
|
@endfor
|
|
</div> |