import { createRouter, createWebHistory } from 'vue-router'; import Dashboard from './views/Dashboard.vue'; import ContactManagement from './views/ContactManagement.vue'; import ProjectManagement from './views/ProjectManagement.vue'; import ProjectTaskManagement from './views/ProjectTaskManagement.vue'; import ProjectStatusManagement from './views/ProjectStatusManagement.vue'; import UserManagement from './views/UserManagement.vue'; import RoleManagement from './views/RoleManagement.vue'; import SettingsManagement from './views/SettingsManagement.vue'; import InvoiceManagement from './views/InvoiceManagement.vue'; const routes = [ { path: '/', name: 'dashboard', component: Dashboard }, { path: '/contacts', name: 'contacts', component: ContactManagement }, { path: '/projects', name: 'projects', component: ProjectManagement }, { path: '/project-tasks', name: 'project-tasks', component: ProjectTaskManagement }, { path: '/project-statuses', name: 'project-statuses', component: ProjectStatusManagement, meta: { requiresAdmin: true } }, { path: '/users', name: 'users', component: UserManagement, meta: { requiresAdmin: true } }, { path: '/roles', name: 'roles', component: RoleManagement, meta: { requiresAdmin: true } }, { path: '/settings', name: 'settings', component: SettingsManagement, meta: { requiresAdmin: true } }, // Billing Module Routes { path: '/billing/invoices', name: 'invoices', component: InvoiceManagement, meta: { requiresPermission: { module: 'billing', action: 'view' } } }, ]; const router = createRouter({ history: createWebHistory(), routes, }); export default router;