You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.7 KiB
86 lines
2.7 KiB
import { createRouter, createWebHistory } from "vue-router";
|
|
import EmptyLayout from "./layouts/EmptyLayout.vue";
|
|
import Layout from "./layouts/Layout.vue";
|
|
import Dashboard from "./pages/Dashboard.vue";
|
|
import DashboardHome from "./pages/DashboardHome.vue";
|
|
import Details from "./pages/Details.vue";
|
|
import EditMonitor from "./pages/EditMonitor.vue";
|
|
import List from "./pages/List.vue";
|
|
const Settings = () => import("./pages/Settings.vue");
|
|
import Setup from "./pages/Setup.vue";
|
|
const StatusPage = () => import("./pages/StatusPage.vue");
|
|
import Entry from "./pages/Entry.vue";
|
|
|
|
const routes = [
|
|
{
|
|
path: "/",
|
|
component: Entry,
|
|
},
|
|
{
|
|
// If it is "/dashboard", the active link is not working
|
|
// If it is "", it overrides the "/" unexpectedly
|
|
// Give a random name to solve the problem.
|
|
path: "/empty",
|
|
component: Layout,
|
|
children: [
|
|
{
|
|
path: "",
|
|
component: Dashboard,
|
|
children: [
|
|
{
|
|
name: "DashboardHome",
|
|
path: "/dashboard",
|
|
component: DashboardHome,
|
|
children: [
|
|
{
|
|
path: "/dashboard/:id",
|
|
component: EmptyLayout,
|
|
children: [
|
|
{
|
|
path: "",
|
|
component: Details,
|
|
},
|
|
{
|
|
path: "/edit/:id",
|
|
component: EditMonitor,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: "/add",
|
|
component: EditMonitor,
|
|
},
|
|
{
|
|
path: "/list",
|
|
component: List,
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: "/settings",
|
|
component: Settings,
|
|
},
|
|
],
|
|
},
|
|
],
|
|
},
|
|
{
|
|
path: "/setup",
|
|
component: Setup,
|
|
},
|
|
{
|
|
path: "/status-page",
|
|
component: StatusPage,
|
|
},
|
|
{
|
|
path: "/status",
|
|
component: StatusPage,
|
|
},
|
|
];
|
|
|
|
export const router = createRouter({
|
|
linkActiveClass: "active",
|
|
history: createWebHistory(),
|
|
routes,
|
|
});
|