@php
function isMenuActive($menu, $currentRoute)
{
if (isset($menu['url']) && $menu['url'] === $currentRoute) {
return true;
}
if (!empty($menu['menus']) && is_array($menu['menus'])) {
foreach ($menu['menus'] as $sub) {
if (isMenuActive($sub, $currentRoute)) {
return true;
}
}
}
return false;
}
function renderMenu($menu, $currentRoute)
{
$hasChildren = isset($menu['menus']) && is_array($menu['menus']) && count($menu['menus']) > 0;
$canView = !isset($menu['permission']) || auth()->user()->can($menu['permission']);
$isActive = isMenuActive($menu, $currentRoute);
if (!$canView) return;
echo '
';
}
@endphp
@includeIf('verifyuser::partials.menu')
@php
$menus = config('menu');
$shouldKeepVerifyMenu =
\Nwidart\Modules\Facades\Module::has('Verifyuser')
&& \Nwidart\Modules\Facades\Module::isEnabled('Verifyuser')
&& (bool) (setting('IsAuthUser') ?? false);
if (!$shouldKeepVerifyMenu && isset($menus[1]['menus'][0]['menus'][2])) {
unset($menus[1]['menus'][0]['menus'][2]);
$menus[1]['menus'][0]['menus'] = array_values($menus[1]['menus'][0]['menus']);
}
@endphp
@php
$menus = config('menu');
$shouldKeepVerifyMenu =
\Nwidart\Modules\Facades\Module::has('Verifyuser')
&& \Nwidart\Modules\Facades\Module::isEnabled('Verifyuser')
&& (bool) (setting('IsAuthUser') ?? false);
if (!$shouldKeepVerifyMenu && isset($menus[1]['menus'][0]['menus'][2])) {
unset($menus[1]['menus'][0]['menus'][2]);
$menus[1]['menus'][0]['menus'] = array_values($menus[1]['menus'][0]['menus']);
}
@endphp
@foreach ($menus as $menu)
{!! renderMenu($menu, request()->route()->getName()) !!}
@endforeach
@php
$ok = (new App\Services\UserSubscriptionService)->getActivePlan(auth()->user())->plan->send_api;
@endphp
@if ($ok)
{!! renderMenu([
'name' => 'وب سرویس',
'icon' => 'bx bx-terminal',
'url' => 'api.manage',
], request()->route()->getName()) !!}
@endif