Skip to content
Snippets Groups Projects
index.ts 1.37 KiB
import { createRouter, createWebHistory } from "vue-router";
import DashboardView from "../views/DashboardView.vue";
import LoginView from "../views/LoginView.vue";

const router = createRouter({
  history: createWebHistory(import.meta.env.BASE_URL),
  routes: [
    {
      path: "/dashboard",
      name: "dashboard",
      component: DashboardView,
      children: [
        {
          path: "object-storage/buckets",
          name: "buckets",
          component: () => import("../views/object-storage/BucketsView.vue"),
          children: [
            {
              path: ":bucketName/:subFolders*",
              name: "bucket",
              component: () => import("../components/BucketView.vue"),
            },
          ],
        },
        {
          path: "object-storage/s3-keys",
          name: "s3_keys",
          // route level code-splitting
          // this generates a separate chunk (About.[hash].js) for this route
          // which is lazy-loaded when the route is visited.
          component: () => import("../views/object-storage/S3KeysView.vue"),
        },
      ],
    },
    {
      path: "/login",
      name: "login",
      component: LoginView,
    },
    {
      path: "/",
      redirect: { name: "buckets" },
    },
    {
      path: "/:pathMatch(.*)",
      component: () => import("../views/NotFoundView.vue"),
    },
  ],
});

export default router;