// src/client/pages/dashboard.routes.ts
// Routes configuration for Dashboard layout and its child routes

import type { RouteRecordRaw } from 'vue-router';
import DashboardLayout from '../widgets/DashboardLayout.vue';

// Import route configurations from each page module
import { blacklistRoutes } from './blacklist.routes';
import { contractorsRoutes } from './contractors.routes';
import { employeesRoutes } from './employees.routes';
import { equipmentRoutes } from './equipment.routes';
import { inventoryRoutes } from './inventory.routes';
import { notesRoutes } from './notes.routes';
import { paymasterRoutes } from './paymaster.routes';
import { placeholderRoutes } from './placeholder.routes';
import { roomsRoutes } from './rooms.routes';
import { scheduleRoutes } from './schedule.routes';
import { settingsRoutes } from './settings.routes';
import { tasksRoutes } from './tasks.routes';
import { accessRoutes } from './access.routes';

/**
 * Dashboard route configuration
 * Aggregates all child routes from page modules
 */
export const dashboardRoutes: RouteRecordRaw[] = [
  {
    path: '/dashboard',
    component: DashboardLayout,
    meta: { requiresAuth: true },
    children: [
      { path: '', redirect: '/dashboard/notes' },
      ...notesRoutes,
      ...scheduleRoutes,
      ...tasksRoutes,
      ...employeesRoutes,
      ...inventoryRoutes,
      ...equipmentRoutes,
      ...paymasterRoutes,
      ...settingsRoutes,
      ...roomsRoutes,
      ...blacklistRoutes,
      ...contractorsRoutes,
      ...accessRoutes,
      ...placeholderRoutes,
    ],
  },
];
