| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/client-portal-laravel/releases/20260626120707/config/ |
Upload File : |
<?php
/**
* Navigation Menu Configuration
*
* Single source of truth for both desktop and mobile navigation menus.
* Edit this file to add/remove/reorder menu items.
*
* Item Types:
* - 'link' : Simple navigation link
* - 'dropdown' : Simple dropdown menu with items
* - 'megamenu' : Multi-section mega menu panel
*
* Future types could include: 'divider', 'search', etc.
*/
return [
/*
|--------------------------------------------------------------------------
| Admin Navigation
|--------------------------------------------------------------------------
*/
'admin' => [
[
'type' => 'dropdown',
'label' => 'Dashboard',
'active' => ['admin.dashboard', 'admin.dashboards.*'],
'items' => [
['route' => 'admin.dashboard', 'label' => 'Home', 'icon' => 'home', 'active' => 'admin.dashboard'],
['route' => 'admin.dashboards.index', 'label' => 'My Dashboards', 'icon' => 'squares-2x2', 'active' => 'admin.dashboards.*'],
],
],
[
'type' => 'dropdown',
'label' => 'CRM',
'active' => ['admin.clients.*', 'admin.leads.*', 'admin.calendar.*', 'admin.contact-submissions.*', 'admin.projects.*', 'admin.activity.*', 'admin.satisfaction.*'],
'items' => [
['route' => 'admin.clients.index', 'label' => 'Clients', 'icon' => 'users', 'active' => 'admin.clients.*'],
['route' => 'admin.leads.index', 'label' => 'Leads', 'icon' => 'user-plus', 'active' => 'admin.leads.*'],
['route' => 'admin.contact-submissions.index', 'label' => 'Inquiries', 'icon' => 'envelope', 'active' => 'admin.contact-submissions.*'],
['route' => 'admin.projects.index', 'label' => 'Projects', 'icon' => 'folder', 'active' => 'admin.projects.*'],
['route' => 'admin.satisfaction.index', 'label' => 'Satisfaction Surveys', 'icon' => 'face-smile', 'active' => 'admin.satisfaction.*'],
['route' => 'admin.satisfaction.dashboard', 'label' => 'Survey Dashboard', 'icon' => 'chart-bar', 'active' => 'admin.satisfaction.dashboard'],
['route' => 'admin.activity.index', 'label' => 'Activity Log', 'icon' => 'clipboard-list', 'active' => 'admin.activity.*'],
],
],
// Plan 224: Consolidated Calendar section with sub-filters
[
'type' => 'dropdown',
'label' => 'Calendar',
'active' => ['admin.calendar.*'],
'items' => [
['route' => 'admin.calendar.index', 'label' => 'Calendar View', 'icon' => 'calendar', 'active' => 'admin.calendar.index'],
['route' => 'admin.calendar.events.index', 'label' => 'All Events', 'icon' => 'list-bullet', 'active' => 'admin.calendar.events.*'],
['route' => 'admin.calendar.events.index', 'params' => ['type' => 'discovery'], 'label' => 'Discovery Calls', 'icon' => 'phone', 'active' => 'admin.calendar.events.*'],
['route' => 'admin.calendar.events.index', 'params' => ['type' => 'meeting'], 'label' => 'Meetings', 'icon' => 'video-camera', 'active' => 'admin.calendar.events.*'],
['route' => 'admin.calendar.events.index', 'params' => ['type' => 'blocked'], 'label' => 'Blocked Time', 'icon' => 'x-circle', 'active' => 'admin.calendar.events.*'],
],
],
[
'type' => 'dropdown',
'label' => 'Finance',
'active' => ['admin.invoices.*', 'admin.reports.*'],
'items' => [
['route' => 'admin.invoices.index', 'label' => 'Invoices', 'icon' => 'document-text', 'active' => 'admin.invoices.*'],
['route' => 'admin.reports.index', 'label' => 'Reports', 'icon' => 'chart-pie', 'active' => 'admin.reports.*'],
],
],
[
'type' => 'dropdown',
'label' => 'Websites',
'active' => ['admin.websites.*'],
'items' => [
['route' => 'admin.websites.submissions.index', 'label' => 'Submissions', 'icon' => 'inbox-arrow-down', 'active' => 'admin.websites.submissions.*'],
['route' => 'admin.websites.proposals.index', 'label' => 'Proposals', 'icon' => 'document-text', 'active' => 'admin.websites.proposals.*'],
['route' => 'admin.websites.addons.index', 'label' => 'Addons', 'icon' => 'puzzle-piece', 'active' => 'admin.websites.addons.*'],
['route' => 'admin.websites.promotions.index', 'label' => 'Promotions', 'icon' => 'tag', 'active' => 'admin.websites.promotions.*'],
['route' => 'admin.websites.ai-review.index', 'label' => 'AI review', 'icon' => 'shield-check', 'active' => 'admin.websites.ai-review.*'],
],
],
[
'type' => 'dropdown',
'label' => 'Operations',
'active' => ['admin.time.*', 'admin.timesheets.*', 'admin.resources.*', 'admin.tasks.*', 'admin.workflows.index', 'admin.workflows.create', 'admin.workflows.show', 'admin.workflows.edit', 'admin.workflows.templates', 'admin.notifications.*', 'admin.documents.*', 'admin.templates.*', 'admin.audit-library.*', 'admin.audit-categories.*', 'admin.audit-templates.*'],
'items' => [
['route' => 'admin.workflows.index', 'label' => 'Workflows Hub', 'icon' => 'bolt', 'active' => ['admin.workflows.index', 'admin.workflows.create', 'admin.workflows.show', 'admin.workflows.edit']],
['route' => 'admin.notifications.analytics.index', 'label' => 'Notifications Hub', 'icon' => 'bell', 'active' => 'admin.notifications.*'],
['route' => 'admin.audit-library.dashboard', 'label' => 'Audit Library', 'icon' => 'clipboard-document-check', 'active' => ['admin.audit-library.*', 'admin.audit-categories.*', 'admin.audit-templates.*']],
['route' => 'admin.documents.index', 'label' => 'Documents', 'icon' => 'document-duplicate', 'active' => 'admin.documents.*'],
['route' => 'admin.templates.components.index', 'label' => 'Template Components', 'icon' => 'squares-2x2', 'active' => 'admin.templates.*'],
['route' => 'admin.time.index', 'label' => 'Time Tracking', 'icon' => 'clock', 'active' => ['admin.time.*', 'admin.timesheets.*', 'admin.resources.*', 'admin.tasks.*']],
],
],
[
'type' => 'dropdown',
'label' => 'Content',
'active' => ['admin.blog.*', 'admin.marketing.testimonials.*', 'admin.marketing.case-studies.*', 'admin.faqs.*', 'admin.chatbot-settings.*', 'admin.achievements.*', 'admin.tags.*'],
'items' => [
['route' => 'admin.blog.posts.index', 'label' => 'Blog Posts', 'icon' => 'document-text', 'active' => 'admin.blog.posts.*'],
['route' => 'admin.blog.categories.index', 'label' => 'Blog Categories', 'icon' => 'tag', 'active' => 'admin.blog.categories.*'],
['route' => 'admin.marketing.testimonials.index', 'label' => 'Testimonials', 'icon' => 'chat-bubble-left-right', 'active' => 'admin.marketing.testimonials.*'],
['route' => 'admin.marketing.case-studies.index', 'label' => 'Case Studies', 'icon' => 'briefcase', 'active' => 'admin.marketing.case-studies.*'],
['route' => 'admin.achievements.index', 'label' => 'Achievements', 'icon' => 'trophy', 'active' => 'admin.achievements.*'],
['route' => 'admin.tags.index', 'label' => 'Tags', 'icon' => 'tag', 'active' => 'admin.tags.*'],
['route' => 'admin.faqs.index', 'label' => 'FAQs', 'icon' => 'question-mark-circle', 'active' => 'admin.faqs.*'],
['route' => 'admin.chatbot-settings.index', 'label' => 'Chatbot Settings', 'icon' => 'chat-bubble-bottom-center-text', 'active' => 'admin.chatbot-settings.*'],
],
],
[
'type' => 'megamenu',
'label' => 'Admin',
'sections' => [
[
'label' => 'Analytics',
// 'icon' => 'chart-bar',
'items' => [
['route' => 'admin.analytics.index', 'label' => 'Dashboard', 'icon' => 'trending-up', 'active' => 'admin.analytics.*'],
['route' => 'admin.workflows.analytics', 'label' => 'Workflow', 'icon' => 'bolt', 'active' => 'admin.workflows.analytics'],
['route' => 'admin.templates.analytics.index', 'label' => 'Template', 'icon' => 'squares-2x2', 'active' => 'admin.templates.analytics.*'],
],
],
[
'label' => 'Compliance',
// 'icon' => 'shield-check',
'items' => [
['route' => 'admin.compliance.index', 'label' => 'Dashboard', 'icon' => 'view-grid', 'active' => 'admin.compliance.*'],
['route' => 'admin.audit-trail.index', 'label' => 'Audit Trail', 'icon' => 'clipboard-list', 'active' => 'admin.audit-trail.*'],
['route' => 'admin.retention.index', 'label' => 'Retention', 'icon' => 'archive', 'active' => 'admin.retention.*'],
],
],
[
'label' => 'Settings',
// 'icon' => 'adjustments',
'items' => [
['route' => 'admin.settings.index', 'label' => 'All Settings', 'icon' => 'cog', 'active' => 'admin.settings.index'],
['route' => 'admin.settings.meeting-types.index', 'label' => 'Meeting Types', 'icon' => 'rectangle-stack', 'active' => 'admin.settings.meeting-types.*'],
['route' => 'admin.settings.availability', 'label' => 'Availability', 'icon' => 'clock', 'active' => 'admin.settings.availability*'],
['route' => 'admin.settings.lead-scoring', 'label' => 'Lead Scoring', 'icon' => 'chart-bar', 'active' => 'admin.settings.lead-scoring*'],
],
],
[
'label' => 'System',
// 'icon' => 'cog',
'items' => [
['route' => 'admin.tools.index', 'label' => 'Admin Tools', 'icon' => 'cog', 'active' => 'admin.tools.*'],
['route' => 'admin.backups.index', 'label' => 'Backups', 'icon' => 'cloud-download', 'active' => 'admin.backups.*'],
['route' => 'admin.system.health', 'label' => 'Health', 'icon' => 'heart', 'active' => 'admin.system.health'],
['route' => 'admin.cache.index', 'label' => 'Cache', 'icon' => 'server', 'active' => 'admin.cache.*'],
['route' => 'admin.system.logs', 'label' => 'Logs', 'icon' => 'document-text', 'active' => 'admin.system.logs'],
['route' => 'admin.system.maintenance', 'label' => 'Maintenance', 'icon' => 'cog', 'active' => 'admin.system.maintenance'],
],
],
[
'label' => 'Import/Export',
// 'icon' => 'arrow-path',
'items' => [
['route' => 'admin.imports.index', 'label' => 'Import Data', 'icon' => 'upload', 'active' => 'admin.imports.*'],
['route' => 'admin.webhooks.index', 'label' => 'Webhooks', 'icon' => 'globe', 'active' => 'admin.webhooks.*'],
],
],
[
'label' => 'API',
// 'icon' => 'code-bracket',
'items' => [
['route' => 'admin.api-keys.index', 'label' => 'API Keys', 'icon' => 'key', 'active' => 'admin.api-keys.*'],
['route' => 'admin.api-playground.index', 'label' => 'Playground', 'icon' => 'beaker', 'active' => 'admin.api-playground.index'],
['route' => 'admin.api-playground.history', 'label' => 'Playground Logs', 'icon' => 'clock', 'active' => 'admin.api-playground.history'],
['route' => 'admin.api-sdk.index', 'label' => 'SDK Generator', 'icon' => 'cube', 'active' => 'admin.api-sdk.*'],
['route' => 'admin.api-analytics.index', 'label' => 'Analytics', 'icon' => 'chart-bar', 'active' => 'admin.api-analytics.*'],
['route' => 'admin.api-debug-logs.index', 'label' => 'Debug Logs', 'icon' => 'bug-ant', 'active' => 'admin.api-debug-logs.*'],
],
],
[
'label' => 'Documentation',
// 'icon' => 'book-open',
'items' => [
['route' => 'admin.documentation.index', 'label' => 'All Docs', 'icon' => 'document-duplicate', 'active' => 'admin.documentation.*'],
['route' => 'admin.docs.audits', 'label' => 'Audit Logs', 'icon' => 'shield-check', 'active' => 'admin.docs.audits*'],
['route' => 'admin.docs.audit-templates', 'label' => 'Audit Templates', 'icon' => 'clipboard-document-check', 'active' => 'admin.docs.audit-templates*'],
['route' => 'admin.docs.guides', 'label' => 'Dev Guides', 'icon' => 'book-open', 'active' => 'admin.docs.guides*'],
['route' => 'admin.docs.features', 'label' => 'Feature Guides', 'icon' => 'document-text', 'active' => 'admin.docs.features*'],
['route' => 'admin.docs.issues', 'label' => 'Issues', 'icon' => 'exclamation-circle', 'active' => 'admin.docs.issues'],
// ['route' => 'admin.docs.issues-resolved', 'label' => 'Issues: Resolved', 'icon' => 'check-circle', 'active' => 'admin.docs.issues-resolved*'],
['route' => 'admin.docs.marketing', 'label' => 'Marketing', 'icon' => 'megaphone', 'active' => 'admin.docs.marketing*'],
['route' => 'admin.docs.plans', 'label' => 'Plans', 'icon' => 'clipboard-list', 'active' => 'admin.docs.plans'],
// ['route' => 'admin.docs.plans-archive', 'label' => 'Plans: Archived', 'icon' => 'archive-box', 'active' => 'admin.docs.plans-archive*'],
],
],
],
],
],
/*
|--------------------------------------------------------------------------
| Portal (Client) Navigation
|--------------------------------------------------------------------------
|
| Items can have 'visible_stages' or 'hidden_stages' arrays to control
| visibility based on the client's current stage:
|
| - 'visible_stages' => ['stage1', 'stage2'] // Only show for these stages
| - 'hidden_stages' => ['stage1', 'stage2'] // Hide for these stages
|
| Stage values use ClientStage enum values (e.g., 'prospect', 'active', etc.)
|
*/
'portal' => [
[
'type' => 'link',
'route' => 'portal.dashboard',
'label' => 'Dashboard',
'active' => 'portal.dashboard',
],
// Discovery - visible only during discovery phase (pre-active)
[
'type' => 'link',
'route' => 'portal.discovery.index',
'label' => 'Discovery',
'active' => 'portal.discovery.*',
'visible_stages' => [
'prospect',
'questionnaire_pending',
'questionnaire_submitted',
'qualified',
'discovery_scheduled',
'discovery_completed',
'proposal_sent',
],
],
// Projects - visible only for active/completed clients
[
'type' => 'link',
'route' => 'portal.projects.index',
'label' => 'Projects',
'active' => 'portal.projects.*',
'visible_stages' => [
'proposal_accepted',
'active',
'completed',
'support',
],
],
// Invoices - visible only for active/completed clients
[
'type' => 'link',
'route' => 'portal.invoices.index',
'label' => 'Invoices',
'active' => 'portal.invoices.*',
'visible_stages' => [
'proposal_accepted',
'active',
'completed',
'support',
],
],
// My Jobs - visible only for active clients
[
'type' => 'link',
'route' => 'portal.jobs.index',
'label' => 'My Jobs',
'active' => 'portal.jobs.*',
'visible_stages' => [
'proposal_accepted',
'active',
'completed',
'support',
],
],
// My Meetings - visible for all client stages
[
'type' => 'link',
'route' => 'portal.meetings.index',
'label' => 'Meetings',
'active' => 'portal.meetings.*',
],
// Proposals - visible during discovery and active phases
[
'type' => 'link',
'route' => 'portal.proposals.index',
'label' => 'Proposals',
'active' => 'portal.proposals.*',
'visible_stages' => [
'proposal_sent',
'proposal_accepted',
'active',
'completed',
'support',
],
],
// Audits - visible for active/completed clients
[
'type' => 'link',
'route' => 'portal.audits.index',
'label' => 'Audits',
'active' => 'portal.audits.*',
'visible_stages' => [
'active',
'completed',
'support',
],
],
// Team - visible for active/completed clients (client admins only)
[
'type' => 'link',
'route' => 'portal.team',
'label' => 'Team',
'active' => 'portal.team.*',
'visible_stages' => [
'active',
'completed',
'support',
],
'require_client_admin' => true,
],
// Websites — visible to any user with a Website row, plan 270 §Phase 4
[
'type' => 'link',
'route' => 'portal.websites.index',
'label' => 'My Website',
'active' => 'portal.websites.*',
],
],
];