import { lazyLoadView } from '@utils/lazyloadview';

export default function createRoute({ path, icon, label, order, scopes }) {
  return {
    component: () =>
      lazyLoadView(import('@/recruits/layouts/tabbed-card-layout')),
    path,
    children: [
      {
        component: () =>
          import('@/recruits/components/departments/record/index.vue'),
        path: ':id',
        name: 'department',
        meta: {
          icon,
          label,
          // Флаг, который позволяет сделать редирект на степпер, если придёт соответствующий пуш
          hasRedirectToStepper: true,
          scopes,
        },
        redirect: { name: 'department-basic' },
        children: [
          {
            name: 'department-basic',
            component: () =>
              import('@/recruits/components/departments/record/tabs/Basic.vue'),
            path: 'basic',
            meta: {
              // Флаг, который позволяет сделать редирект на степпер, если придёт соответствующий пуш
              hasRedirectToStepper: true,
            },
          },
          {
            name: 'department-accounts',
            component: () =>
              import(
                '@/recruits/components/departments/record/tabs/Accounts.vue'
              ),
            path: 'accounts',
            meta: {},
          },
          {
            name: 'department-calendar',
            component: () =>
              import(
                '@/recruits/components/departments/record/tabs/Calendar.vue'
              ),
            path: 'calendar',
            meta: {},
          },
        ],
      },
    ],
  };
}
