96 lines
4.6 KiB
PHP
96 lines
4.6 KiB
PHP
<!-- Main Sidebar Container -->
|
|
<aside class="main-sidebar sidebar-dark-primary elevation-4">
|
|
|
|
<div class="sidebar">
|
|
<div class="logo text-center mt-3">
|
|
<a href="{{ route('dashboard') }}">
|
|
<img src="{{ setting('setting.logo') }}" alt="{{ setting('setting.title') }}" style="width:150px">
|
|
</a>
|
|
</div>
|
|
|
|
<!-- SidebarSearch Form -->
|
|
<div class="form-inline mt-3">
|
|
<div class="input-group" data-widget="sidebar-search">
|
|
<input class="form-control form-control-sidebar" type="search" placeholder="Search"
|
|
aria-label="Search">
|
|
<div class="input-group-append">
|
|
<button class="btn btn-sidebar">
|
|
<i class="fas fa-search fa-fw"></i>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Sidebar Menu -->
|
|
<nav class="mt-2">
|
|
<ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu"
|
|
data-accordion="false">
|
|
@foreach (config('sidebar') as $item)
|
|
@php
|
|
$isActive = false;
|
|
$hasChildren = isset($item['children']) && count($item['children']) > 0;
|
|
|
|
if ($hasChildren) {
|
|
foreach ($item['children'] as $child) {
|
|
if (isset($child['route']) && request()->routeIs($child['route'])) {
|
|
$isActive = true;
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
if (isset($item['route']) && request()->routeIs($item['route'])) {
|
|
$isActive = true;
|
|
}
|
|
}
|
|
@endphp
|
|
|
|
<li class="nav-item {{ $hasChildren && $isActive ? 'menu-open' : '' }}">
|
|
<a href="{{ $hasChildren ? '#' : (isset($item['route']) ? route($item['route'], $item['params'] ?? []) : '#') }}"
|
|
class="nav-link {{ $isActive ? 'active' : '' }}">
|
|
<i class="{{ $item['icon'] ?? 'far fa-circle' }} nav-icon"></i>
|
|
<p>
|
|
{{ $item['title'] }}
|
|
@if ($hasChildren)
|
|
<i class="right fas fa-angle-left"></i>
|
|
@endif
|
|
</p>
|
|
</a>
|
|
|
|
@if ($hasChildren)
|
|
<ul class="nav nav-treeview">
|
|
@foreach ($item['children'] as $child)
|
|
@php
|
|
$childActive = isset($child['route']) && request()->routeIs($child['route']);
|
|
// Check simple params equality for stricter active state if needed,
|
|
// but usually routeIs is enough.
|
|
// Specific case for order status params
|
|
if (isset($child['params']) && request()->routeIs($child['route'])) {
|
|
$childActive = true;
|
|
foreach ($child['params'] as $key => $value) {
|
|
if (request($key) != $value) {
|
|
$childActive = false;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
@endphp
|
|
<li class="nav-item">
|
|
<a href="{{ isset($child['route']) ? route($child['route'], $child['params'] ?? []) : '#' }}"
|
|
class="nav-link {{ $childActive ? 'active' : '' }}">
|
|
<i class="{{ $child['icon'] ?? 'far fa-circle' }} nav-icon"></i>
|
|
<p>{{ $child['title'] }}</p>
|
|
</a>
|
|
</li>
|
|
@endforeach
|
|
</ul>
|
|
@endif
|
|
</li>
|
|
@endforeach
|
|
|
|
</ul>
|
|
</nav>
|
|
<!-- /.sidebar-menu -->
|
|
</div>
|
|
<!-- /.sidebar -->
|
|
</aside>
|