@php $user = Auth::user(); $portalRoute = match (true) { $user?->hasRole('Client') => 'portal.client', $user?->hasRole('Agent') => 'portal.agent', $user?->hasRole('Franchise Admin') => 'portal.franchise', default => 'dashboard', }; $clientRecord = $user?->hasRole('Client') ? \App\Models\Client::where('user_id', $user->id)->first() : null; $clientServiceType = data_get($clientRecord?->meta, 'service_type', data_get($user?->preferences, 'service_type', 'Both Services')); $clientWantsLoans = in_array($clientServiceType, ['Loan Service', 'Both Services'], true); $clientWantsTax = in_array($clientServiceType, ['Tax Service', 'Both Services'], true); $links = [ ['route' => $portalRoute, 'label' => $portalRoute === 'dashboard' ? 'Dashboard' : 'My Portal', 'show' => true], ['url' => route('portal.client').'#loan-workspace', 'label' => 'Loan Desk', 'show' => $user?->hasRole('Client') && $clientWantsLoans], ['url' => route('portal.client').'#tax-workspace', 'label' => 'Tax & Accounts', 'show' => $user?->hasRole('Client') && $clientWantsTax], ['url' => route('portal.client').'#documents-workspace', 'label' => 'Documents', 'show' => $user?->hasRole('Client')], ['url' => route('portal.client').'#support-workspace', 'label' => 'Support', 'show' => $user?->hasRole('Client')], ['route' => 'clients.index', 'label' => 'Clients', 'show' => $user?->can('clients.view')], ['route' => 'businesses.index', 'label' => 'Businesses', 'show' => $user?->can('clients.view')], ['route' => 'loans.index', 'label' => 'Loans', 'show' => $user?->can('loans.view') && ! $user?->hasRole('Client')], ['route' => 'tax.index', 'label' => 'Tax', 'show' => $user?->can('tax.view') && ! $user?->hasRole('Client')], ['route' => 'accounting.index', 'label' => 'Accounting', 'show' => $user?->can('accounting.view')], ['route' => 'banks.index', 'label' => 'Banks', 'show' => $user?->can('banks.view')], ['route' => 'documents.index', 'label' => 'Documents', 'show' => $user?->can('documents.view') && ! $user?->hasRole('Client')], ['route' => 'agents.index', 'label' => 'Agents', 'show' => $user?->can('agents.view')], ['route' => 'franchises.index', 'label' => 'Franchises', 'show' => $user?->can('franchises.view')], ['route' => 'leads.index', 'label' => 'Leads', 'show' => $user?->can('leads.view') && ! $user?->hasRole('Agent')], ['route' => 'reports.index', 'label' => 'Reports', 'show' => $user?->can('reports.view')], ['route' => 'admin.users.index', 'label' => 'Users', 'show' => $user?->hasRole('Super Admin')], ['route' => 'admin.audit-logs.index', 'label' => 'Audit', 'show' => $user?->hasRole('Super Admin')], ['route' => 'admin.settings.index', 'label' => 'Settings', 'show' => $user?->hasRole('Super Admin')], ]; @endphp