2021-09-12 17:23:51 +00:00
|
|
|
import { createRouter, createWebHistory } from "vue-router";
|
2022-06-05 15:43:25 +00:00
|
|
|
|
2021-09-12 17:23:51 +00:00
|
|
|
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";
|
2022-01-23 14:22:00 +00:00
|
|
|
import EditMaintenance from "./pages/EditMaintenance.vue";
|
2021-09-12 17:23:51 +00:00
|
|
|
import List from "./pages/List.vue";
|
2021-09-29 16:16:15 +00:00
|
|
|
const Settings = () => import("./pages/Settings.vue");
|
2021-09-12 17:23:51 +00:00
|
|
|
import Setup from "./pages/Setup.vue";
|
2022-06-05 15:43:25 +00:00
|
|
|
import StatusPage from "./pages/StatusPage.vue";
|
2021-09-23 05:57:24 +00:00
|
|
|
import Entry from "./pages/Entry.vue";
|
2022-06-05 15:43:25 +00:00
|
|
|
import ManageStatusPage from "./pages/ManageStatusPage.vue";
|
|
|
|
import AddStatusPage from "./pages/AddStatusPage.vue";
|
|
|
|
import NotFound from "./pages/NotFound.vue";
|
2022-09-17 14:00:11 +00:00
|
|
|
import DockerHosts from "./components/settings/Docker.vue";
|
|
|
|
import MaintenanceDetails from "./pages/MaintenanceDetails.vue";
|
|
|
|
import ManageMaintenance from "./pages/ManageMaintenance.vue";
|
2023-02-26 18:07:57 +00:00
|
|
|
import APIKeys from "./components/settings/APIKeys.vue";
|
2023-02-11 06:41:02 +00:00
|
|
|
import SetupDatabase from "./pages/SetupDatabase.vue";
|
2021-09-12 17:23:51 +00:00
|
|
|
|
2022-06-05 15:43:25 +00:00
|
|
|
// Settings - Sub Pages
|
2021-11-03 09:03:40 +00:00
|
|
|
import Appearance from "./components/settings/Appearance.vue";
|
|
|
|
import General from "./components/settings/General.vue";
|
2022-06-05 15:43:25 +00:00
|
|
|
const Notifications = () => import("./components/settings/Notifications.vue");
|
2022-03-29 17:49:45 +00:00
|
|
|
import ReverseProxy from "./components/settings/ReverseProxy.vue";
|
2022-05-26 08:52:18 +00:00
|
|
|
import Tags from "./components/settings/Tags.vue";
|
2021-11-03 09:03:40 +00:00
|
|
|
import MonitorHistory from "./components/settings/MonitorHistory.vue";
|
2022-06-05 15:43:25 +00:00
|
|
|
const Security = () => import("./components/settings/Security.vue");
|
2021-10-30 17:37:15 +00:00
|
|
|
import Proxies from "./components/settings/Proxies.vue";
|
2021-11-03 09:03:40 +00:00
|
|
|
import About from "./components/settings/About.vue";
|
2023-12-01 07:29:10 +00:00
|
|
|
import RemoteBrowsers from "./components/settings/RemoteBrowsers.vue";
|
2021-11-03 09:03:40 +00:00
|
|
|
|
2021-09-12 17:23:51 +00:00
|
|
|
const routes = [
|
|
|
|
{
|
|
|
|
path: "/",
|
2021-09-23 05:57:24 +00:00
|
|
|
component: Entry,
|
|
|
|
},
|
|
|
|
{
|
2021-09-24 07:00:52 +00:00
|
|
|
// 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",
|
2021-09-12 17:23:51 +00:00
|
|
|
component: Layout,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
path: "",
|
|
|
|
component: Dashboard,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
name: "DashboardHome",
|
2021-09-24 07:00:52 +00:00
|
|
|
path: "/dashboard",
|
2021-09-12 17:23:51 +00:00
|
|
|
component: DashboardHome,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
path: "/dashboard/:id",
|
|
|
|
component: EmptyLayout,
|
|
|
|
children: [
|
|
|
|
{
|
|
|
|
path: "",
|
|
|
|
component: Details,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/edit/:id",
|
|
|
|
component: EditMonitor,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
2024-10-04 12:33:21 +00:00
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/add",
|
|
|
|
component: EditMonitor,
|
|
|
|
children: [
|
2023-02-25 08:20:59 +00:00
|
|
|
{
|
|
|
|
path: "/clone/:id",
|
|
|
|
component: EditMonitor,
|
|
|
|
},
|
2024-10-04 12:33:21 +00:00
|
|
|
]
|
2021-09-12 17:23:51 +00:00
|
|
|
},
|
2022-06-14 14:43:44 +00:00
|
|
|
{
|
|
|
|
path: "/list",
|
|
|
|
component: List,
|
|
|
|
},
|
2021-09-12 17:23:51 +00:00
|
|
|
{
|
|
|
|
path: "/settings",
|
|
|
|
component: Settings,
|
2021-11-03 09:03:40 +00:00
|
|
|
children: [
|
|
|
|
{
|
|
|
|
path: "general",
|
|
|
|
component: General,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "appearance",
|
|
|
|
component: Appearance,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "notifications",
|
|
|
|
component: Notifications,
|
|
|
|
},
|
2022-03-29 17:49:45 +00:00
|
|
|
{
|
|
|
|
path: "reverse-proxy",
|
|
|
|
component: ReverseProxy,
|
|
|
|
},
|
2022-05-26 08:52:18 +00:00
|
|
|
{
|
|
|
|
path: "tags",
|
|
|
|
component: Tags,
|
|
|
|
},
|
2021-11-03 09:03:40 +00:00
|
|
|
{
|
|
|
|
path: "monitor-history",
|
|
|
|
component: MonitorHistory,
|
|
|
|
},
|
2022-07-24 12:34:43 +00:00
|
|
|
{
|
|
|
|
path: "docker-hosts",
|
|
|
|
component: DockerHosts,
|
|
|
|
},
|
2023-12-01 07:29:10 +00:00
|
|
|
{
|
|
|
|
path: "remote-browsers",
|
|
|
|
component: RemoteBrowsers,
|
|
|
|
},
|
2021-11-03 09:03:40 +00:00
|
|
|
{
|
|
|
|
path: "security",
|
|
|
|
component: Security,
|
|
|
|
},
|
2023-02-26 18:07:57 +00:00
|
|
|
{
|
|
|
|
path: "api-keys",
|
|
|
|
component: APIKeys,
|
|
|
|
},
|
2021-10-30 17:37:15 +00:00
|
|
|
{
|
|
|
|
path: "proxies",
|
|
|
|
component: Proxies,
|
|
|
|
},
|
2021-11-03 09:03:40 +00:00
|
|
|
{
|
|
|
|
path: "about",
|
|
|
|
component: About,
|
|
|
|
},
|
|
|
|
]
|
2021-09-12 17:23:51 +00:00
|
|
|
},
|
2022-03-10 13:34:30 +00:00
|
|
|
{
|
|
|
|
path: "/manage-status-page",
|
|
|
|
component: ManageStatusPage,
|
|
|
|
},
|
2022-03-15 04:00:29 +00:00
|
|
|
{
|
|
|
|
path: "/add-status-page",
|
|
|
|
component: AddStatusPage,
|
|
|
|
},
|
2022-09-17 14:00:11 +00:00
|
|
|
{
|
|
|
|
path: "/maintenance",
|
|
|
|
component: ManageMaintenance,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/maintenance/:id",
|
|
|
|
component: MaintenanceDetails,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/add-maintenance",
|
|
|
|
component: EditMaintenance,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/maintenance/edit/:id",
|
|
|
|
component: EditMaintenance,
|
|
|
|
},
|
2021-09-12 17:23:51 +00:00
|
|
|
],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
},
|
|
|
|
{
|
|
|
|
path: "/setup",
|
|
|
|
component: Setup,
|
|
|
|
},
|
2023-02-11 06:41:02 +00:00
|
|
|
{
|
|
|
|
path: "/setup-database",
|
|
|
|
component: SetupDatabase,
|
|
|
|
},
|
2021-09-14 06:19:23 +00:00
|
|
|
{
|
|
|
|
path: "/status-page",
|
|
|
|
component: StatusPage,
|
|
|
|
},
|
2021-09-25 14:44:29 +00:00
|
|
|
{
|
|
|
|
path: "/status",
|
|
|
|
component: StatusPage,
|
|
|
|
},
|
2022-03-10 13:34:30 +00:00
|
|
|
{
|
|
|
|
path: "/status/:slug",
|
|
|
|
component: StatusPage,
|
|
|
|
},
|
2022-03-25 18:09:12 +00:00
|
|
|
{
|
|
|
|
path: "/:pathMatch(.*)*",
|
|
|
|
component: NotFound,
|
|
|
|
},
|
2021-09-14 06:19:23 +00:00
|
|
|
];
|
2021-09-12 17:23:51 +00:00
|
|
|
|
|
|
|
export const router = createRouter({
|
|
|
|
linkActiveClass: "active",
|
|
|
|
history: createWebHistory(),
|
|
|
|
routes,
|
|
|
|
});
|