feat: phase 1C JWT UI, events/hosts API, Vue frontend

This commit is contained in:
PTah
2026-05-26 21:46:34 +10:00
parent d8a8329397
commit bdfc7016e6
27 changed files with 2498 additions and 23 deletions
+25
View File
@@ -0,0 +1,25 @@
import { createRouter, createWebHistory } from "vue-router";
import { getToken } from "./api";
import EventsView from "./views/EventsView.vue";
import EventDetailView from "./views/EventDetailView.vue";
import HostsView from "./views/HostsView.vue";
import LoginView from "./views/LoginView.vue";
const router = createRouter({
history: createWebHistory(),
routes: [
{ path: "/", redirect: "/events" },
{ path: "/login", component: LoginView },
{ path: "/events", component: EventsView },
{ path: "/events/:id", component: EventDetailView, props: true },
{ path: "/hosts", component: HostsView },
],
});
router.beforeEach((to) => {
if (to.path === "/login") return true;
if (!getToken()) return { path: "/login" };
return true;
});
export default router;