@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