Newer
Older
import { createRouter, createWebHistory } from "vue-router";
import DashboardView from "../views/DashboardView.vue";
import LoginView from "../views/LoginView.vue";
import { workflowRoutes } from "@/router/workflowRoutes";
import { s3Routes } from "@/router/s3Routes";
import { resourceRoutes } from "@/router/resourceRoutes";
import { adminRoutes } from "@/router/adminRoutes";
import ImprintView from "@/views/ImprintView.vue";
import PrivacyPolicyView from "@/views/PrivacyPolicyView.vue";
import TermsOfUsageView from "@/views/TermsOfUsageView.vue";
const router = createRouter({
history: createWebHistory(import.meta.env.BASE_URL),
routes: [
{
path: "/dashboard",
name: "dashboard",
component: DashboardView,
children: [
...resourceRoutes,
...s3Routes,
...workflowRoutes,
...adminRoutes,
path: "/login",
name: "login",
component: LoginView,
meta: {
title: "Login",
},
props: (route) => ({
returnPath: route.query.next ?? undefined,
loginError: route.query.login_error ?? undefined,
invitationToken: route.query.invitation_token ?? undefined,
redirect: {
name: "buckets",
},
{
path: "/privacy",
name: "privacy",
meta: {
title: "Privacy Policy",
},
component: PrivacyPolicyView,
},
{
path: "/terms",
name: "terms",
meta: {
title: "Terms of Usage",
},
component: TermsOfUsageView,
},
{
path: "/imprint",
name: "imprint",
meta: {
title: "Imprint",
},
{
path: "/:pathMatch(.*)",
meta: {
title: "Error",
},
component: () => import("../views/NotFoundView.vue"),
},
router.afterEach((to) => {
if (to.meta?.title) {
document.title = to.meta.title + " - CloWM";
}
});