52 lines
2.2 KiB
PHP
52 lines
2.2 KiB
PHP
@php
|
|
$newMenuList = [];
|
|
@endphp
|
|
@foreach (config('menu') as $menuKey => $menu)
|
|
<li class="nav-item">
|
|
@if (array_key_exists('submenu', $menu))
|
|
@php
|
|
$menuList = array_column($menu['submenu'], 'url');
|
|
$menuCanArr = array_map('current', array_column($menu['submenu'], 'can'));
|
|
$permissionFlag = false;
|
|
if (auth()->user()->hasAnyPermission($menuCanArr)) {
|
|
$permissionFlag = true;
|
|
}
|
|
@endphp
|
|
|
|
@if ($permissionFlag)
|
|
<a class="nav-link menu-link @if (in_array(\Request::path(), $menuList)) collapsed active @endif" data-bs-toggle="collapse"
|
|
role="button" aria-expanded="false" aria-controls="{{ Str::slug($menu['text']) }}"
|
|
href="#{{ Str::slug($menu['text']) }}">
|
|
<i class="{{ $menu['icon'] }}"></i><span data-key="t-customers">{{ $menu['text'] }}</span></a>
|
|
|
|
<div class="menu-dropdown @if (in_array(\Request::path(), $menuList)) collapsed show @endif collapse"
|
|
id="{{ Str::slug($menu['text']) }}">
|
|
<ul class="nav nav-sm flex-column">
|
|
@foreach ($menu['submenu'] as $subMenu)
|
|
@can($subMenu['can'])
|
|
<li class="nav-item">
|
|
<a href="{{ url($subMenu['url']) }}"
|
|
class="nav-link @if (\Request::is($subMenu['url']) || \Request::is($subMenu['url'] . '/*')) active @endif">{{ $subMenu['text'] }}
|
|
</a>
|
|
</li>
|
|
@endcan
|
|
@endforeach
|
|
</ul>
|
|
</div>
|
|
@endif
|
|
@else
|
|
@if (array_key_exists('can', $menu))
|
|
@can($menu['can'])
|
|
<a href="{{ url($menu['url']) ?? '#' }}" class="nav-link @if (\Request::is($menu['url']) || \Request::is($menu['url'] . '/*')) active @endif">
|
|
<i class="{{ $menu['icon'] }}"></i><span data-key="t-customers">{{ $menu['text'] }}</span>
|
|
</a>
|
|
@endcan
|
|
@else
|
|
<a href="{{ url($menu['url']) ?? '#' }}" class="nav-link @if (\Request::is($menu['url']) || \Request::is($menu['url'] . '/*')) active @endif">
|
|
<i class="{{ $menu['icon'] }}"></i><span data-key="t-customers">{{ $menu['text'] }}</span>
|
|
</a>
|
|
@endif
|
|
@endif
|
|
</li>
|
|
@endforeach
|