import type { RouteRecordRaw } from "vue-router";
import HomeView from "./views/HomeView.vue";
import LoginView from "./views/LoginView.vue";
import LogView from "./views/LogView.vue";
const ChartView = () => import("./views/ChartView.vue");
const EntityDetailView = () => import("./views/EntityDetailView.vue");
export const routes: RouteRecordRaw[] = [
{ path: "/login", component: LoginView, name: "login" },
{ path: "/", component: HomeView, name: "home" },
{ path: "/events", component: LogView, name: "events" },
{
path: "/charts",
component: ChartView,
children: [
{ path: "", redirect: "/charts/port" },
{
path: "port",
component: () => import("./views/PortChart.vue"),
name: "charts-port",
},
{
path: "map",
component: () => import("./views/MapChart.vue"),
name: "charts-map",
},
{
path: "activity",
component: () => import("./views/ActivityChart.vue"),
name: "charts-activity",
},
],
},
{
path: "/stats",
component: () => import("./views/StatsView.vue"),
name: "stats",
},
{ path: "/ip/:ip", component: EntityDetailView, name: "ip" },
{ path: "/ip/:ip/:mask", component: EntityDetailView, name: "subnet" },
{ path: "/port/:port", component: EntityDetailView, name: "port" },
{
path: "/city/:value",
component: EntityDetailView,
props: { type: "city" },
name: "city",
},
{
path: "/country/:value",
component: EntityDetailView,
props: { type: "country" },
name: "country",
},
{
path: "/asn/:value",
component: EntityDetailView,
props: { type: "asn" },
name: "asn",
},
{
path: "/domain/:value",
component: EntityDetailView,
props: { type: "domain" },
name: "domain",
},
{
path: "/fqdn/:value",
component: EntityDetailView,
props: { type: "fqdn" },
name: "fqdn",
},
{
path: "/honeypot/:honeypot",
component: EntityDetailView,
name: "honeypot",
},
];