@php use App\Support\LoanPermissionCatalog; use App\Support\Navigation\WorkspaceEmbed; $intel = $employeeDirectoryIntel ?? [ 'on_leave' => 0, 'active' => 0, 'suspended' => 0, 'deactivated' => 0, 'positions' => [], ]; $positions = $intel['positions'] ?? []; $visiblePositionLimit = 6; $visiblePositions = array_slice($positions, 0, $visiblePositionLimit); $extraPositions = array_slice($positions, $visiblePositionLimit); $currentEmployment = trim((string) request('employment_status', '')); $currentJobTitle = trim((string) request('job_title', '')); $currentLoginStatus = trim((string) request('login_status', '')); $onLeaveFilter = trim((string) request('on_leave', '')) === '1'; $navPreserve = collect(request()->except(['page', 'export', 'cols']))->all(); $intelUrl = function (array $overrides) use ($navPreserve): string { $params = array_merge($navPreserve, $overrides); foreach (['employment_status', 'job_title', 'on_leave', 'login_status'] as $key) { if (array_key_exists($key, $overrides) && ($overrides[$key] === null || $overrides[$key] === '')) { unset($params[$key]); } } return WorkspaceEmbed::routeUrl('loan.employees.index', $params) ?? route('loan.employees.index', $params); }; $chipClass = function (bool $active): string { return $active ? 'inline-flex items-baseline gap-1 rounded px-1.5 py-0.5 font-medium bg-teal-50 text-teal-900' : 'inline-flex items-baseline gap-1 rounded px-1.5 py-0.5 font-medium text-slate-700 hover:bg-brand-muted hover:text-brand-dark'; }; $canCreate = $canCreateEmployee ?? LoanPermissionCatalog::actorCan(auth()->user(), 'employees.create'); @endphp