Files
mek-tech-consulting/lib/nav.js
T

64 lines
2.6 KiB
JavaScript

const NAV_SECTIONS = [
{
label: 'CRM',
items: [
{ href: '/', icon: 'layout-dashboard', label: 'Dashboard', match: /^\/(\?.*)?$/ },
{ href: '/clients', icon: 'users', label: 'Cliënten', match: /^\/clients/ },
{ href: '/engagements', icon: 'briefcase', label: 'Engagements', match: /^\/engagements/ },
{ href: '/tasks', icon: 'check-circle', label: 'Taken', match: /^\/tasks/ },
{ href: '/calendar', icon: 'calendar', label: 'Agenda', match: /^\/calendar/ },
{ href: '/email', icon: 'mail', label: 'Email', match: /^\/email/ }
]
},
{
label: 'Delivery',
items: [
{ href: '/consulting', icon: 'clipboard-list', label: 'Framework', match: /^\/consulting/ },
{ href: '/assess', icon: 'file-search', label: 'Assessments', match: /^\/assess/ },
{ href: '/projects', icon: 'folder-kanban', label: 'Projecten', match: /^\/projects/ },
{ href: '/time', icon: 'clock', label: 'Uren', match: /^\/time/ },
{ href: '/invoices', icon: 'receipt', label: 'Facturen', match: /^\/invoices/ },
{ href: '/reports', icon: 'bar-chart-3', label: 'Rapporten', match: /^\/reports/ }
]
},
{
label: 'Data Engineering',
items: [
{ href: '/quality', icon: 'shield-check', label: 'Data Quality', match: /^\/quality/ },
{ href: '/architecture', icon: 'network', label: 'Architecture', match: /^\/architecture/ },
{ href: '/architecture/designer', icon: 'pen-tool', label: 'Pro Designer', match: /^\/architecture\/designer/ },
{ href: '/market', icon: 'radar', label: 'Market Intel', match: /^\/market/ },
{ href: '/sizing', icon: 'cpu', label: 'Sizing', match: /^\/sizing/ }
]
},
{
label: 'Infrastructure',
items: [
{ href: '/racks', icon: 'server', label: 'Racks', match: /^\/racks/ },
{ href: '/networking', icon: 'share-2', label: 'Netwerk', match: /^\/networking/ },
{ href: '/infrastructure', icon: 'building-2', label: 'Infra', match: /^\/infrastructure/ }
]
},
{
label: 'Platform',
items: [
{ href: '/finance', icon: 'wallet', label: 'Finance', match: /^\/finance/ },
{ href: '/ai', icon: 'sparkles', label: 'AI Providers', match: /^\/ai/ },
{ href: '/integrations', icon: 'plug', label: 'Integraties', match: /^\/integrations/ },
{ href: '/settings', icon: 'settings', label: 'Instellingen', match: /^\/settings/ }
]
}
];
function getNavSections(activePath) {
return NAV_SECTIONS.map(section => ({
...section,
items: section.items.map(item => ({
...item,
active: item.match.test(activePath || '/')
}))
}));
}
module.exports = { NAV_SECTIONS, getNavSections };