let sub_routes = [];

const modules = import.meta.glob("./routes/*.route.js", { eager: true });
// eslint-disable-next-line no-unused-vars
Object.entries(modules).forEach(([path, definition]) => {
  sub_routes = sub_routes.concat(definition.default);
});

const routes = [
  {
    path: "/",
    component: () => import("layouts/MainLayout.vue"),
    meta: { requireAuth: true },
    children: [
      {
        path: "",
        name: "CarteirinhaPage",
        component: () => import("pages/associado/carteirinha/CarteirinhaPage.vue"),
        meta: {
          title: { value: "ui.navigation.carteirinha", translate: true },
          description: { value: "page.associado.carteirinha.description", translate: true },
          requireAuth: true,
          breadcrumbs: [{ name: "CarteirinhaPage", title: "ui.navigation.carteirinha", translate: true }],
        },
      },
      {
        path: "/versions",
        name: "SystemVersionsPage",
        component: () => import("pages/version/SystemVersionsPage.vue"),
        meta: {
          title: { value: "ui.navigation.versions", translate: true },
          description: { value: "page.versions.description", translate: true },
          requireAuth: true,
          breadcrumbs: [{ name: "SystemVersionsPage", title: "ui.navigation.versions", translate: true }],
        },
      },
      ...sub_routes,
    ],
  },
  {
    path: "/login",
    component: () => import("layouts/LoginLayout.vue"),
    children: [
      {
        path: "",
        name: "LoginPage",
        component: () => import("pages/login/LoginPage.vue"),
        meta: { title: "Login" },
      },
      {
        path: "primeiro-acesso",
        name: "FirstAccessPage",
        component: () => import("pages/login/FirstAccessPage.vue"),
        meta: { title: "Primeiro Acesso" },
      },
      {
        path: "primeiro-acesso/dados",
        name: "FirstAccessFormPage",
        component: () => import("pages/login/FirstAccessFormPage.vue"),
        meta: { title: "Primeiro Acesso" },
      },
      {
        path: "recuperar-senha",
        name: "ForgotPasswordPage",
        component: () => import("pages/login/ForgotPasswordPage.vue"),
        meta: { title: "Recuperar Senha" },
      },
      {
        path: "verificar-email",
        name: "VerifyEmailPage",
        component: () => import("pages/login/VerifyEmailPage.vue"),
        meta: { title: "Verificar E-mail" },
      },
      {
        path: "digitar-codigo",
        name: "VerifyCodePage",
        component: () => import("pages/login/VerifyCodePage.vue"),
        meta: { title: "Digitar Código" },
      },
      {
        path: "nova-senha",
        name: "ResetPasswordPage",
        component: () => import("pages/login/ResetPasswordPage.vue"),
        meta: { title: "Nova Senha" },
      },
    ],
  },

  // Always leave this as last one,
  // but you can also remove it
  {
    path: "/:catchAll(.*)*",
    component: () => import("pages/ErrorNotFound.vue"),
  },
];

export default routes;
